【发布时间】:2015-11-26 18:22:53
【问题描述】:
我已经写了一个 flex/Bison 语法,它可以完美地工作到某个点。 但是当我使用新的语法规则添加一个新的非终端时 - 无论是哪一个,我都会收到以下警告:警告:语法规则无用 [-Wother]
当我将相同的规则移动到不同的非终端时,它工作正常。 好像我不能再添加任何非终端了。
这是代码中不起作用的部分:
%type<number> expression
%type<arr> array
array:
'[' expression ']' { cout << "SUCCESS" << endl; }
;
expression:
NUMBER { $$ = $1; }
;
所有类型都在联合中预定义,我一直在尝试更改规则/非终端顺序。没有任何效果。 请帮忙,因为我不知道是什么问题!
【问题讨论】:
-
那个片段显然是有效的。请编辑您的问题以包含足够多的规则,以便野牛会产生警告消息。
标签: bison yacc flex-lexer