如何在解析器中包含方法声明,常量,函数调用的计数?

时间:2012-05-29 00:48:51

标签: parsing parser-generator jflex

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

1 个答案:

答案 0 :(得分:1)

...解决 我把它们放在动作代码中并在那里初始化