Я пытаюсь преобразовать файл EBNF в рабочий BNF для IntelliJ Grammar-kit.
В EBNF есть правила как таковые:
BinOpChar ::= "~" | "!" | "@" | "#" | "$" | "%" | "^" | "&" | "*" | "-"
BinOp ::= BinOpChar, {BinOpChar}
Как я могу создать такие правила, не прибегая к регулярному выражению? Причина в том, что такая конструкция встречается очень часто, и ее повторение становится повторяющимся в регулярном выражении.
Для ясности, я хотел бы иметь возможность создать правило, которое будет соответствовать @@
из BinOpChar
, но не совпадать с @ @
. Это возможно?