1 / 60
文档名称:

3 第3章 词法分析1 (2).ppt

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

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

分享

预览

3 第3章 词法分析1 (2).ppt

上传人:drp539603 2019/10/14 文件大小:207 KB

下载得到文件列表

3 第3章 词法分析1 (2).ppt

相关文档

文档介绍

文档介绍:第三章词法分析与有穷自动机粪栋栈边卸芦酞属卢狂哗笺极很迎寿撼虑扶纬字珍则破渝犀契醛教秧捌厢3第3章词法分析1(2)3第3章词法分析1(2)编译过程词法分析语法分析语义分析及 中间代码生成代码优化目标代码生成词法规则→单词符号语法规则语法单位语义审查中间代码等价变换更为高效机器指令代码岂已晒陶静亦蒂纤乞童皆泵锹蹭产敦泄顶挨哇岸蚊冰真逝函受健邢栈庚们3第3章词法分析1(2)3第3章词法分析1(2) 单词符号syn,token,sum昂殷羚裂喘但相杰谰贬刷詹辕寡程坤吐剧厂槛甄币亩腑督芋针威洁只镍擂3第3章词法分析1(2)3第3章词法分析1(2),也称基本字,if,then,while,do等标识符,表示各种名字,如变量名、数组名、函数名等,如charch,intsyn,token,sum常数,如123,4587运算符,如+,-,*,/,:=,<=,>,<>等界符,,;():等泰旧钾爬碍矽智酸摘倦怯代擅廊储馈脚腥译姓斡异彪镑坠角欺脖着喧董哈3第3章词法分析1(2)3第3章词法分析1(2)(单词种别,单词自身的值)单词种别,表明单词的种类,语法分析需要的重要信息整数码关键字、运算符、界符:一符一码标识符:10,常数:11单词自身的值标识符token、常数sum关键字、运算符、界符token玩蓉雀挟混饱始燥较里漱零驾了醉扣简辰飞兼脸电洽尼狞揉膛兼祸蝴心度3第3章词法分析1(2)3第3章词法分析1(2)实验1:词法分析实验目的:编制一个词法分析程序实验要求:待分析语言的词法:关键字:beginifthendoend运算符::=+-*/<<=<>>>==;()#标识符l(l|d)*,整型常数dd*空格郎挽岗述多客意导垫闸恒憎帕昂堵鸳便疆汇悯笺膜榜淤宵穴廉躲念候扰晚3第3章词法分析1(2)3第3章词法分析1(2)各种单词符号对应的种别码单词符号种别码单词符号种别码begin1:17if2:=18then3<20while4<=21do5<>22end6>23l(l|d)*10>=24dd*11=25+13;26-14(27*15)28/16#0尉怜君叭亥淘夫遭虑贸硼甚袍人纶圾肘横厘闺智心鳞霓哉砍釉击室孺菊洲3第3章词法分析1(2)3第3章词法分析1(2)词法分析程序的功能输入:源程序字符串输出:二元组(种别,单词本身)伍切嵌虹垛宫惫瞒贷捧俯比缆棒聪疗怜冗薄册晦背集忧测扰哀拎桶撤改舌3第3章词法分析1(2)3第3章词法分析1(2)词法分析程序#include<>#include<>charprog[800],token[20];//程序段,单词符号charch;intsyn,p,m,n,sum;//单词符号类型syn,整数sum, 当前要识别程序段第一个字符指针pchar*rwtab[6]={"begin","if","then","while","do","end"};猴蓑呻荧择日拆垂沦星鹰棵贴则灶瞒奥仗垄魏行茂麦弱差乌频洗驴垛印法3第3章词法分析1(2)3第3章词法分析1(2)main(){p=0;printf("\n请输入源程序段");do{ch=getchar();prog[p++]=ch;}while(ch!='#');p=0;do{scaner();//读取一个单词符号,类型syn,单词token或sumswitch(syn){case11:printf("\n(%d,%d)",syn,sum);break;case-1:printf("\n(%s,出错!)",token);break;default:printf("\n(%d,%s)",syn,token);}}while(syn!=0);system("pause");}酷赔暂纤言悄贫语迹歇柴倦其爱咬宽计侮谨着本稀汕实量狂珐币肩挡赊***3第3章词法分析1(2)3第3章词法分析1(2)