Parsing 如何在yacc中解释此规则&引用;::&引用;{yy列+;=yyleng;返回(TYPESEPnumber);}

Parsing 如何在yacc中解释此规则&引用;::&引用;{yy列+;=yyleng;返回(TYPESEPnumber);},parsing,yacc,lex,Parsing,Yacc,Lex,我必须修复一个用yacc(解析器生成器)编写的程序,与提供的文件“lexer.l”一起工作,以创建一个小型解释器(我不能对lexer.l进行任何更改)。我在lexer.l文件中发现了这一行,我不知道如何解释它 以下是未知的规则 %% "::" { yycolumn + = yyleng; return (TYPESEPnumber); } %% 有人能帮我了解一下:“在这种情况下是如何工作的吗? 因此,以下测试程序应有效: 程序xx是 { } 如果测试文件像这样简单,我可以使我的yacc解

我必须修复一个用yacc(解析器生成器)编写的程序,与提供的文件“lexer.l”一起工作,以创建一个小型解释器(我不能对lexer.l进行任何更改)。我在lexer.l文件中发现了这一行,我不知道如何解释它

以下是未知的规则

%%

"::" { yycolumn + = yyleng; return (TYPESEPnumber); }

%%
有人能帮我了解一下
:“
在这种情况下是如何工作的吗? 因此,以下测试程序应有效: 程序xx是 {

}

如果测试文件像这样简单,我可以使我的yacc解释器工作文件:

int a;

a = 5;

etc etc..
但不是在我的测试文件中的这几行中。帮助
谢谢大家!

这意味着令牌
作为
TYPESEPnumber
发送到解析器。(我不知道为什么有人会在令牌id的末尾添加
number

因此,我希望解析器序言包括:

%token TYPESEPnumber "::"
还有一部像这样的作品

declaration: ID "::" type ';'
(一些教授不使用bison的便捷语法将笨拙的标记标识符别名化为易于理解的引用字符串。但它使语法更易于阅读。)

declaration: ID "::" type ';'