欢迎来到天天文库
浏览记录
ID:50430504
大小:230.00 KB
页数:7页
时间:2020-03-09
《编译原理 词法分析器.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;}
此文档下载收益归作者所有