⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 pascal.ll1

📁 编译原理-文法等价转换
💻 LL1
字号:
0
$
300
ε
1
and
2
array
3
begin
4
case
5
const
6
div
7
do
8
downto
9
else
10
end
11
file
12
for
13
function
14
goto
15
if
16
in
17
label
18
mod
19
nil
20
not
21
of
22
or
23
procedure
24
program
25
record
26
repeat
27
set
28
then
29
to
30
type
31
until
32
var
33
while
34
with
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
字符串
[LL1文法]
<程序>=<程序首部> ; <程序分程序> .
<程序首部>=program 标识符
<程序分程序>=<分程序>
<标识符表>=标识符 <标识符子表>
<标识符子表>=, 标识符 <标识符子表>|ε
<有正负号数>=<正负号> <无正负号数>|<无正负号数>
<无正负号数>=无正负号整数|无正负号实数
<正负号>=+|-
<分程序>=<标号说明部分> <常量定义部分> <类型定义部分> <变量说明部分>  <过程和函数说明部分> <语句部分>
<标号说明部分>=label 无正负号整数 <标号子表> ;|ε
<标号子表>=, 无正负号整数 <标号子表>|ε
<常数定义部分>=const <常量定义> ; <常量定义子表>|ε
<常量定义子表>=<常量定义> ; <常量定义子表>|ε
<常量定义>=标识符 = <常量>
<常量>=<有正负号数>|标识符|字符串
<类型定义部分>=type <类型定义> ; <类型定义子表>|ε
<类型定义子表>=<类型定义> ; <类型定义子表>|ε
<类型定义>=标识符 = <类型>
<类型>=<类型标识符>|<新类型>
<类型标识符>=标识符
<新类型>=<新有序类型>|<新结构类型>|<新指针类型>
<变量说明部分>=var <变量说明> ; <变量说明子表>|ε
<变量说明子表>=<变量说明> ; <变量说明子表>|ε
<变量说明>=<标识符表> : <类型>
<简单类型>=<有序类型>|<实型标识符>
<有序类型>=<新有序类型>|<有序类型标识符>
<有序类型标识符>=<类型标识符>
<新有序类型>=<枚举类型>|<子界类型>
<枚举类型>=( <标识符表> )
<子界类型>=<常量> .. <常量>
<实型标识符>=<类型标识符>
<结构类型>=<新结构类型>|<结构类型标识符>
<结构类型标识符>=<类型标识符>
<新结构类型>=<数组类型>|<记录类型>|<集合类型>|<文件类型>
<数组类型>=array [ <下标类型> <下标子表> ] of <成分类型>
<下标子表>=, <下标类型> <下标子表>|ε
<下标类型>=<有序类型>
<成分类型>=<类型>
<记录类型>=record <域表> end
<域表>=<固定部分> <固定变体部分>|<变体部分>
<固定变体部分>=; <变体部分>|ε
<固定部分>=<记录段> <记录子表> |ε
<记录子表>=; <记录段> <记录子表> |ε
<记录段>=<标识符表> : <类型>
<变体部分>=case <变体选择符> of <变体> <变体子表>
<变体子表>=; <变体> <变体子表>|ε
<变体选择符>=<标志域> : <标志类型>
<变体>=<情况常量表> : ( <域表> )
<标志域>=标识符
<标志类型>=<有序类型标识符>
<集合类型>=set of <基类型>
<基类型>=<有序类型>
<文件类型>=file of <成分类型>
<指针类型>=<新指针类型>|<指针类型标识符>
<指针类型标识符>=<类型标识符>
<新指针类型>=^ <对象类型>
<对象类型>=<类型标识符>
<表达式>=<简单表达式> <简单表达式子式>
<简单表达式子式>=<关系运算符> <简单表达式> <简单表达式子式> |ε
<关系运算符>= = |<>|<|>|<=|>=
<简单表达式>=<正负号> <项> <项子式> |<项> <项子式>
<项子式>=<加减运算符> <项> <项子式>|ε
<加减运算符>=+|-|or
<项>=<因式> <因式子式>
<因式子式>=<乘除运算符> <因式> <因式子式>|ε
<乘除运算符>=*|/|div|mod|and
<因式>=<变量> |<无正负号常量>|<函数命名符>|<集合构造符>|( <表达式> )|not <因式>
<变量>=<整体变量>|<分量变量>|<标识变量>|<缓冲区变量>
<整体变量>=<变量标识符>
<变量标识符>=标识符
<分量变量>=<下标变量>|<域变量>
<下标变量>=<数组变量> [ <下标表达式> <下标表达式子式> ]
<下标表达式子式>=, <下标表达式> <下标表达式子式>|ε
<数组变量>=<变量>
<下标表达式>=<表达式>
<域变量>=<记录变量> . <域标识符>|<域命名标识符>
<记录变量>=<变量>
<域标识符>=标识符
<域命名标识符>=标识符
<缓冲区变量>=<文件变量> ^
<文件变量>=<变量>
<标识变量>=<指针变量> ^
<指针变量>=<变量>
<常量标识符>=标识符

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -