我試圖編寫一些特定格式的消息的編譯器。 如果我把它簡化我的問題是:如何解決在javacc中的相同標記開始的兩個選擇之間的衝突
< WORD : ([LETTER]){2,5}>
< ANOTHER_WORD : (<LETTER>|<DIGIT>){1,5}>
< SPECIAL_WORLD : "START">
void grammar():
{
}
{
<WORD><ANOTHER_WORD>
| <SPECIAL_WORD><ANOTHER_WORD>
}
這裏我特別的詞總是一致的WORD這是合乎邏輯的,當然,但由於衝突是在生產的開始,我不知道如何解決它。 一些幫助,將不勝感激。
在第一行中,應該將[[LETTER]]設爲''? –