欢迎来到天天文库
浏览记录
ID:29850084
大小:16.50 KB
页数:5页
时间:2018-12-24
《c语言词法分析报告_1》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
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。第二个为该单词在各自表中的指针或内部码值。 将词法分析程序设计成独立一遍扫描源程序的结构。其主流程图如下: 图1词法分析程序流程图 三、程序源代码: #inc
4、lude""#include#include#include#includeusingnamespacestd;//关键字结构体structkey{stringkey_word; intbm;stringzjf;};目的-通过该培训员工可对保安行业有初步了解,并感受到安保行业的发展的巨大潜力,可提升其的专业水平,并确保其在这个行业的安全感。为了适应公司新战略的发展,保障停车场安保新项目的正常、顺利开展,特制定安保从业人员的业务技能及个人素质的培训计划 //界符结构体structJF{charjf_ch; intbm;strin
5、gzjf;}; //运算符结构体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>>K_w[i].zjf;} ();} //得到界符字母表 voidfuc_JF_table(JFJ_CHAR[]){int
6、i=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; ifstreaminfile("E:\cffx\",ios::in);if(!infile) {cerr>YSF_W[i].ysf_w(来自:写论文网:c语言词法分析
7、报告);目的-通过该培训员工可对保安行业有初步了解,并感受到安保行业的发展的巨大潜力,可提升其的专业水平,并确保其在这个行业的安全感。为了适应公司新战略的发展,保障停车场安保新项目的正常、顺利开展,特制定安保从业人员的业务技能及个人素质的培训计划 infile>>YSF_W[i].bm;infile>>YSF_W[i].zjf;} ();} //查找是否为保留字 intReserve(stringstrToken,keyK_w[]){inti=0; for(i=0;i=12)return-1;} //查找是否为界符 i
8、ntReservejf(charch,JFJ_CHAR[]){inti=0; for(i=0;i=9)return-1;} //查找是否为运算符 intReserveysf(stringstrToken,ysfYSF_W[]){
此文档下载收益归作者所有