【发布时间】:2015-08-14 10:49:35
【问题描述】:
我正在尝试为某些特定格式的消息编写编译器。 如果我简化它,我的问题是:
< WORD : ([LETTER]){2,5}>
< ANOTHER_WORD : (<LETTER>|<DIGIT>){1,5}>
< SPECIAL_WORLD : "START">
void grammar():
{
}
{
<WORD><ANOTHER_WORD>
| <SPECIAL_WORD><ANOTHER_WORD>
}
这里我的特殊词总是作为一个词匹配,这当然是合乎逻辑的,但由于冲突发生在生产的开始,我不知道如何解决它。 一些帮助将不胜感激。
【问题讨论】:
-
在第一行,
[LETTER]应该是<LETTER>吗?
标签: compiler-construction lexer javacc