编译原理语法分析实验报告
5页1、实验2:语法分析1.实验题目和要求题目:语法分析程序的设计与实现。实验内容:编写语法分析程序,实现对算术表达式的语法分析。要求所分析算术表达式由如下的文法产生。E E T | E T |T T T * F |T/ F | F F id |(E) |num实验要求:在对输入表达式进行分析的过程中,输出所采用的产生式。方法1 :编写递归调用程序实现自顶向下的分析。方法2:编写LL(1)语法分析程序,要求如下。(1)编程实现算法4.2,为给定文法自动构造预测分析表。(2)编程实现算法4.1,构造LL(1)预测分析程序。方法3:编写语法分析程序实现自底向上的分析,要求如下。(1)构造识别所有活前缀的DFA。(2)构造LR分析表。(3)编程实现算法4.3,构造LR分析程序。方法4:利用YACC自动生成语法分析程序,调用 LEX自动生成的词法分析程序。实现(采用方法1)1.1.步骤:1)对文法消除左递归 (E TEE TE | TE | (T FTT *FT |/FT |F id|(E)|num2)画出状态转换图Id num化简得:T 弋Id num3)源程序在程序中I表不 idN表示num-?
2、include rdid h inchide - instreaT - inrInde includi? .sirijiigiiKstd;.在放轴入字符惠当前指向的字符二当前字符在字符串的位:置string iwu?string. rhar nowpoint-f ini nrvoid error(voidi -cout*/error .二;E void forward (void) 。指针指向七一1个字符itf nowpoinTer=inputstringnJ .-void prod (void5: void procF(voidl;void procE (void);rroeT 0;if (nowpoiriTer - -J ) f CKiTErci ();orocE ():cout*E-Ei-Tn*;el se i f (nowpointer - -): forward 0 PprocEC1 :cout*E-E-Tn*: elsecoutTn;-Ivoid DrocT void) procF ();if (nowpointer = *) forward ():procT ();cou
3、tT*Fn*;lelse if (nowcointer =二/) forward ();procTO;coutT-T*Fn::else cout T-Fn”;IEvoid procF(void):if (novpointer = C ) forward 0;procE();if (nowpointer = ) forward。; cout*F- (E 八 n;elseerror ();else if(noKpointer = )forward ();coutF-idn;else if(noiM)ointer = N)forward ();c out F-numn ;lelseerror ():J-mt main。(cininputstring;input str ing+=;添加作为字符串的尾nowpointer=inputstringLO.;n=0;procE ();i(nowpointer = *)当指向尾时,语法正确cout语法正确n:elsecoutn;return 0 ;|1.2. 例子:a) 例子1输入:I+(N*N)输出:f F :V Syu fa fe nxiDeb Ligyufafe nxi.eKeF-id T-F F-num F-numT-F T-T*F E-T F-XEi r-F E-T E-E+T 语法正确b) 例子2输入:I-NN输出:
《编译原理语法分析实验报告》由会员人***分享,可在线阅读,更多相关《编译原理语法分析实验报告》请在金锄头文库上搜索。
公司间借款合同律师版(5篇)
抵押汽车合同.doc
三峡作业陈金萍
2023年护理带教工作总结六篇
新课标高中数学计数原理Word版
初二续写改写作文:鲸的自述
2022年高中生物 第五章 细胞的能量供应和利用学业质量标准检测 新人教版必修1
2022年五年级语文上册 8.小桥流水人家教案 新人教版
食品安全宣传周的活动总结(二篇).doc
三年级英语教师上学期工作总结
2022年公司保安转正申请书
[纪念馆]爱国诗词
浅谈物业管理服务中的客户沟通的方式与技巧同名
中考语文阅读答题技巧:记叙文
初一综合测试题张晓昌
机械设备技术员的岗位职责范文(四篇).doc
学生会换届选举方案.doc
黑木耳红枣酸奶配方的研制
天津市企业事业单位劳动合同书官方
亚马逊常用英语
2023-08-30 7页
2023-04-06 7页
2023-12-07 3页
2023-04-26 7页
2022-11-20 2页
2022-10-08 5页
2023-10-15 5页
2022-07-26 24页
2023-10-05 12页
2023-10-23 8页