-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathgrammar.txt
90 lines (90 loc) · 1.34 KB
/
grammar.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
程序 -> PROGRAM 标识符 ; 分程序
分程序 -> 变量说明 BEGIN 语句表 END
变量说明 -> VAR 变量说明表 ;
变量说明表 -> 变量表 : 类型 A'
A' -> empty
A' -> ; 变量说明表
类型 -> INTEGER
类型 -> REAL
变量表 -> 变量 B'
B' -> empty
B' -> , 变量表
语句表 -> 语句 C'
C' -> empty
C' -> ; 语句表
语句 -> 赋值语句
语句 -> 条件语句
语句 -> WHILE语句
语句 -> 复合语句
赋值语句 -> 变量 := 算数表达式
条件语句 -> IF 关系表达式 THEN 语句 ELSE 语句
WHILE语句 -> WHILE 关系表达式 DO 语句
复合语句 -> BEGIN 语句表 END
算数表达式 -> 项 算数表达式'
算数表达式' -> E' 算数表达式'
算数表达式' -> empty
E' -> + 项
E' -> - 项
项 -> 因式 F'
F' -> 项' F'
项' -> * 因式
项' -> / 因式
因式 -> 变量
因式 -> 常数
因式 -> ( 算术表达式 )
关系表达式 -> 算术表达式 关系符 算术表达式
变量 -> 标识符
标识符 -> 字母 标识符'
标识符' -> J' 标识符'
J' -> 字母
J' -> 数字
常数 -> 整数 H'
H' -> empty
H' -> . 整数
浮点数 -> . 整数
浮点数 -> 整数 . 整数
整数 -> 数字 G'
G' -> empty
G' -> 整数
关系符 -> <
关系符 -> <=
关系符 -> =
关系符 -> >
关系符 -> >=
关系符 -> <>
字母 -> A
字母 -> B
字母 -> C
字母 -> D
字母 -> E
字母 -> F
字母 -> G
字母 -> H
字母 -> I
字母 -> J
字母 -> K
字母 -> L
字母 -> M
字母 -> N
字母 -> O
字母 -> P
字母 -> Q
字母 -> R
字母 -> S
字母 -> T
字母 -> U
字母 -> V
字母 -> W
字母 -> X
字母 -> Y
字母 -> Z
数字 -> 0
数字 -> 1
数字 -> 2
数字 -> 3
数字 -> 4
数字 -> 5
数字 -> 6
数字 -> 7
数字 -> 8
数字 -> 9