编译原理 词法分析器.doc

编译原理 词法分析器.doc

ID:50430504

大小:230.00 KB

页数:7页

时间:2020-03-09

编译原理 词法分析器.doc_第1页
编译原理 词法分析器.doc_第2页
编译原理 词法分析器.doc_第3页
编译原理 词法分析器.doc_第4页
编译原理 词法分析器.doc_第5页
资源描述:

《编译原理 词法分析器.doc》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、《编译原理》实验报告班级:软件1302姓名:周云翔学号:131320226指导老师:万燕实验内容:设计:词法分析器目标:用flex编写词法分析器。功能要求:从源程序文件中识别出一个个单词符号,构造标识符表,并按要求输出单词,符号的二元式,要求有出错报告。参与人员:个人一、实验平台:cmd,vc++运行环境:vc++操作系统:windows二、程序构架:先定义标识符,正整数,保留字,单运算符,双运算,符界符,注释再利用二元式输出法将分析后的数据输出。三、各类具体设计及遇到问题Keyword与opreat

2、or用到了大量if循环用于输出二元式序号略显麻烦,代码有些多,用文本编辑flex文件时总会遇见编译错误会忘记输入空格和%,查找程序错误时代码冗长不好查找。四、功能测试一、程序存在不足:程序代码过长二、心得体会:在学习flex与yacc时遇到了很多困哪感觉各种代码十分复杂,各种符号的应用看起来很头疼了解了单词分析后才慢慢有所理解,但现在学的还只是皮毛想要写出更好的程序还需要更加深入的学习。三、源代码:Flex:elseif(strcmp(yytext,"<>")==0)keywordNum=28;pri

3、ntf("(%d,0)%s",keywordNum,yytext);}{note}{}{border_operator}{if(strcmp(yytext,";")==0)keywordNum=30;elseif(strcmp(yytext,",")==0)keywordNum=32;elseif(strcmp(yytext,".")==0)keywordNum=31;printf("(%d,0)%s",keywordNum,yytext);}{error}{printf("**error(%

4、d)**",errorCount);errorCount++;}{ignore}{/*忽视*/}%%intmain(){yylex();return0;}

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。