diff --git a/parse.leg b/parse.leg index a92f61b..fd47472 100644 --- a/parse.leg +++ b/parse.leg @@ -1679,6 +1679,8 @@ oop evalArgs(oop scope, oop args) return params; } +oop AST= NULL; + int main(int argc, char **argv) { # if (USE_GC) @@ -1718,6 +1720,14 @@ int main(int argc, char **argv) DO_PROTOS() #undef _DO + AST = makeMap(); + map_set(globals, intern("AST"), AST); + #define _DO(NAME) map_set(AST, NAME##_symbol, NAME##_proto); + DO_PROTOS() + #undef _DO + + println(AST); + while (yyparse()) { if (!yylval) break; // EOF if (opt_v) println(yylval);