Как исправить «конфликт между двумя расширениями» на javaCC - PullRequest
0 голосов
/ 24 апреля 2019

У меня проблема с генератором парсера (с javaCC)

У меня есть эта ошибка:

Warning: Choice conflict involving two expansions at
     line 119, column 3 and line 119, column 43 respectively.
     A common prefix is: <CONSTANT>
     Consider using a lookahead of 2 for earlier expansion.
Warning: Choice conflict involving two expansions at
         line 119, column 3 and line 119, column 43 respectively.
         A common prefix is: <CONSTANT>
         Consider using a lookahead of 2 for earlier expansion.

из-за этой части моего кода:

TOKEN : /* OPERATORS */
{
  < POINT : "." >
| < VIRGULE : "," >
}

TOKEN :
{
  < CONSTANT : (< DIGIT >)+ >
| < STRING : ( ["A"-"Z","a"-"z"] )+ >
| < #DIGIT : [ "0"-"9" ] >
}

void number() :
{
}
{
  (< CONSTANT > < POINT > < CONSTANT >) | (< CONSTANT >)
}

Может быть, это потому, что у меня есть 2 CONSTANT с обеих сторон моего выражения "|"

Я видел, что я могу использовать LOOKAHEAD, но не понимаю, в чем его полезность

Спасибо за вашепомочь, потому что я не понимаю :(

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...