编译原理课程第4讲.ppt
《编译原理课程第4讲.ppt》由会员分享,可在线阅读,更多相关《编译原理课程第4讲.ppt(11页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、温故知新温故知新正规式正规式计算机计算机计算机计算机实现实现实现实现状态转换图状态转换图不确定有不确定有不确定有不确定有限自动机限自动机限自动机限自动机确定有限确定有限确定有限确定有限自动机自动机自动机自动机等价等价等价等价子集构造法子集构造法子集构造法子集构造法最简确定最简确定最简确定最简确定有限自动有限自动有限自动有限自动机机机机等价等价等价等价非形式化非形式化非形式化非形式化描述的语描述的语描述的语描述的语言言言言状态列举法状态列举法状态列举法状态列举法合并不可区别状态合并不可区别状态合并不可区别状态合并不可区别状态手工实现手工实现手工实现手工实现用正规式语法结构来指导构造过程用正规式语
2、法结构来指导构造过程用正规式语法结构来指导构造过程用正规式语法结构来指导构造过程?词法分析器的生成器词法分析器的生成器词法分析器的生成器词法分析器的生成器2.5 词法分析器的生成器词法分析器的生成器 用用Lex建立词法分析器的步骤建立词法分析器的步骤Lex编译器编译器Lex源程序源程序lex.llex.yy.cC编译器编译器lex.yy.ca.outa.out输入流输入流记号序列记号序列2.5 词法分析器的生成器词法分析器的生成器LexLex程序包括三个部分程序包括三个部分 声明声明声明声明 翻译规则翻译规则翻译规则翻译规则 辅助过程辅助过程辅助过程辅助过程Lex程序的翻译规则程序的翻译规则
3、p p1 1 动作动作动作动作11 p p2 2 动作动作动作动作22 p pn n 动作动作动作动作n n 2.5 词法分析器的生成器词法分析器的生成器例例-声明部分声明部分%/*常常常常量量量量LT,LT,LE,LE,EQ,EQ,NE,NE,GT,GT,GE,GE,WHILE,WHILE,DO,DO,ID,ID,NUMBER,RELOPNUMBER,RELOP的定义的定义的定义的定义*/%/*正规定义正规定义正规定义正规定义 */delimdelim t n t n wswsdelimdelim+letterletterA A Za Za z zdigitdigit00 99ididlet
4、ter(letter|digit)letter(letter|digit)*numbernumberdigitdigit+(.digit(.digit+)?(E+)?(E+?digit?digit+)?)?2.5 词法分析器的生成器词法分析器的生成器例例-翻译规则部分翻译规则部分wsws/*没有没有没有没有动动动动作,也不返回作,也不返回作,也不返回作,也不返回 */whilewhilereturn(WHILE);return(WHILE);dodoreturn(DO);return(DO);ididyylval=install_id();return(ID);yylval=install_i
5、d();return(ID);numbernumber yylval=install_num(yylval=install_num();return);return(NUMBER);(NUMBER);“”“”yylval=LT;return(RELOP);yylval=LT;return(RELOP);“=”“=”yylval=LE;return(RELOP);yylval=LE;return(RELOP);“=”“=”yylval=EQ;return(RELOP);yylval=EQ;return(RELOP);“”“”yylval=NE;return(RELOP);yylval=NE;re
6、turn(RELOP);“”“”yylval=GT;return(RELOP);yylval=GT;return(RELOP);“=”“=”yylval=GE;return(RELOP);yylval=GE;return(RELOP);2.5 词法分析器的生成器词法分析器的生成器例例-辅助过程部分辅助过程部分install_ id()install_ id()/*把把把把词词词词法法法法单单单单元装入符号表并返回指元装入符号表并返回指元装入符号表并返回指元装入符号表并返回指针针针针。yytextyytext指向指向指向指向该词该词该词该词法法法法单单单单元的第一个字符,元的第一个字符,元的第一
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 编译 原理 课程
限制150内