吉林大学编译原理:词法分析器的实现详解
创作时间:
作者:
@小白创作中心
吉林大学编译原理:词法分析器的实现详解
引用
CSDN
1.
https://blog.csdn.net/weixin_73587775/article/details/142188509
词法分析器是编译器的重要组成部分,负责将源程序的字符序列转换为token序列,并检查词法错误。本文详细介绍了词法分析器的实现方法和注意事项,并附有相关练习题及其答案解析,适合对编译原理感兴趣的读者学习参考。
词法分析器实现前的准备
- 明确词法分析器的接口
两种形式:- 词法分析程序作为编译器的独立一遍
- 词法分析程序作为语法分析程序的一个子程序
- 确定单词的token结构
至少包括单词的类型(语法信息)、单词的内容(语义信息)
词法分析器的具体实现
- 在词法分析过程中,词法分析器根据词法规则(由正则表达式和自动机描述)检查源程序中是否含有词法错误,并生成源程序的token序列
- 当单词为保留字或特殊符号时,token内容不填
实现词法分析器的注意事项
- 保留字和保留字表
- 复合单词识别
- 数的转换:将数字字符串转换成数
- 向前看若干个字符处理
- 控制字符的处理:不能直接删除回车换行,可以删空格tab
- 注释处理
练习题
- 【单选题】词法分析器的输入是( )
A. 单词符号串
B. 源程序
C. 语法单位
D. 目标程序
正确答案:B
答案解析:词法分析器的功能是将源程序由字符序列转换等价的token序列,并检查源程序中的词法错误,因此词法分析器的输入是源程序。
- 【单选题】作为语法分析程序子程序的词法分析程序,它的返回结果是( )
A. 单词属性值
B. 单词在符号表中的位置表示法
C. 单词的种别编码和语义值
D. 单词的种别编码
正确答案:C
答案解析:当词法分析程序作为语法分析器的子程序存在时,语法分析器的每次调用,词法分析器都会返回一个token,token是单词的机内表示,包含单词的种类信息和语义值。
- 【单选题】将编译程序分成若干个“遍”是为了( )
A. 利用有限的机器内存并提高机器的执行效率
B. 使程序的结构更加清晰
C. 提高程序的执行效率
D. 利用有限的机器内存但降低了机器的执行效率
正确答案:B
答案解析:所谓“遍”就是对源程序或源程序的中间表示形式从头到尾扫描一次,并作加工处理,生成新的中间结果或目标程序。编译程序分成若干“遍”,实际就是编译程序对源程序或其等价的中间代码扫描了若干次,每次都执行不同的功能,这样做的目的是编译程序的结构更加清晰。
- 【单选题】词法分析中能够发现以下( )错误。
A. 操作数类型不匹配
B. 标识符重复声明
C. 程序中出现非法符号
D. 除法溢出
正确答案:C
答案解析:词法分析器的功能是将源程序由字符序列转换等价的token序列,并检查源程序中的词法错误,以上错误中,只有非法符合属于词法错误。
- 【单选题】编译程序中的语法分析器接受以 为单位的输入,并产生有关信息供以后各阶段使用。
A. 表达式
B. 产生式
C. 单词
D. 语句
正确答案:C
答案解析:词法分析器的功能是将源程序由字符序列转换等价的token序列,并检查源程序中的词法错误,因此语法分析器接受以单词(由字符组成)为单位的输入。
6.【单选题】在词法分析阶段不能识别的是( )。
A. 标识符
B. 运算符
C. 四元式
D. 常数
正确答案:C
答案解析:词法分析器的功能是将源程序由字符序列转换等价的token序列,并检查源程序中的词法错误,token中包含了单词的种类信息,四元式不属于单词,所以在词法分析阶段无法识别。
热门推荐
钢笔笔尖EF尖、F尖与M尖的区别与适用场景
中介带看合同费用详解:从比例到法律依据,全面解析房产交易中的关键环节
网球肘治疗建议及生活注意事项
如何规划家庭的赡养老人预算?
土豆冻了还能吃吗?
注册资本最低多少钱?
注册香港公司注册资本:如何合理设定和管理
编程注释中文报错的原因及解决方案
冬季保暖小知识:易过敏体质人群更适合以下哪种材质的被子?
新兴海洋工程装备发展动向
二手房交易中的法律问题详解:预告登记、中介费与纠纷解决
如何高效进行专利查询并了解相关费用?
双非申博逆袭985复试:PPT制作要点与展示技巧
横梁在床中间算压顶吗?影响健康与家居设计
调岗降薪前的谈判技巧
【合理用药】脑梗死的常用口服药物治疗及副作用
做孕检需要空腹吗?医生这样说
如何保持乐观和自信
什么是节肢动物?
格兰芬多学院的创始人(戈德里克格兰芬多)
使用可解释强化学习提升智能仓储机器人路径规划的透明度与优化技术详解
长期吃瑞舒伐他汀,要记住“三要三不要”原则
Box是什么意思?解析‘box’的多种含义与用法
CSS盒模型入门:区块盒子与行内盒子、标准模型与替代模型详解
肝郁的人,这三种舌象必占一个!
爷爷奶奶去世能请丧假吗
液化气罐的使用和安全防范
大学学校类型有哪些
如何避免知识产权侵权行为
花间令讲述了什么故事?