1 / 30
文档名称:

词法分析——正则表达式.ppt

格式:ppt   大小:336KB   页数:30页
下载后只包含 1 个 PPT 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

词法分析——正则表达式.ppt

上传人:zhoubingchina1 2018/9/16 文件大小:336 KB

下载得到文件列表

词法分析——正则表达式.ppt

文档介绍

文档介绍:词法分析——正则表达式授课:胡静*2004年12月28日1编译原理状态转换图实例其中的假设条件是:,。把它们预先安排在一张表格中。,如果关键字、标识符和常数之间没有确定的运算符或界符做间隔,则必须至少用一个空白符做间隔。Date2编译原理状态转换图的实现ch:字符变量,存放最新读进的源程序字符strToken:字符数组,存放构成单词符号的字符串GetChar:子程序过程,将下一个输入字符读到ch中,搜索指示器前移一个字符位置。GetBC:子程序过程,检查ch中的字符是否为空白。如果是,则调用GetChar,直至ch中进入一个非空白字符。Concat:子程序过程,将ch中的字符连接到strToken之后。IsLetter和IsDigit:布尔函数过程,它们分别判断ch中的字符是否为字母和数字。Reserve:整型函数过程,对strToken中的字符串查找保留字表,若它是一个保留字则返回它的编码,否则返回0值。Retract:子程序过程,将搜索指示器回调一个字符位置,将ch置为空白字符Date3编译原理状态转换图的实现(续1)InsertId:整型函数过程,将strToken中的标识符插入符号表,返回符号表指针InsertConst:整型函数过程,将strToken中的常数插入常数表,返回常数表指针。关于出错处理的一些说明:如果后面还有状态图,出现在这个地方的代码应为:将搜索指示器回退一个位置,并令下一个状态图开始工作。如果后面没有其他的状态图,则出现在上述位置的代码应该进行真正的出错处理,报告源程序含有非法符号,并进行善后处理。Date4编译原理状态转换图的实现(续2)对于不含回路的分叉结点来说,可让它对应一个switch语句,或一组if…then…else语句 GetChar() if(IsLetter()){…状态j的对应程序段…} elseif(IsDigit()){…状态k的对应程序段…} elseif(ch==‘/’){…状态l的对应程序段…} else{…错误处理…}Date5编译原理状态转换图的实现(续3)对于含回路的状态结点来说,可让它对应一个由While语句和if语句构成的程序段 GetChar(); while(IsLetter()orIsDigit()) GetChar(); …状态j的对应程序段…Date6编译原理tokensIdentifiers:xy11elsen_i00Integers:21000-5005LFloatingpoint:-10Strings:“x”“Hesaid,\“Areyou?\””Comments:/**don’tchangethis**/Keywords:ifelsewhilebreakSymbols:+*{}++<<<[]>=Date7编译原理如何描述tokens我们可以使用正则表达式来描述程序设计语言中的tokens正则表达式(RE,RegularExpression)的定义如下:a ordinarycharacterstandsforitselfε theemptystringR|S eitherRorS(alternation),whereR,S=RERS RfollowedbyS(concatenation),whereR,S=RER* concatenationofaRERzeroormoretimes (R*=ε|R|RR|RRR|RRRR…)在实际形式中,会有优先级的限制,因此可以加入一些括号。Date8编译原理正规式的例子令={a,b},正规式正规集a {a}ab {a,b}ab {ab}(ab)(ab) {aa,ab,ba,bb}a{,a,a,……任意个a的串}(ab){,a,b,aa,ab……所有由a和b组成的串}(ab)(aabb)(ab) {上所有含有两个相继的a或两个相继的b组成的串}Date9编译原理简单的例子正则表达式R描述的字符串的集合表示为L(R)L(R)=由R定义的“语言”L(abc)={abc}L(hello|goodbye)={hello,goodbye}L(1(0|1)*)=所有的非零二进制数我们可以用正则表达式来定义每种类型的tokenDate10编译原理

最近更新

小动物们过寒假作文(四篇) 9页

道德与法治五年级下册期末试卷专题练习(word.. 13页

道德与法治四年级下册期末试卷专题练习(解析.. 14页

道德与法治四年级下册期末试卷达标训练题(Wo.. 14页

部编版一年级下册道德与法治期末试卷易错题(.. 7页

2019年银行业务员年终工作总结优选 2页

部编版八年级下册数学期末试卷(培优篇)(Word版.. 27页

部编版四年级道德与法治下册期末试卷模拟训练.. 15页

部编版四年级下册道德与法治期末试卷综合测试.. 15页

2025年绿山墙安妮读书笔记 7页

2019年高三期中考试总结范文1000字 2页

鄂尔多斯市人教版五年级下册数学期末试卷及答.. 14页

钢铁是怎样炼成的必读名著测试题-试题带解析 19页

长春市七年级下学期期末压轴难题数学试题 26页

黄石市七年级数学下册期末压轴题考试试题 41页

龙岩市六年级人教上册数学期末试卷复习题(及答.. 20页

机械设备进场验收表验收表格 21页

2019年审计人员个人工作总结范文三篇 7页

(完整版)人教八年级下册期末物理测试模拟试.. 22页

(完整版)人教八年级下册期末物理测试试卷精.. 19页

学生家长接送学生协议书(八篇) 21页

(完整版)数学人教六年级下册期末质量测试试.. 17页

(完整版)数学六年级下册期末必考知识点题目.. 16页

建筑结构抗震设计期末考试习题全集 62页

2025年人教版数学七年级下册期末考试试卷及答.. 19页

2025年度中医诊疗方案耳鼻喉科 63页

2023年山东省普通高中学业水平考试语文真题 11页

正畸进修出科汇报 26页

全国二卷听力原文 6页

蔚县城乡总规天大 32页