巴科斯范式

  巴科斯范式(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 } """
阅读全文
类别:Bios 查看评论
posted on 2010-11-13 01:06  sinbad_li  阅读(1079)  评论(0编辑  收藏  举报