网站大量收购独家精品文档,联系QQ:2885784924

福建农林大学-编译原理课程设计(原创).doc

  1. 1、本文档共21页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
福建农林大学-编译原理课程设计(原创)

福建农林大学计算机与信息学院 计算机类 课程设计报告 课程名称: 编译原理 课程设计题目: 语法分析器 姓 名: 系: 计算机 专 业: 年 级: 学 号: 指导教师: 2011~2012学年第一学期 福建农林大学计算机与信息学院计算机类 课程设计结果评定 评语: 成绩: 指导教师签字: 任务下达日期: 评定日期: 目 录 1 正则表达式 1 1.1 正则表达式 1 1.2 确定化(化简)后的状态转换图 1 1.3 分析程序代码 1 1.4 程序运行截图 1 1.5 小结 1 2 LL(1)分析 2 2.1 LL(1)文法 2 2.2 LL(1)预测分析表 2 2.3 分析程序代码 2 2.4 程序运行截图 2 2.5 小结 2 3 算符优先分析 3 3.1 算符优先文法 3 3.2 算符优先关系表 3 3.3 分析程序代码 3 3.4 程序运行截图 3 3.5 小结 3 4 LR分析 4 4.1 LR文法 4 4.2 LR分析表 4 4.3 分析程序代码 4 4.4 程序运行截图 4 4.5 小结 4 参考文献: 4 1 正则表达式 1.1 正则表达式 (a|b)*(aa|bb)(a|b)* (注:该正规式为示例,可更改) 1.2 确定化(化简)后的状态转换图 1.3 分析程序代码 程序要求:用户输入一个符号串,程序判断是否为给定方法的句子。 五号字,固定值12磅行间距。 程序要有注释 #include stdio.h #include string.h #include stdio.h #include iostream #define STRM 5 #define STRN 2 class CodeParse { public: void CodeParse::disPlayResult(int argc,char * argv[]); private: int analyzer(char *words); }; int CodeParse::analyzer(char *words) { int index=0,tab_pint=1; int map_table[STRM][STRN] = {{1,2},{2,3},{4,3},{2,4},{4,4}}; while(words[index]!=\0) { if(words[index]==a) { tab_pint=map_table[tab_pint][0]; } else if(words[index]==b) { tab_pint=map_table[tab_pint][1]; } else { printf(Error of the input\n); return 0; } index++; } if (tab_pint==4) return 1; else return 0; } void CodeParse::disPlayResult(int argc,char * argv[]) { if (analyzer(argv[1])0) std::coutThe str is rightstd::endl; else std::coutinput ERRORstd::endl; } int main(int argc,char * argv[]) { if(argc!=2) std::coutThe commond is errorstd::endl; else { CodeParse codeParse; codeParse.disPlayResult(argc,argv); } return 0; } 1.4 程序运行截图 1.5 小结: 2 LL(1)分析 2.1 LL(1)文法 E→TE (注:该文法为示例,可更改) E→+TE|ε T→FT T→*FT|ε F→(E)|i 2.2 LL(1)预测分析表 Id + * ( ) # E E-TE’ E-TE’ E’ E’-+TE’ E’-ε E’-ε T T-FT’ T-FT’ T’ T’-ε T’-*FT’ T’-ε T’-ε F F-id F-(E) 2.3 分析程序代码 程序要求:用户输入一个符号串,程序判断是否为给定方法的句子。 五号字,固定

文档评论(0)

shenlan118 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档