我正在为类似于java的语言实现解析器,但更简单。我写了一个词法分析器,现在正在编写解析器。我已经编写了语法,我需要实现元素的计数,但我不知道如何把它。我认为它应该在制作后的动作代码中,但我不知道是要初始化它。
例如
MethodDecl ::= ReturnType:type IDENTIFIER:id LPAREN FormParsOp:pars RPAREN VarDeclListOp LBRACE StatementListOp RBRACE
{: System.out.println("Method: " + type + " " + id + "(" + pars + ")"); methodNumber++;:}
| STATIC ReturnType:type IDENTIFIER:id LPAREN FormParsOp:pars RPAREN VarDeclListOp LBRACE StatementListOp RBRACE
{: System.out.println("Static method: " + type + " " + id + "(" + pars + ")"); staticMethodNumber++;:} ;
我应该在哪里定义和初始化变量methodNumber和staticMethodNumber?
答案 0 :(得分:1)
...解决 我把它们放在动作代码中并在那里初始化