xo-expression2/idl/SymbolTable.json5

61 lines
1.8 KiB
Text

{
mode: "facet",
output_cpp_dir: "src/expression2",
includes: [
"\"Binding.hpp\"",
"\"DUniqueString.hpp\""
],
// extra includes in SymbolTable.hpp, if any
user_hpp_includes: [],
namespace1: "xo",
namespace2: "scm",
// text after includes, before ASymbolTable
pretext: [ "// {pretext} here" ],
facet: "SymbolTable",
detail_subdir: "symtab",
brief: "symbol table derived from a set of schematika expressions",
using_doxygen: true,
doc: [
"Map symbols to schematika expressions. Output of schematika parser"
],
types: [
// { name: string, doc: [ string ], definition: string },
],
const_methods: [
{
// bool is_global_symtab() const noexcept;
name: "is_global_symtab",
doc: ["true iff this is toplevel (global) symbol table."],
return_type: "bool",
args: [],
const: true,
noexcept: true,
attributes: [],
},
{
// Binding lookup_binding(const DUniqueString * sym) const noexcept;
name: "lookup_binding",
doc: ["report ingredients needed to address variable at runtime."],
return_type: "Binding",
args: [
{type: "const DUniqueString *", name: "sym"},
],
const: true,
noexcept: true,
attributes: [],
},
// //
// obj<AExpression> lookup_var(const DUniqueString * sym) const noexcept;
// //
// obj<AExpression> lookup_local(const DUniqueString * sym) const noexcept;
],
nonconst_methods: [
// // Variable gives both {name, type}
// void upsert_local(DVariable * target) = 0;
],
router_facet_explicit_content: [ ],
}