88 lines
3.3 KiB
Plaintext
88 lines
3.3 KiB
Plaintext
|
文法:
|
||
|
key: Program
|
||
|
0 程序 ::= . 语句列表
|
||
|
key: StatementList
|
||
|
1 语句列表 ::= . { Statement_0 }
|
||
|
key: IfStatement
|
||
|
2 判断语句 ::= . If 条件部分 部分判断语句 Else 语句
|
||
|
3 判断语句 ::= . If 条件部分 语句
|
||
|
key: PartIfStatement
|
||
|
4 部分判断语句 ::= . If 条件部分 部分判断语句 Else 部分判断语句
|
||
|
5 部分判断语句 ::= . 无判断语句
|
||
|
key: ConditionPart
|
||
|
6 条件部分 ::= . ( 条件 )
|
||
|
key: Condition
|
||
|
7 条件 ::= . 条件表达式 LogicalOperator_ConditionalExpression_0
|
||
|
key: ConditionalExpression
|
||
|
8 条件表达式 ::= . 表达式 运算符 表达式
|
||
|
9 条件表达式 ::= . 表达式
|
||
|
key: Expression
|
||
|
10 表达式 ::= . 项 AddLike_Term_0
|
||
|
key: Statement
|
||
|
11 语句 ::= . 判断语句
|
||
|
12 语句 ::= . 无判断语句
|
||
|
key: NoIfStatement
|
||
|
13 无判断语句 ::= . 赋值语句 ;
|
||
|
14 无判断语句 ::= . 变量定义 ;
|
||
|
15 无判断语句 ::= . { Statement_1 }
|
||
|
16 无判断语句 ::= . 常量定义 ;
|
||
|
17 无判断语句 ::= . ;
|
||
|
key: AssignmentStatement
|
||
|
18 赋值语句 ::= . 标识符 = 表达式
|
||
|
key: Term
|
||
|
19 项 ::= . 因子 MultiplyLike_Factor_0
|
||
|
key: ConstantDefinition
|
||
|
20 常量定义 ::= . Const 变量定义
|
||
|
key: VariableDefinition
|
||
|
21 变量定义 ::= . 类型 Identifier__AssignmentStatement_0 Comma_Identifier__Comma_AssignmentStatement_0
|
||
|
key: Type
|
||
|
22 类型 ::= . Int
|
||
|
23 类型 ::= . Char
|
||
|
key: Factor
|
||
|
24 因子 ::= . 标识符
|
||
|
25 因子 ::= . 数字
|
||
|
26 因子 ::= . 字符
|
||
|
27 因子 ::= . ( 表达式 )
|
||
|
key: AddLike
|
||
|
28 类加运算符 ::= . +
|
||
|
29 类加运算符 ::= . -
|
||
|
key: MultiplyLike
|
||
|
30 类乘运算符 ::= . *
|
||
|
31 类乘运算符 ::= . /
|
||
|
32 类乘运算符 ::= . %
|
||
|
key: Number
|
||
|
33 数字 ::= . 无符号数字
|
||
|
34 数字 ::= . - 无符号数字
|
||
|
35 数字 ::= . + 无符号数字
|
||
|
key: Operator
|
||
|
36 运算符 ::= . EqualTo
|
||
|
37 运算符 ::= . NotEqualTo
|
||
|
38 运算符 ::= . LessThan
|
||
|
39 运算符 ::= . GreaterThan
|
||
|
40 运算符 ::= . LessThanOrEqual
|
||
|
41 运算符 ::= . GreaterThanOrEqual
|
||
|
key: LogicalOperator
|
||
|
42 逻辑运算符 ::= . And
|
||
|
43 逻辑运算符 ::= . Or
|
||
|
key: Statement_0
|
||
|
44 Statement_0 ::= .
|
||
|
45 Statement_0 ::= . 语句 Statement_0
|
||
|
key: LogicalOperator_ConditionalExpression_0
|
||
|
46 LogicalOperator_ConditionalExpression_0 ::= .
|
||
|
47 LogicalOperator_ConditionalExpression_0 ::= . 逻辑运算符 条件表达式 LogicalOperator_ConditionalExpression_0
|
||
|
key: AddLike_Term_0
|
||
|
48 AddLike_Term_0 ::= .
|
||
|
49 AddLike_Term_0 ::= . 类加运算符 项 AddLike_Term_0
|
||
|
key: Statement_1
|
||
|
50 Statement_1 ::= .
|
||
|
51 Statement_1 ::= . 语句 Statement_1
|
||
|
key: MultiplyLike_Factor_0
|
||
|
52 MultiplyLike_Factor_0 ::= .
|
||
|
53 MultiplyLike_Factor_0 ::= . 类乘运算符 因子 MultiplyLike_Factor_0
|
||
|
key: Identifier__AssignmentStatement_0
|
||
|
54 Identifier__AssignmentStatement_0 ::= . 标识符
|
||
|
55 Identifier__AssignmentStatement_0 ::= . 赋值语句
|
||
|
key: Comma_Identifier__Comma_AssignmentStatement_0
|
||
|
56 Comma_Identifier__Comma_AssignmentStatement_0 ::= .
|
||
|
57 Comma_Identifier__Comma_AssignmentStatement_0 ::= . 逗号 标识符 Comma_Identifier__Comma_AssignmentStatement_0
|
||
|
58 Comma_Identifier__Comma_AssignmentStatement_0 ::= . 逗号 赋值语句 Comma_Identifier__Comma_AssignmentStatement_0
|