全局变量是在野牛中返回构建AST的唯一方法吗?

时间:2017-04-02 12:40:59

标签: parsing global-variables bison abstract-syntax-tree

要返回完全构建的AST,我被告知我应该使用一个全局变量来存储它:

%{

AST::Root* root;

%}

%start program

%%

program:
    ...            { $$ = root = new AST::Root(...) }
    ...
    ;

但这是唯一的方法吗?或者有更好的方法,可能是直接从yyparse()返回AST的方法吗?

1 个答案:

答案 0 :(得分:1)

您可以使用%parse-paramyyparse()添加其他参数。有descrition