С помощью JavaCC я хочу иметь 3 варианта для всех вариантов в одном списке выбора. То есть, я мог бы сделать:JavaCC: примените номер LOOKAHEAD ко всем вариантам в одном списке выбора
LOOKAHEAD(3) A() | LOOKAHEAD(3) B | LOOKAHEAD(3) C
Но я бы предпочел, чтобы сделать что-то вроде:
LOOKAHEAD(3) ((A) | B() | C())
Глядя в файле examples/JavaGrammars/1.5/Java1.5.jj
в пакете JavaCC 5.0 Примеры/демок, я вижу код * это как:
(LOOKAHEAD(3) ((A) | B() | C()))
Однако, что получает мне предупреждение Encountered LOOKAHEAD(...) at a non-choice location. This will be ignored.
и в противном случае не имеет никакого эффекта.
*: В частности, Modifiers
правило, линия 1104.
Пример, приведенный в примерах/JavaGrammars/1.5/Java1.5.jj, находится в цикле. Взгляд 2 используется для принятия решения о том, следует ли (повторно) вводить цикл. Очевидно, что последующие варианты можно решить с помощью стандартного представления 1. –