我有一些令人困惑的问题让我陷入循环,请帮助我理解它们。
如果我有两个文件,一个是
.y
解析器文件,第二个是.l
词法分析器,我可以yytext
在解析器文件中使用,我应该定义yylex
那里使用它吗?如果我想更改默认
yyerror
函数,我应该在声明部分的解析器文件中声明它吗?如果在 lex 文件中,我向解析器返回一个令牌,如下所示:
[0-9] 返回数字;什么是传递给解析器的 DIGIT 找到的数字或只是没有 DIGIT 的数字本身?
我如何
yylineno
在解析器文件中使用,因为我需要解析器使用yylineno
并告诉错误发生在哪里以及是什么令牌导致的?当我编写这样的规则时,在解析器文件中:
exp -> exp |/空/
是一样的吗
exp ->/*empty*/ |exp
我感谢任何可以帮助我解决这些问题的人,因为他们让我感到困惑,在此先感谢