我正在为类似于 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?