产生式(BNF-巴科斯范式)

  1. 用尖括号括起来
  2. 语法结构分成基础结构和需要用基础结构复合的复合结构
    1. 基础结构称终结符
    2. 复合皆否称非终结符
  3. 引号与中间的字符表示终结符
  4. 可以有括号
  5. *表示重复多次
  6. |表示或
  7. +表示至少一次

    示例

    ```

    定义语言

    终结符

    “a” “b”

    定义 Number 为

    ::= “0” | “1” | “2” |… |”9”

    任意位的Number

    ::= “0” | ((“1” | “2” |… |”9”) + *)

    加法1:

    ::= “+”

加法2: 递归实现加法

::= “+”

加法3 合并1与2

::= | “+”

  1. <a name="FIz8J"></a>
  2. ### 四则运算
  3. - 1 + 2 * 3

::= | “*”

::= | “||” | “&&”

括号

::= | “(“ “)”

```


BNF范式是一种用递归的思想来表述计算机语言符号集的定义规范法则:
::=表示定义;
“  ”双引号里的内容表示字符;
<>尖括号里的内容表示必选内容;
| 竖线两边的是可选内容,相当于or;
示例
定义java中的switch语句:
<switch statement> ::= switch ( <expression> ) <switch block><switch block> ::= { <switch block statement groups><switch labels> }<switch block statement groups> ::= <switch block statement group> | <switch block statement groups> <switch block statement group><switch block statement group> ::= <switch labels><block statements><switch labels> ::= <switch label> | <switch labels> <switch label><switch label> ::= case <constant expression> :<……> | default :< ……>