看看这个:http ://www.verilog.com/VerilogBNF.html
UNARY_OPERATOR 和 BINARY_OPERATOR 作为标记重叠。OUTPUT_SYMBOL 和 LEVEL_SYMBOL 也是如此。我确定还有其他人。
我的标记器 (lex) 没有任何上下文,也不知道它应该返回 UNARY_OPERATOR 还是 BINARY_OPERATOR。
如果这些标记(UNARY_OPERATOR 和 BINARY_OPERATOR)没有被 lex 规则标记,我可以将它们写入解析器(yacc)语法。
我遇到的问题是 OUTPUT_SYMBOL 和 LEVEL_SYMBOL,我无法为此编写解析器语法,因为有时它们会被标记器匹配为 IDENTIFIERS。
我希望我很清楚