Extract commonly used Parser code to new Parser component

This commit is contained in:
Jan 2021-03-08 20:06:34 +01:00
parent d96f813e73
commit 8d9080066f
39 changed files with 54 additions and 3 deletions

View File

@ -85,6 +85,7 @@ group ""
include "src/Common.lua"
include "src/Crypto.lua"
include "src/Linker.lua"
include "src/Parser.lua"
include "src/Unlinker.lua"
include "src/Utils.lua"
include "src/ZoneCode.lua"
@ -102,6 +103,7 @@ include "src/ObjWriting.lua"
group "Components"
Common:project()
Crypto:project()
Parser:project()
Utils:project()
ZoneCode:project()
ZoneCodeGeneratorLib:project()

47
src/Parser.lua Normal file
View File

@ -0,0 +1,47 @@
Parser = {}
function Parser:include(includes)
if includes:handle(self:name()) then
includedirs {
path.join(ProjectFolder(), "Parser")
}
Utils:include(includes)
end
end
function Parser:link(links)
links:add(self:name())
links:linkto(Utils)
end
function Parser:use()
end
function Parser:name()
return "Parser"
end
function Parser:project()
local folder = ProjectFolder()
local includes = Includes:create()
project(self:name())
targetdir(TargetDirectoryLib)
location "%{wks.location}/src/%{prj.name}"
kind "StaticLib"
language "C++"
files {
path.join(folder, "Parser/**.h"),
path.join(folder, "Parser/**.cpp")
}
vpaths {
["*"] = {
path.join(folder, "Parser")
}
}
self:include(includes)
end

View File

@ -5,12 +5,14 @@ function ZoneCodeGeneratorLib:include(includes)
includedirs {
path.join(ProjectFolder(), "ZoneCodeGeneratorLib")
}
Parser:include(includes)
Utils:include(includes)
end
end
function ZoneCodeGeneratorLib:link(links)
links:add(self:name())
links:linkto(Parser)
links:linkto(Utils)
end

View File

@ -2,8 +2,6 @@
#include <string>
#include "Domain/Evaluation/OperationType.h"
#include "Parsing/IParserValue.h"
#include "Utils/ClassUtils.h"

View File

@ -13,9 +13,10 @@ end
function ZoneCommon:link(links)
links:add(self:name())
links:linkto(Utils)
links:linkto(Common)
links:linkto(ObjCommon)
links:linkto(Parser)
links:linkto(Utils)
end
function ZoneCommon:use()
@ -42,4 +43,5 @@ function ZoneCommon:project()
}
self:include(includes)
Parser:include(includes)
end