编译技术编译原理 (12).pdf





《编译技术编译原理 (12).pdf》由会员分享,可在线阅读,更多相关《编译技术编译原理 (12).pdf(38页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、编译技术词 法 分 析词法分析器语法分析器符号表源程序本讲纲要词法分析器的生成器Lex用Lex建立词法分析器的步骤Lex编译器Lex源程序lex.llex.yy.cC编译器lex.yy.ca.outa.out输入流记号序列词法分析器的生成器Lex的工作原理根据描述匹配模式的正则表达式构造出DFA,而后基于此DFA生成词法分析程序的主控制结构词法分析器的生成器Lex的工作原理根据描述匹配模式的正则表达式构造出DFA,而后基于此DFA生成词法分析程序的主控制结构Lex的实现宿主语言:C,C+等每个匹配动作相关的代码被放在对应的状态的处理代码块中词法分析器的生成器Lex的工作原理根据描述匹配模式的正
2、则表达式构造出DFA,而后基于此DFA生成词法分析程序的主控制结构Lex的实现宿主语言:C,C+等每个匹配动作相关的代码被放在对应的状态的处理代码块中Lex工具lex,flexJLexTP Lex词法分析器的生成器Lex程序包括三个部分声明翻译规则辅助过程词法分析器的生成器Lex程序包括三个部分声明翻译规则辅助过程词法分析器的生成器Lex程序包括三个部分声明翻译规则辅助过程词法分析器的生成器Lex程序包括三个部分声明翻译规则辅助过程Lex程序的翻译规则p1动作1p2动作2pn动作n词法分析器的生成器Lex程序包括三个部分声明翻译规则辅助过程Lex程序的翻译规则p1动作1p2动作2pn动作n例-
3、声明部分%/*常量LT,LE,EQ,NE,GT,GE,WHILE,DO,ID,NUMBER,RELOP的定义*/%/*正规定义*/delim t n wsdelim+letterA Za zdigit09idletter(letter|digit)*numberdigit+(.digit+)?(E+?digit+)?例-声明部分%/*常量LT,LE,EQ,NE,GT,GE,WHILE,DO,ID,NUMBER,RELOP的定义*/%/*正规定义*/delim t n wsdelim+letterA Za zdigit09idletter(letter|digit)*numberdigit+(.
4、digit+)?(E+?digit+)?例-声明部分%/*常量LT,LE,EQ,NE,GT,GE,WHILE,DO,ID,NUMBER,RELOP的定义*/%/*正规定义*/delim t n wsdelim+letterA Za zdigit09idletter(letter|digit)*numberdigit+(.digit+)?(E+?digit+)?例-声明部分%/*常量LT,LE,EQ,NE,GT,GE,WHILE,DO,ID,NUMBER,RELOP的定义*/%/*正规定义*/delim t n wsdelim+letterA Za zdigit09idletter(letter
5、|digit)*numberdigit+(.digit+)?(E+?digit+)?例-翻译规则部分ws/*没有动作,也不返回*/whilereturn(WHILE);doreturn(DO);idyylval=install_id();return(ID);number yylval=install_num();return(NUMBER);“”yylval=LT;return(RELOP);“=”yylval=LE;return(RELOP);“=”yylval=EQ;return(RELOP);“”yylval=NE;return(RELOP);“”yylval=GT;return(RE
6、LOP);“=”yylval=GE;return(RELOP);例-翻译规则部分ws/*没有动作,也不返回*/whilereturn(WHILE);doreturn(DO);idyylval=install_id();return(ID);number yylval=install_num();return(NUMBER);“”yylval=LT;return(RELOP);“=”yylval=LE;return(RELOP);“=”yylval=EQ;return(RELOP);“”yylval=NE;return(RELOP);“”yylval=GT;return(RELOP);“=”yy
7、lval=GE;return(RELOP);例-翻译规则部分ws/*没有动作,也不返回*/whilereturn(WHILE);doreturn(DO);idyylval=install_id();return(ID);number yylval=install_num();return(NUMBER);“”yylval=LT;return(RELOP);“=”yylval=LE;return(RELOP);“=”yylval=EQ;return(RELOP);“”yylval=NE;return(RELOP);“”yylval=GT;return(RELOP);“=”yylval=GE;re
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 编译技术编译原理 12 编译 技术 原理 12

限制150内