第三章 词法分析词法分析的基本概念正规式自动机和状态图词法分析程序的设计1学习目标:掌握:词法分析程序的构造正规式和正规文法到有穷自动机的转换NFA到DFA的转换DFA的化简理解:正规文法正规式DFA的概念NFA的概念了解:词法分析程序的自动构造工具2词法分析程序词法分析是编译过程中的一个阶段在语法分析前进行 也可以和语法分析结合在一起作为一遍输入:源程序字符串输出:单词符号(最基本的语法单位)3
第三章 词法分析第1题 构造正规式相应的DFA:1(01)101由正规表达式构造有穷自动机共分三步:由正规表达式构造转换系统(NFA)由转换系统(NFA)构造确定的有穷自动机DFADFA的最小化(1)构造与1(01)101等价的 NFAX1(01)101YX (01) 21310 4 Y 11 01X 21310 4 Y 11 5εε 0X 21310 4 Y 11 5εε 1(2)将NFA
单击此处编辑母版标题样式单击此处编辑母版文本样式第二级第三级第四级第五级第三章 词法分析赵建华南京大学计算机系2009年2月内容词法分析器的作用词法单元的规约词法单元的识别词法分析器生成工具Lex有穷自动机从正则表达式到自动机词法分析器生成工具的设计方法词法分析器的作用读入源程序字符流组成词素输出词法单元序列过滤空白换行制表符注释等将词素添加到符号表中在逻辑上独立于语法分析但是通常和语法分析器处于
单击此处编辑母版标题样式单击此处编辑母版文本样式第二级第三级第四级第五级中南大学软件学院 陈志刚第三章 词法分析第三章 词法分析3.1 词法分析概述3.2 词法分析程序的设计 3.3 正规式与有限自动机3.4 词法分析程序的实现3.5 词法分析器的自动生成42120221中南大学软件学院 陈志刚3.1 词法分析概述一词法分析程序的任务二词法分析程序的功能三词法分析程序的安排四词法分析程序的实现
反映单词符号特性或特征的值Ya?S?QaS052Y1εabS={T0T1T2T3T4T5T6} F={T3T4T5T6}ε6T6bT1:{531}T5 :{5461Y}εεb2T1aT1T1Tb1已知文法G=(VTVNS Р) ? FA M=(Q Σδq0F)1.取Q=VN ∪{q0 }(q0为新增加的初态)Σ=VT F={ S }2.①对于Р中每条规则Ai→Aja引入映射δ(Aja
2023413取下一个记号scanner2023413词法记号(token):源语言文法的终结符用<token name token value>表示模式(pattern):源语言中特定记号的构成规则可以用正则表达式示词法单元(词素lexeme):源程序中和记号的模式相匹配的字符串记号的例子 词法记号的属性1315编译原理编译原理LM = { st s is in L and t is in M
第三章 词 法 分 析 2.递归定义 令Σ为有穷字母表则Σ上的正规式和正规集可递归定义如下:1.ε和?是Σ上的正规式则它们相应正规集分别为{ε}和?2.对于每一a∈Σa是Σ上一个正规式则它所表示相应正规集为{a}3.如果e1和e2是Σ上的正规式则相应正规集分别为L(e1)和L(e2)则 (1)(e1)是正规式其相应的正规集为L((e1))=L(e1)(2)e1e2是正规式其相应正规
第3章 词法分析31对词法分析器的要求32词法分析器的设计33某简单语言的词法分析程序34正规表达式与有限自动机 §31 对词法分析器的要求1 词法分析器的工作处理输入:逐个字符读入源程序; 处理:行尾、文件尾、无用空格、注释等。模式识别:将输入字符流匹配成最合理的单词符号。例: if ( n0 ) and ( j = 5 ) 输入源程序,输出单词符号。 号= 号,不能匹配成:,= 两个符号2词法
#
单击此处编辑母版标题样式单击此处编辑母版文本样式第二级第三级第四级第五级第四章 词法分析教学要求:本章介绍编译程序的第一个阶段词法分析的设计原理要求掌握正则文法DFANFA正规式和正规集的基本概念和词法分析器的设计原理教学重点:词法分析器的任务与设计状态转换图4.1 词法分析程序的设计回顾: 1词法分析的任务:逐个读入源程序字符并按照构词规则切分成一系列单词2词法分析程序:实现词法分析的程序一.
违法有害信息,请在下方选择原因提交举报