语法分析程序报告.doc
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《语法分析程序报告.doc》由会员分享,可在线阅读,更多相关《语法分析程序报告.doc(9页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、!-xx理工大学编译原理题目 语法分析程序 姓名: 学号: 班级: 一、实验目的 编制一个递归下降分析程序,实现对词法分析程序所提供的单词序列的语法检查和结构分析。二、实验要求利用C语言编制递归下降分析程序,并对简单语言进行语法分析。2.1 待分析的简单语言的语法用扩充的BNF表示如下:=beginend:=;:=:=ID:=:=+ | -:=* | /:=ID | NUM | ()2.2 实验要求说明输入单词串,以“#”结束,如果是文法正确的句子,则输出成功信息,打印“success”,否则输出“error”。例如: 输入 begin a:=9; x:=2*3; b:=a+x end # 输
2、出 success 输入 x:=a+b*c end # 输出 error2.3 语法分析程序的酸法思想主程序示意图如图2-1所示。置初值调用scaner读下一个单词符号调用lrparser结束图2-1 语法分析主程序示意图递归下降分析程序示意图如图2-2所示。语句串分析过程示意图如图2-3所示。 是否begin?调用statement函数否是是否 ;?调用scaner否调用语句串分析程序是调用scaner是否end?否调用statement函数是调用scaner出错处理syn=0&kk=0?否是出错处理打印分析成功 图2-2 递归下降分析程序示意图 图2-3 语句串分析示意图statement
3、语句分析程序流程如图2-4、2-5、2-6、2-7所示。调用term函数是否标识符?否调用expression函数调用scaner是否:=?调用scaner是否+ , -?否否是调用scaner调用term函数出错处理出错处理图2-4 statement语句分析函数示意图 图2-5 expression表达式分析函数示意图调用scaner调用factor函数出错处理是否* , /?调用factor函数是否标识符?是否否是否整常数?是是否是否(?否是调用scaner是否)?调用expression函数图 2-6 term分析函数示意图否出错处理调用scaner调用scaner是图2-7 fact
4、or分析过程示意图三、语法分析程序的C语言程序源代码#include stdio.h#include string.hchar prog100,token8,ch;char *rwtab6=begin,if,then,while,do,end;int syn,p,m,n,sum;int kk;factor();expression();yucu();term();statement();lrparser();scaner();main() p=kk=0; printf(nGrade:05 Class:03 Name:Qiyubing Number:200507096 n); printf(n-
5、Please input the string end with #:- n); do scanf(%c,&ch); progp+=ch; while(ch!=#); p=0; scaner(); lrparser(); getch();lrparser() if(syn=1) scaner(); /*读下一个单词符号*/ yucu(); /*调用yucu()函数;*/ if (syn=6) scaner(); if (syn=0)&(kk=0) printf(SUCCESS!n); else if(kk!=1) printf(Sorry,the string havent got an en
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语法分析 程序 报告 讲演 呈文
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内