我正在尝试将 EBNF 文件转换为适用于 IntelliJ Grammar-kit 的 BNF。
在 EBNF 中有这样的规则:
BinOpChar ::= "~" | "!" | "@" | "#" | "$" | "%" | "^" | "&" | "*" | "-"
BinOp ::= BinOpChar, {BinOpChar}
如何在不使用正则表达式的情况下创建这样的规则?原因是这种构造经常发生,并且在正则表达式中变得重复。
需要明确的是,我希望能够创建一个匹配@@
fromBinOpChar
但不匹配的规则@ @
。那可能吗?