欢迎来到天天文库
浏览记录
ID:41716714
大小:89.53 KB
页数:22页
时间:2019-08-30
《【编译原理】自顶向下语法分析方法的实现》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、实验报告实验项目列表序号实验项目名称成绩01DFA的牛成与字符串的识别02程序段的单词识别03口顶向下语法分析方法的实现04050607080910111213141516总评成绩:教员签字:一、实验名称自顶向下语法分析方法的实现二、实验目的1•掌握自顶向下语法分析的方法;2.运用编程的手段实现自顶向下语法分析。三、实验内容和要求1.硬件环境:PC机2.软件环境:Windows操作系统,VC++集成开发环境五、算法设计思想六、主要问题与解决方法七、实验结果以下是程序的用户运行界面截图:9:樹编译磁M3肚验何功DebugLLl分折法.exh•£3P:
2、樹侔译^M3疼验何劭DebugLLl分鬼・exe・[aB
3、m£3JT输入串"abede"的分析过程步骤分析栈剩余输入串所用严生式1ttSabedettSKA2#Aaabedett〈匹配〉3HAbedettA—SBe4tteBSbede#S—bB5tteBBbbedett〈匹配〉6tteBBedettB^e?tteBeedett〈匹配〉8tteBde”B^dC9tteCdde#〈匹配〉10tteCettc—s11tteett〈匹配〉12s接受Pressanykeytocontinue_请输入需要分析的句子:aaaa半:八、体会.质疑、建议九、源代码#i
4、nclude#include#include#include#include#include#include#include#include#defineM20usingnamespacestd;voidgotoxy(intx,inty){COORDcoord;coord.X=x;coord.Y=y;SetConsoleCursorPosition(GetStdHandle(STD_OUT
5、PUT_HANDLE),coord);classtable{public:voidread();friendclassan_process;stringfind_str(charrow,charcol);private:stringmatrix[M][M];charstart;vectorvec_row;vectorvec_col;};classsentencepublic:voidread_in();friendclassan_process;private:stringstr_input;};classan_process
6、{public:voidanalyse(consttableLLl_table,constsentenceinput);voidwrite_result();voidprint2(intx,inty);private:vectorstep;vector>stack_note;vectorremain;vectorproduction;};voidtable::read()stringa,str;charx,y;intlinenum=0;charline[1024]={0};ifstreami
7、nfile(Htablel.txtn);if(!infile)cerrvv”错误!无法存储用户数据!”;while(infile.getline(line,sizeof(line))){stringstreamword(line);if(linenum>l){if(word»x&&word>>y&&word»str)matrix[x-48][y-48]=str;/*cout«x«n”;cout«y«nn;cout«matrix[x-48][y-48]«n";*/}}while(word»a&&linenum<2){if(linenum==O){vec_c
8、ol.push_back(a);/*cout«a«nn;*/}elseif(linenum==l){vec_row.push_back(a);/*coutvvavv"”;*/}/*coutvvendl;*/linenum++;}start=vec_col[0][0];/*for(inticnt=0;icnt9、icnt]«n}*/}stringtable::find_str(charrow,charcol){for(intx=0;x10、0;y
9、icnt]«n}*/}stringtable::find_str(charrow,charcol){for(intx=0;x10、0;y
10、0;y
此文档下载收益归作者所有