You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
31 lines
750 B
31 lines
750 B
include "spec/spec.td"
|
|
|
|
class TypeDecl<string name> {
|
|
string Name = name;
|
|
string Decl = "";
|
|
}
|
|
|
|
class MacroDef<string name> {
|
|
string Name = name;
|
|
string Defn = "";
|
|
}
|
|
|
|
class SimpleMacroDef<string name, string value> : MacroDef<name> {
|
|
let Defn = !strconcat("#define ", name, " ", value);
|
|
}
|
|
|
|
class MacroDefineIfNot<string name, string value> : MacroDef<name> {
|
|
let Defn = !strconcat("#ifndef ", name, "\n",
|
|
"#define " , name, " ", value, "\n",
|
|
"#endif // ", name);
|
|
}
|
|
|
|
class PublicAPI<string name> {
|
|
string HeaderName = name;
|
|
list<MacroDef> Macros = [];
|
|
list<TypeDecl> TypeDeclarations = [];
|
|
list<string> Enumerations = [];
|
|
list<string> Structs = [];
|
|
list<string> Functions = [];
|
|
}
|