BNFC是一种语法分析工具,支持符号“|”用于定义文法中的OR规则。以下是一个使用BNFC定义的简单文法,其中使用了符号“|”:
E ::= E "+" E | E "*" E | "(" E ")" | N
N ::= digit+
digit ::= "0" | "1" | "2" | ... | "9"
在上面的例子中,“|”表示OR规则,可以用于定义E符号可以由 E "+" E、E "*" E、"(" E ")"、N这四种情况中的任意一种组合而来。
使用BNFC,可以将上面的文法定义文件转换成相应的解析器程序和抽象语法树的定义。
上一篇:BNFC简单产生规则的解析问题
下一篇:BNF规则转换为正则表达式