javacc中的贪婪比赛

时间:2013-01-31 12:28:47

标签: javacc

是否可以选择让javacc贪婪地匹配一些令牌?

我正在尝试像这样定义一个实体:

<CURLED:     "{" (<CHAR>)+ "}">

我想要的是序列:

a. {HELLO}
b. {HELLO} {WORLD}
c. {HELLO} {OUR} {WORLD}

被正确解析,javacc将单独使用大括号中的标记。

默认情况下,javacc尝试使最长匹配成为可能,以便案例b和c最终被解析为:

b. HELLO} {WORLD
c. HELLO} {OUR} {WORLD

我错过了一些明显的东西吗?

1 个答案:

答案 0 :(得分:0)

好的,我通过不允许在CURLED标记定义中出现“{”字符来解决问题。这种排除是用〜[“{”]完成的。