- 4
- 0
- 约3.49万字
- 约 32页
- 2020-09-25 发布于安徽
- 举报
编译原理实验报告
实验一 词法分析
一、 实验目的
编制一个读单词过程,从输入的源程序中,识别出各个具有独立意义的单词,
即基本保留字、标识符、常数、运算符、分隔符五大类。并依次输出各个单词的内
部编码及单词符号自身值。
二、 实验题目
如源程序为C 语言。输入如下一段:
main()
{
int a=-5,b=4,j;
if(a=b)
j=a-b;
else j=b-a;
}
要求输出如下:
(2,”main” ) (5,” (” ) (5,” )” )
(5,”{” ) (1,”int” ) (2,”a” )
(4,”=” ) (3 ,”-5” ) (5,”,” )
(2,”b” ) (4,”=” ) (3 ,”4” )
(5,”,” ) (2,”j” ) (5,”;” )
(1,”if” ) (5,” (” ) (2,”a” )
(4,”=” ) (2,”b” ) (5,” )” )
(2,”j” ) (4,”=” ) (2,”a” )
(4,”-” ) (2,”b” ) (5,”;” )
(1,”else” ) (2,”j” ) (4,”=” )
(2,”b” ) (4,”-” ) (2,”a” )
(5,”;” ) (5,”}” )
三、 实验理论依据
(一)识别各种单词符号
程序语言的单词符号一般分为五种:
第 1 页 共 30 页
编译原理实验报告
关键字(保留字/ 基本字)if 、while 、begin…
标识符:常量名、变量名…
常数:34 、56.78 、true 、‘a’ 、…
运算符:+ 、- 、* 、/ 、〈、and 、or 、….
界限符:, ; ( ) { } /*…
识别单词:掌握单词的构成规则很重要
标识符的识别:字母| 下划线+( 字母/ 数字/ 下划线)
关键字的识别:与标识符相同,最后查表
常数的识别
界符和算符的识别
大多数程序设计语言的单词符号都可以用转换图来识别,如图1-1
图1-1
词法分析器输出的单词符号常常表示为二元式:(单词种别,单词符号的属性
值)
第 2 页 共 30 页
编译原理实验报告
单词种别通常用整数编码,如1 代表关键字,2 代表标识符等
关键字可视其全体为一种,也可以一字一种。采用一字一种得分法实际处理起
来较为方便。
标识符一般统归为一种
常数按类型(整、实、布尔等)分种
运算符可采用一符一种的方法。
界符一般一符一种的分法。
(二)超前搜索方法
词法分析时,常常会用到超前搜索方法。
如当前待分析字符串为“a+” ,当前字符为“” ,此时,分析器倒底是将其分
析为大于关系运算符还是大于等于关系运算符呢?
显然,只有知道下一个字符是什么才能下结论。于是分析器读入下一个字符’
+’ ,这时可
您可能关注的文档
- 第四课-《公民基本义务》导学案最新.pdf
- 第四章汽车内外装饰最新.pdf
- 第五届职工运动会报名表最新.pdf
- 第五章《基因突变及其他变异》测试题最新.pdf
- 毕业论文指导老师评语及答辩教师评语集锦最新.pdf
- 毕业论文中期检查表最新.pdf
- 毕业设计(论文)-10KV变电站继电保护设计最新.pdf
- 毕业设计(论文)-基于单片机的数字频率计设计最新.pdf
- 毕业设计J23-80压力机曲柄滑块机构结构设计最新.pdf
- 毕业设计-钢筋弯曲机设计最新.pdf
- 学做结合主题教育.pptx
- 深度解析(2026)《MTT 1217—2024煤矿在用带式输送机滚筒轴超声检测方法》.pptx
- 深度解析(2026)《MTT 1219—2024煤田水文地质与工程地质勘查评价方法》.pptx
- 眼科基础知识与日常护理.ppt
- 深度解析(2026)《MTT 1220—2024射线成像识别选煤技术规范》.pptx
- 深度解析(2026)《MTT 1221—2024液压支架零部件再制造性评价指南》.pptx
- 深度解析(2026)《MTT 1222—2024液压支架再制造工程设计指南》.pptx
- 深度解析(2026)《MTT 1224—2024露天煤矿排土场土地复垦灌草植被修复技术规程》.pptx
- 深度解析(2026)《MZT 148-2020志愿服务基本术语》.pptx
- 推断统计方法与抽样调查实践.pdf
原创力文档

文档评论(0)