编译原理chapter1
- 格式:ppt
- 大小:350.00 KB
- 文档页数:33


广州大学学生实验报告
开课学院及实验室: 年月日
学院 计算机科学与教育软件学院 年级/专业/班 姓名 学号
实验课程名称 编译原理实验 成绩
实验项目名称 词法分析 指导老师
实验目的
设计、编制并调试一个词法分析程序,加深对词法分析原理的理解。
针对表达各类词语的一组正规表达式,设计一个确定化的最简的有限自动机,对输入的符号串进行单词划分及词类识别。
实验内容
将词法分析器分解为以下几个部分:
1. 正规表达式的解析:将正规表达式中的符号分解为常量字符、正规表达式标识符和正规表达式运算符,然后基于正规表达式运算将正规表达式分解为更小的正规表达式(通过正规表达式运算符进行串接)。
2. 正规表达式到NFA的转换:根据转换规则,基于正规表达式运算,将正规表达式转换为非确定有限自动机,并确定各类词的终止状态。
3. NFA的确定化:通过计算各状态的传递闭包,将NFA确定化,并确定各类词的终止状态。
4. 最小化:通过子集法,求得最简的确定有限自动机,并确定各类词的终止状态。
例如:分析C语言子集的词法
1) 关键字
main if else int return void while (都是小写)
2) 专用符号
= + — * / < <= < >= = = != ; : ,{ } [ ] ( )
3) 其他模式(正规表达式)
STRING::= " [^"]*
ID::=letter(letter|digit)*
INT::=digit digit*
letter::= a|…|z|A|…|Z
digit::= 0|…|9
4)空格由空白、制表符和换行符组成
空格一般用来分隔ID、NUM、专用符号和关键字,词法分析阶段通常被忽略。
部分单词符号对应的种别码
词法分析程序的功能
编译原理试卷一
一、 选择
1.一个正规语言只能对应()?
A 一个正规文法;
B 一个最小有限状态自动机;
2.文法G[A]:A→ε A→aB B→Ab B→a是( ):
A 正规文法
B 二型文法
3.下面说法正确的是( ):
A 一个SLR(1)文法一定也是LALR(1)文法
B 一个LR(1)文法一定也是LALR(1)文法
4.一个上下文无关文法消除了左递归,提取了左公共因子后是满足LL(1)文法的( ):
A 必要条件
B 充分必要条件
二、多项选择
1.PL/0语言的目标程序解释执行时用到的数据对象有( ):
A 目标代码CODE
B 符号表TABLE
C 数据栈S
D 关键字表WORD
2.PL/0语言编译时产生或使用的数据对象有( ):
A 目标代码CODE
B 符号表TABLE
C 数据栈S
D 关键字表WORD
三、问答题
问答第1题
(5分)将文法G[S] 改写为等价的G′[S],使G′[S]不含左递归和左公共因子。
G[S]: S→bSAe | bA
A→Ab | d
问答第2题
(10分) 判断下面文法是否为LL(1)文法,若是,请构造相应的LL(1)分析表。
S→aH
H→aMd | d M→Ab | ε
A→aM | e
问答第3题
给出与正规式R=(ab)*(a|b*)ba等价的NFA。
问答第4题
将下图的NFA确定化为DFA。
问答第5题
(7分)
(1)给出下列PL/0示意程序中当程序执行到X过程调用Z过程后(即执行Z过程
体时)的栈式存储分配布局和用Display显示表时Z过程最新活动记录的内容。
(2)说明Display表和DL(老SP),RA,TOP及全局Display的作用。 PL/0示意程序为:
const a=80;
var b,c;
procedure X;
国家人才培养模式创新实验区、云南省教学团队、云南大学软件学院教育创新基金(编号:2009EI08)联合资助项目
实验1:实现词法分析器
姓 名:
学 号:
专 业:
* * * * : **
编 制 时 间 :
成 绩:
云南大学软件学院
2014年6月制表
1、实验目标
设计并实现一个PL/0语言的词法分析器, 对读入的PL/0源程序,输出相应的Token二元式序列。注意:可以用LEX来实现。
2、实现方案
2.1 待分析的简单的词法
(1)关键字:
Begin End If Then Else While Do For Step Until
(2)运算符和界符
= + - * / : < > <= >= = ; ( ) #
(3)标识符(ID)和整型常数(SUM)
ID = letter (letter | digit)*
NUM = digit digit*
(4)空格有空白、制表符和换行符组成。空格一般用来分隔ID、SUM、运算符、界符和关键字,词法分析阶段通常被忽略。
2.2 上述定义对应的种别码:
单词符号 种别码 单词符号 种别码
Begin 1 - 14
End 2 * 15
If 3 / 16
Then 4 : 17
Else 5 < 18
While 6 > 19
Do 7 <= 20
For 8 >= 21
Step 9 = 22
Until 10 ; 23
letter (letter |
digit)* 11 ( 24
digit digit* 12 ) 25
+ 13 # 0
Chapter 1 Managers and Management
Ⅰ True or False Questions (Mark “T” for true sentence and “F” for false sentence).
1. All organizations have a structure that in some ways serves to define and limit the behavior
of members of the organization.
2. A manager does not work directly on tasks for the organization.
3. Supervisors and team leaders may both be considered first-line managers.
4. Effectiveness refers to the attainment of the organization's goals.
5. Managers who are effective at meeting organizational goals always act efficiently.
6. The four contemporary management processes are planning, organizing, leading, and
commanding.
7. In Mintzberg's view, the roles of figurehead, leader, and liaison are all interpersonal roles.
8. A typical first-level manager spends more of his or her time leading than planning.