- 10
- 0
- 约8.39千字
- 约 14页
- 2019-03-17 发布于湖北
- 举报
编译原理课程设计 哈尔滨师范大学 计算机科学与技术
编
译
原
理
课
程
设
计
姓名:XXX
学号:XXXXXX
班级:XXXXX
年级:XXXXXX
PAGE \* MERGEFORMAT 3
词 法 分 析
实验目的
设计、编制并调试一个词法分析程序,掌握词法分析的基本原理和词法分析在编译过程中的作用,熟悉关键字表等相关的数据结构与单词的类方法,加深对词法分析原理的理解,把握词法分析器的实现方法和技术。
实验要求
1. 待分析的简单词法
(1)关键字:
main int while if break else
(2)运算符和界符
+ - [ ] ( ) { } ;
(3)其他单词是标识符(ID)和整型常熟(NUM),通过以下正规式定义:
ID=letter(letter | digit)*
NUM=digit digit*
(4)空格有空白、制表符和换行符组成。空格一般用来分隔ID、NUM、运算符、界符和关键字,词法分析阶段通常被忽略。
2. 各种单词符号对应的简单编码
表1 简单语言单词符号及内部表示
单词符号
种别编码
单词值
单词符号
种别编码
单词值
main
33
内部字符串
二进制数值表示
[
43
内部字符串
二进制数值表示
Int
34
]
44
While
35
45
If
36
(
46
break
37
)
47
esle
38
{
48
letter(letter|digit)
39
}
49
digit digit*
40
;
50
+
41
=
51
-
42
3. 词法分析程序的功能
输入:所给文法的源程序字符串
输出:二元组(temp,lexeme或value)构成的序列
其中,temp为单词种别码,lexeme为存放的单词自身字符串;value位整型常数。
4. 识别语言单词的状态转换图
我们知道,从语言单词符号的两种描述方式可以构造出识别语言单词的有穷自动机,它的非形式化描述就是状态转换图。
通常,构造词法分析程序有两种方法。第一种方法是用手工方式,即根据识别语言单词的状态图,使用某种高级语言,例如,java语言直接编写此法分析程序。第二种方法就是利用词法分析程序的自动生成工具LEX自动生成词法分析程序。下面以某种语言为例,对第一种方法做简要的介绍。例如,图2.1是识别表1的单词符号的状态转换图。
1
1
20 l 非d
2
0
非l
d43 非d
4
3
5 +
5
6 -
6
77 /
77
8
8
9
9
10 : =
10
11
11
非=
12
12
;
13 其他
13
图2.1 识别表1所列的语言单词的状态转换图
词法分析程序的算法思想
算法的基本任务是从字符串表示的源程序中识别出具有独立的单词符号,其基本思是根据扫描到的单词符号的第一字种类,拼出相应的单词符号。
主程序示意图
主程序示意图如图3.1所示。其中初值包括如下两个方面。
关键字表的初值
关键字作为特殊标识符处理,把它们预先安排在一张表格中(称关键字表),当扫描程序识别吃标识符时,查关键字表。如能查到匹配的单词,则该单词位关键字,否则为一般标识符。
程序中需要用到的主要变量为temp,lexeme和value。
开始
开始
置初值
置初值
调用扫描子程序
调用扫描子程序
输出单词二元组
输出单词二元组
输入串结束 是
输入串结束
否
结束
结束
图3.1 词法分析主程序示意图
扫描子程序的算法思想
首先设置3个变量:① lexeme用来存放构成单词符号的字符串;②value用来存放整型单词;③temp用来存放单词符号的种别码。扫描子程序主要部分流程如图3.2所示。
开始
开始
变量初始化
变量初始化
忽略空格
忽略空格
是否文件结束
是否文件结束
结束 是
结束
否
您可能关注的文档
- 毕业设计-CW6163普通车床数控化改造.doc
- 毕业设计报告-租房管理系统的设计与实现.doc
- 毕业设计高校期末考试管理系统的设计与实现.doc
- 毕业设计论文(理工类)-解小宝.doc
- 毕业设计论文—五层电梯的自动控制设计.doc
- 毕业设计排版样式.doc
- 毕业设计-声、光、触摸三控延时电路.docx
- 毕业设计输出轴机械加工工序卡片.doc
- 毕业设计说明说.doc
- 毕业设计-四路智力竞赛抢答器的设计.doc
- 全过程工程管理造价咨询工程监理项目服务方案投标方案(技术部分).doc
- 招标代理服务投标技术服务方案(技术方案).doc
- AI大模型与AIGC技术在公安领域的应用解决方案(99页 PPT).pptx
- 工业4.0智能制造数字工厂规划方案.pptx
- 树立社会主义核心价值观.docx
- 三年(2023-2025)中考历史真题分类汇编(全国)专题21 科技文化与社会生活(解析版).docx
- 2025年中考道德与法治真题完全解读(吉林卷).pdf
- 2025年中考道德与法治真题完全解读(安徽卷).pdf
- 三年(2023-2025)中考历史真题分类汇编(全国)专题14 人民解放战争(解析版).pdf
- 三年(2023-2025)广东中考历史真题分类汇编:专题03 中国近代史(八年级上册)(解析版).docx
最近下载
- Leica_TS16_UM_v2-0-0_zh-徕卡实用说明书.pdf VIP
- 医院感染暴发控制标准2025版课件.pptx VIP
- 医学免疫学(全套课件272P)ppt课件.pptx VIP
- 古建筑安全监测技术标准.pdf VIP
- A4版2023安徽省中考数学答题卡.pdf
- Vaillant威能VIH CN 水罐参数技术参数.pdf
- 喷墨打印OLED技术全球竞争格局与发展策略.docx VIP
- 2025年9月山西医科大学附属晋中医院(晋中市第一人民医院)招聘编制外人员38人笔试模拟试题及答案解析.docx VIP
- 2025年9月山西医科大学附属晋中医院(晋中市第一人民医院)招聘编制外人员38人考试参考试题及答案解析.docx VIP
- 人教版物理8年级下册全册教学课件.pptx
原创力文档

文档评论(0)