字符串匹配问题(我可以优先排序吗?)

时间:2009-12-03 03:38:20

标签: antlr antlr3

我有一个(严格指定的)要求,我认识到某些关键字,但也有“任何字符串”的规定......

例如,在输入“让我们有一个”我必须处理==“啤酒”,==“咖喱”和==其他任何东西(理论上,关键词啤酒和咖喱优先于所有其他字符串)。

当我尝试定义这个时,当然,我得到了

Decision can match input such as "'curry" using multiple alternatives: 2, 3
As a result, alternative(s) 3 were disabled for that input

我想这是一个st00pid n00b常见问题解答,但没有看到明显的答案。任何帮助都感激不尽......

1 个答案:

答案 0 :(得分:1)

您需要应用一些您正在学习的语法消歧技术(如果这是作业)。一般来说,您添加一个消除语法歧义的附加规则。

你可以做的另一个特定的事情是在处理差异的规则中添加一个动作。

如果你发布antlr代码,我可能会提供更多帮助问题