- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第三章词法分析
许畅
南京大学计算机系
2019年春季
内容
• 词法分析器的作用
• 词法单元的规约(正则表达式)
• 词法单元的识别(状态转换图)
• 词法分析器生成工具及设计
• 有穷自动机
2
词法分析器的作用
• 读入字符流,组成词素,输出词法单元序列
• 过滤空白、换行、制表符、注释等
• 将词素添加到符号表中
• 在逻辑上独立于语法分析,但是通常和语法分析
器处于同一趟中
3
为什么要设立独立的词法分析器?
• 简化编译器的设计
– 词法分析器可以首先完成一些简单的处理工作
• 提高编译器效率
– 相对于语法分析,词法分析过程简单,可高效实现(下
推自动机vs. 有穷自动机)
• 增强编译器的可移植性
4
词法单元、模式、词素
• 词法单元(Token)
– 词法单元名、属性值(可选)
– 单元名是表示词法单位种类的抽象符号,语法分析器
通过单元名即可确定词法单元序列的结构
– 属性值通常用于语义分析之后的阶段
• 模式(Pattern)
– 描述了一类词法单元的词素可能具有的形式
• 词素(Lexeme)
– 源程序中的字符序列
– 它和某个词法单元的模式匹配,被词法分析器识别为
该词法单元的实例
5
词法单元、模式、词素(例子)
• printf(Total = %d\n, score) ;
– printf, score 和标识符(id) 的模式匹配
– Total = % d\n和literal 的模式匹配
6
词法单元的属性
• 一个模式匹配多个词素时,必须通过属性来传递
附加的信息
– 属性值将被用于语义分析、代码生成等阶段
• 不同的目的需要不同的属性
– 属性值通常是一个结构化数据
• 如词法单元id 的属性
– 词素、类型、第一次出现的位置、…
7
内容
• 词法分析器的作用
• 词法单元的规约(正则表达式)
• 词法单元的识别(状态转换图)
• 词法分析器生成工具及设计
• 有穷自动机
8
词法单元的规约
• 正则表达式可以高效、简洁地描述处理词法单元
时用到的模式类型
• 内容
– 串和语言
– 语言上的运算
– 正则表达式和正则定义
– 正则表达式的扩展
9
串和语言(1)
• 字母表(Alphabet) :一个有穷的符号集合
– 符号典型例子:字母、数字、标点符号
– 例子:{0,1}, ASCII, Un
您可能关注的文档
- 租屋的法律常识.ppt
- 认识学习障碍111KB.ppt
- 认识校园及校外教学活动的危险-协进国小.ppt
- 认识流通加工作业-广州交通高级技工学校.ppt
- 认识物件与图层.ppt
- 认识组合开关.ppt
- 认识过滤设备知识点了解过滤设备的相关知识.ppt
- 让师生诗意地生长.ppt
- 让石墨烯走进生活-催化材料研究部曾繁武.ppt
- 训练11伴性遗传Ⅰ.doc
- 2025年鸡西市麻山区公益性岗位招聘8人(公共基础知识)测试题附答案.docx
- 杭州之江湾股权投资基金管理有限公司招聘参考题库附答案.docx
- 2026江苏辖区农村商业银行常熟农商银行校园招聘200人(公共基础知识)测试题附答案.docx
- 2025年中国石油新疆油田分公司秋季高校毕业生招聘360人(公共基础知识)综合能力测试题附答案.docx
- 2023年攀枝花市直属机关遴选公务员笔试真题汇编附答案解析(夺冠).docx
- 2026广发银行太原分行校园招聘(公共基础知识)测试题附答案.docx
- 2025四川成都医学院招聘事业编制辅导员10人(公共基础知识)测试题附答案.docx
- 2026年毛概期末考试试题库必考题.docx
- 2025年合肥市某国有企业2025年岗位外包招聘(公共基础知识)测试题附答案.docx
- 2026年重庆青年职业技术学院单招(计算机)测试模拟题库附答案.docx
原创力文档


文档评论(0)