Как выразить строчную букву с последующим символом в любом случае, используя BNF?
Я пытаюсь узнать, как IntelliJ Grammar Kit работает для создания БНФ
Как я могу определить идентификатор, который помечается значком "v", а затем иметь любой регистр. например, vModule.
Вот моя попытка:
identifier ::= "v"id
Но тогда вместо vModule он ожидает v Module.
1 ответ
Решение
Вам необходимо включить фактическое регулярное выражение, соответствующее вашему идентификатору, в определение токена. Что-то вроде:
identifier ::= "regexp:v\w+"