巴科斯范式

目录导航

数学定义

巴科斯范式义同BNF范式(BNF: Backus-Naur Form 的缩写)描述计算机语言语法的符号集

在双引号中的字("word")代表着这些字符本身。而double_quote用来代表双引号。

在双引号外的字(有可能有下划线)代表着语法部分。

尖括号( < > )内包含的为必选项。

方括号( [ ] )内包含的为可选项。

大括号( { } )内包含的为可重复0至无数次的项。

竖线( | )表示在其左右两边任选一项,相当于"OR"的意思。

::= 是“被定义为”的意思。

范式示例

下面是用BNF来定义的Java语言中的For语句的实例:

FOR_STATEMENT ::=

"for" "(" ( variable_declaration |

( expression ";" ) | ";" )

[ expression ] ";"

[ expression ] ";"

")" statement

这是用BNF来定义的BNF本身的例子:

syntax ::= { rule }

rule ::= identifier "::=" expression

expression ::= term { "|" term }

term ::= factor { factor }

factor ::= identifier |

quoted_symbol |

"(" expression ")" |

"[" expression "]" |

"{" expression "}"

identifier ::= letter { letter | digit }

quoted_symbol ::= """ { any_character } """

相关百科
返回顶部
产品求购 求购