155 lines
5.1 KiB
Lua
155 lines
5.1 KiB
Lua
|
|
local struct = require "Structure"
|
|
local common = require "CommonStruct"
|
|
|
|
local my_struct =
|
|
{
|
|
{ type="file", style="header", name="GetFilename",
|
|
{ type="write", name="FilePreamble", optional=true} ,
|
|
{ type="block", name="IncludeGuard(hFile, spec, options)",
|
|
{ type="blank"},
|
|
{ type="write", name="Init(hFile, spec, options)", },
|
|
{ type="blank"},
|
|
{ type="write", name="StdTypedefs(hFile, specData, options)",},
|
|
{ type="blank"},
|
|
{ type="write", name="SpecTypedefs(hFile, specData, options)",},
|
|
{ type="blank"},
|
|
{ type="block", name="Decl(hFile, spec, options)",
|
|
{ type="block", name="ExtVarDecl(hFile, spec, options)",
|
|
{ type="ext-iter",
|
|
{ type="write", name="ExtVariableDecl(hFile, extName, specData, spec, options)" },
|
|
{ type="blank", last=true },
|
|
},
|
|
},
|
|
{ type="block", name="EnumDecl(hFile, spec, options)",
|
|
{ type="enum-seen",
|
|
{ type="ext-iter",
|
|
{type="enum-iter",
|
|
{ type="write", name="EnumDecl(hFile, enum, enumTable, spec, options, enumSeen)", },
|
|
{ type="blank", last=true },
|
|
},
|
|
},
|
|
{ type="version-iter",
|
|
{type="enum-iter",
|
|
{ type="write", name="EnumDecl(hFile, enum, enumTable, spec, options, enumSeen)", },
|
|
{ type="blank", last=true },
|
|
},
|
|
},
|
|
},
|
|
},
|
|
{ type="blank"},
|
|
{ type="block", name="FuncPtrDecl(hFile, spec, options)",
|
|
{ type="func-seen",
|
|
{ type="ext-iter",
|
|
{ type="block", name="ExtFuncPtrDecl(hFile, extName, spec, options)", cond="func-iter",
|
|
{type="func-iter",
|
|
{ type="write", name="FuncPtrDecl(hFile, func, spec, options, funcSeen)", },
|
|
},
|
|
},
|
|
{ type="blank"},
|
|
},
|
|
{ type="version-iter",
|
|
{type="func-iter",
|
|
{ type="write", name="FuncPtrDecl(hFile, func, spec, options, funcSeen)", },
|
|
{ type="blank", last=true },
|
|
},
|
|
},
|
|
},
|
|
},
|
|
{ type="blank"},
|
|
{ type="block", name="FuncDecl(hFile, spec, options)",
|
|
{ type="func-seen",
|
|
{ type="ext-iter",
|
|
{ type="block", name="ExtFuncDecl(hFile, extName, spec, options)", cond="func-iter",
|
|
{type="func-iter",
|
|
{ type="write", name="FuncDecl(hFile, func, spec, options, funcSeen)", },
|
|
},
|
|
},
|
|
{ type="blank"},
|
|
},
|
|
{ type="version-iter",
|
|
{type="func-iter",
|
|
{ type="write", name="FuncDecl(hFile, func, spec, options, funcSeen)", },
|
|
{ type="blank", last=true },
|
|
},
|
|
},
|
|
},
|
|
},
|
|
{ type="blank"},
|
|
{ type="block", name="SysDecl(hFile, spec, options)",
|
|
{ type="write", name="UtilityDecls(hFile, spec, options)",},
|
|
{ type="blank" },
|
|
{ type="write", name="MainLoaderFuncDecl(hFile, spec, options)",},
|
|
{ type="blank" },
|
|
{ type="write", name="VersioningFuncDecls(hFile, spec, options)",},
|
|
{ type="blank" },
|
|
},
|
|
},
|
|
},
|
|
},
|
|
{ type="file", style="source", name="GetFilename",
|
|
{ type="write", name="FilePreamble", optional=true} ,
|
|
{ type="write", name="Includes(hFile, basename, spec, options)",},
|
|
{ type="blank"},
|
|
{ type="write", name="LoaderData(hFile, spec, options)",},
|
|
{ type="blank"},
|
|
{ type="block", name="Def(hFile, spec, options)",
|
|
{ type="block", name="ExtVarDef(hFile, spec, options)",
|
|
{ type="ext-iter",
|
|
{ type="write", name="ExtVariableDef(hFile, extName, specData, spec, options)",},
|
|
{ type="blank", last=true},
|
|
},
|
|
},
|
|
{ type="blank"},
|
|
{ type="block", name="PtrDefs(hFile, spec, options)",
|
|
{ type="func-seen",
|
|
{ type="ext-iter",
|
|
{ type="block", name="ExtFuncPtrDef(hFile, extName, spec, options)", cond="func-iter",
|
|
{ type="func-iter",
|
|
{ type="write", name="FuncPtrDef(hFile, func, spec, options, funcSeen)", },
|
|
},
|
|
{ type="blank"},
|
|
{ type="block", name="ExtLoader(hFile, extName, spec, options)",
|
|
{ type="func-iter",
|
|
{ type="write", name="ExtFuncLoader(hFile, func, spec, options)", }
|
|
}
|
|
},
|
|
{ type="blank"},
|
|
},
|
|
},
|
|
{ type="block", name="CoreFuncPtrDef(hFile, spec, options)",
|
|
cond="core-funcs",
|
|
{ type="version-iter",
|
|
{type="func-iter",
|
|
{ type="write", name="FuncPtrDef(hFile, func, spec, options, funcSeen)", },
|
|
{ type="blank", last=true },
|
|
},
|
|
},
|
|
{ type="block", name="CoreLoader(hFile, spec, options)",
|
|
{ type="version-iter",
|
|
{type="func-iter",
|
|
{ type="write", name="CoreFuncLoader(hFile, func, spec, options)", },
|
|
},
|
|
},
|
|
},
|
|
{ type="blank"},
|
|
},
|
|
{ type="write", name="ExtStringFuncDef(hFile, specData, spec, options, funcSeen)"},
|
|
},
|
|
},
|
|
{ type="blank"},
|
|
{ type="block", name="SysDef(hFile, spec, options)",
|
|
{ type="write", name="UtilityDefs(hFile, specData, spec, options)",},
|
|
{ type="blank" },
|
|
{ type="write", name="MainLoaderFunc(hFile, specData, spec, options)",},
|
|
{ type="blank" },
|
|
{ type="write", name="VersioningFuncs(hFile, specData, spec, options)", cond="version-iter"},
|
|
{ type="blank", cond="version-iter" },
|
|
},
|
|
},
|
|
},
|
|
}
|
|
|
|
my_struct = struct.BuildStructure(my_struct)
|
|
return my_struct
|