c语言词法分析报告

c语言词法分析报告

ID:29735381

大小:16.50 KB

页数:5页

时间:2018-12-22

c语言词法分析报告_第1页
c语言词法分析报告_第2页
c语言词法分析报告_第3页
c语言词法分析报告_第4页
c语言词法分析报告_第5页
资源描述:

《c语言词法分析报告》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、为了适应公司新战略的发展,保障停车场安保新项目的正常、顺利开展,特制定安保从业人员的业务技能及个人素质的培训计划c语言词法分析报告  计算机科学与工程系编译原理课程设计实验报告  姓名:__******__学号_*******__年级专业及班级___08计算机科学与技术成绩  -1-  -2-  -3-  -4-  -5-  编译原理  C语言词法分析器构造  学院:信工班级:140学号:XX14002姓名:马鹏程  指导教师:XX年6月日  12  一、实验题目:  编译原理词法分析  二、实验内容:  

2、主程序设计考虑:  主程序的说明部分为各种表格和变量安排空间。id和ci数组分别存放标识符和常数;还有一些为造表填表设置的变量。目的-通过该培训员工可对保安行业有初步了解,并感受到安保行业的发展的巨大潜力,可提升其的专业水平,并确保其在这个行业的安全感。为了适应公司新战略的发展,保障停车场安保新项目的正常、顺利开展,特制定安保从业人员的业务技能及个人素质的培训计划  主程序的工作部分建议设计成便于调试的循环结构。每个循环处理一个单词;调用词法分析过程;输出每个单词的内部码  。建议从文件中读取要分析的符号串

3、。  词法分析过程考虑  该过程根据输入单词的第一个有效字符,判断单词种别,产生种别编码。对于标识符和常数,需分别与标识符表和常数表中已登记的元素相比较,如表中已有该元素,则记录其在表中的位置,如未出现过,将标识符按顺序填入数组id中,将常数存入数组中ci中,并记录其在表中的位置。  注:所有识别出的单词都用二元组表示。第一个表示单词的种别编码。例如:关键字的t=1;标识符的t=2;常数t=3;运算符t=4;界符t=5。第二个为该单词在各自表中的指针或内部码值。  将词法分析程序设计成独立一遍扫描源程序的结

4、构。其主流程图如下:  图1词法分析程序流程图  三、程序源代码:  #include""#include#include#include#includeusingnamespacestd;//关键字结构体structkey{stringkey_word;  intbm;stringzjf;};目的-通过该培训员工可对保安行业有初步了解,并感受到安保行业的发展的巨大潜力,可提升其的专业水平,并确保其在这个行业的安全感。为了适应公司新战略的发展,保障停车场安保新项目的正常、顺利开展,特制定安保从业人员的业务技

5、能及个人素质的培训计划  //界符结构体structJF{charjf_ch;  intbm;stringzjf;};  //运算符结构体structysf{stringysf_w;  intbm;stringzjf;};  //得到关键字字母表voidfuc_K_table(keyK_w[]){inti=0;  ifstreaminfile("E:\cffx\",ios::in);if(!infile)  {cerr>K_w[i].key_word;  infile>>K_w[i].bm;infile

6、>>K_w[i].zjf;}  ();}  //得到界符字母表  voidfuc_JF_table(JFJ_CHAR[]){inti=0;  ifstreaminfile("E:\cffx\",ios::in);if(!infile)  {cerr>J_CHAR[i].jf_ch;  infile>>J_CHAR[i].bm;infile>>J_CHAR[i].zjf;}  ();}  //得到运算符表  voidfuc_ysf_table(ysfYSF_W[])  {inti=0;  ifstream

7、infile("E:\cffx\",ios::in);if(!infile)  {cerr>YSF_W[i].ysf_w(来自:写论文网:c语言词法分析报告);目的-通过该培训员工可对保安行业有初步了解,并感受到安保行业的发展的巨大潜力,可提升其的专业水平,并确保其在这个行业的安全感。为了适应公司新战略的发展,保障停车场安保新项目的正常、顺利开展,特制定安保从业人员的业务技能及个人素质的培训计划  infile>>YSF_W[i].bm;infile>>YSF_W[i].zjf;}  ();}  //查

8、找是否为保留字  intReserve(stringstrToken,keyK_w[]){inti=0;  for(i=0;i=12)return-1;}  //查找是否为界符  intReservejf(charch,JFJ_CHAR[]){inti=0;  for(i=0;i=9)return-1;}  //查找是否为运算符  intReserveysf(stringstrToken,ysfYSF_W[]){

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

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

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