假设我有一个包含下列令牌的语法:
AND : 'AND' | 'and' | '&&' | '&';
OR : 'OR' | 'or' | '||' | '|' ;
NOT : 'NOT' | 'not' | '~' | '!';
当我使用TreeViewer可视化ParseTree或使用tree.toStringTree()打印树时,每个节点的文本都与匹配的内容相同。
因此,如果我解析"A and B or C",那么两个二元运算符将是"and" / "or"。 如果我解析"A && B || C",它们将是"&&" / "||"。
我希望无论匹配了什么文字符号,它们始终为"AND" / "OR" / "NOT"。这是否可能?
toStringTree
只是一个调试功能,你可以在自己的代码中随意操作。我真的不明白你的问题是什么。也许是“XY问题”?(http://meta.stackexchange.com/questions/66377/what-is-the-xy-problem) - Lucas Trzesniewski