如何在使用野牛

时间:2016-05-22 22:12:16

标签: bison flex-lexer

我在Ubuntu上使用Bison创建了一个解析器。

解析器正在成功检查语法, 但我无法在不正确的位置或未声明的变量中打印令牌,因为我的lex文件只是根据我制作的正则表达式传递令牌。

例如:

我为标识符制作了正则表达式,包括关键字列表。 当扫描程序找到匹配的令牌时,扫描程序将令牌返回给解析器。在yacc文件中,可以给它一个令牌,该扫描器传递给解析器。

在扫描程序中,没有正确的符号表示错误符号(例如,在ints val=1;ints的使用不正确;扫描程序刚刚传递了该字符串。)

因此无法将错误的符号传递给解析器。

我让Parser检查输入源代码是否正确, 但它不能打印不正确的符号(或未声明的变量)。

我可以使用任何功能或参数吗?

0 个答案:

没有答案