我这样做是:
/* regular definitions */
DECLARATIONS declarations
ENDDECLARATIONS (enddeclarations)
INT (int)
METHOD (method)
PROGRAM (program)
并且
{DECLARATIONS} {yycolumn+=yyleng;return (DECLARATIONSnum);}
认识到它,但我发现它们不被认可.....如果我这样做:
"declarations" {yycolumn+=yyleng;return (DECLARATIONSnum);}
有效。我真的不明白为什么......
示例输入如下:
program p2;
class Test {
method void main()
declarations
int x;
目前就像是:
program p2
5 1 SEMInum
class Test
6 1 LBRACEnum
method void main
7 1 LPARENnum
程序,类应该被识别为保留字,但它们不被识别....
答案 0 :(得分:4)
DECLARATION declarations
奇异
{DECLARATIONS} {yycolumn+=yyleng;return (DECLARATIONSnum);}
复数