Как выразить строчную букву с последующим символом в любом случае, используя BNF?

Я пытаюсь узнать, как IntelliJ Grammar Kit работает для создания БНФ

Как я могу определить идентификатор, который помечается значком "v", а затем иметь любой регистр. например, vModule.

Вот моя попытка:

identifier ::= "v"id

Но тогда вместо vModule он ожидает v Module.

1 ответ

Решение

Вам необходимо включить фактическое регулярное выражение, соответствующее вашему идентификатору, в определение токена. Что-то вроде:

identifier ::= "regexp:v\w+"
Другие вопросы по тегам