• / 39

计算机学院本科课程实验建设及实验指导书编写教改项目启动通知.doc

资源描述:
《计算机学院本科课程实验建设及实验指导书编写教改项目启动通知.doc》由本站会员分享,支持在线阅读,更多《计算机学院本科课程实验建设及实验指导书编写教改项目启动通知定稿.doc》相关的内容可在三九文库网上搜索。

北京邮电大学计算机科学与技术学院《编译原理与技术》实验指导书李文生编著2007年5月目录实验一词法分析器的设计与实现3实验二递归调用语法分析器的设计与实现(选作)7实验三LR语法分析器的设计与实现10实验四语法分析器的自动生成(选作)13实验五非递归的预测语法分析器的设计与实现(选作)16实验六语义分析器的设计与实现19《编译原理与技术》课程设计22附录A:ParserGenerator的使用说明30教材及主要参考文献3939实验一词法分析器的设计与实现一、实验类别:综合型实验二、实验目的1.通过实验进一步理解和掌握词法分析器的工作原理2.熟悉C语言环境编程3.熟悉LEX软件的使用三、实验学时:4学时四、实验组人数:12人五、实验设备环境1.Windows2000/windowsxp2.MicrosoftVirtualC++6。

03.ParserGenerator(forWindows)六、实验原理(知识点)1.正规表达式、正规文法、有限自动机之间的等价性2.单词、模式、与记号3.记号的描述与识别4.程序设计与调试七、教学要点与学习难点1.本实验教学的要点程序设计语言(如Pascal语言)的各类单词符号的正规表达式描述识别各类单词符号的有限自动机的构造2.本实验教学的学习难点记号的描述lex软件的使用八、实验内容和要求1.试验内容:编写Pascal语言的词法分析器2.功能要求1)可以识别出用Pascal语言编写的源程序中的每个单词符号,并以记号的形式输出每个单词符号2)可以识别并读去源程序中的注释3)可以统计源程序中的语句行数、单词个数、字符个数。

其中标点和空格不计算为单词,并输出统计结果4)检查源程序中存在的词法错误,并可以报告错误所在的行列位置5)发现源程序中存在错误后,进行适当的恢复,使词法分析可以继续进行,通过一次词法分析处理,可以检查并报告源程序中存在的所有词法拼写错误3.实现要求既可以采用C++作为实现语言,手工编写词法分析器,也可以利用LEX软件工具,通过编写LEX说明文件自动生成词法分析器。九、实验步骤1.手工编写Pascal语言的词法分析器的实验步骤1)熟悉Pascal语言的字符集、保留字、标点符号等2)对Pascal语言的单词符号进行分类和编码,设计翻译表3)写出每一类单词符号的正规表达式、相应的右线性文法4)构造识别每一类单词符号的有限自动机(状态转换图)5)构造词法分析器的状态转换图6)根据上面的状态转换图构造词法分析器的程序流程图7)编码、调试8)设计测试用例(编写pascal程序。

对其进行词法分析,对输出结果进行分析),完成测试报告。2.利用LEX软件工具自动生成Pascal语言的词法分析器的实验步骤1)熟悉Pascal语言的字符集、保留字、标点符号等2)对Pascal语言的单词符号进行分类和编码,设计翻译表3)写出每一类单词符号的正规表达式4)写出Pascal语言词法分析的Lex说明文件5)用ParserGenerator对该说明文件进行编译、调试、运行等,生成Pascal语言的词法分析器6)在MicrosoftVirtualC++6.0环境中对上面生成的词法分析器进行编译、调试、运行等7)设计测试用例(编写pascal程序,对其进行词法分析。

对输出结果进行分析),完成测试报告。十、可研究与探索的问题分析Lex工具软件所生成的词法分析器的结构。研究Lex软件的工作原理和实现机制。十一、实验报告要求实验报告要求涵盖以下内容:1.实验题目2.实验目的和要求3.实验环境4.设计,包括:1)实现方法(手工实现、Lex工具实现)2)单词分类(单词的分类、类别编码、单词类的描述、模式、识别等)3)词法分析器的输入、输出4)词法分析器的算法逻辑5.编码(源程序)6.测试报告(测试用例、测试结果、测试结果分析)7.实验总结1)实验中遇到或存在的主要问题2)体会/收获3)改进建议实验二递归调用语法分析器的设计与实现(选作)一、实验类别:综合型实验二、实验目的1.通过实验进一步理解和掌握语法分析器的工作原理2.熟悉C语言环境编程三、实验学时:10学时四、实验组人数:12人五、实验设备环境1.Windows2000/windowsxp2.MicrosoftVirtualC++6。

0六、实验原理(知识点)自顶向下分析方法:消除左递归构造状态转换图构造递归调用程序七、教学要点与学习难点1.本实验教学的要点消除文法中的左递归、构造状态转换图2.本实验教学的难点所构造语法分析器与词法分析器的集成八、实验内容和要求1.实验内容编写程序,实现对算术表达式进行语法分析,所分析算数表达式由下面的文法产生:EE+T|E–T|TTT*F|T/F|FFid|(E)|num2.实验要求用自顶向下的方法实现,输出分析过程中所用产生式序列九、实验步骤1)消除文法中存在的左递归2)为上步中得到的文法构造预测分析器状态转换图3)对状态转换图进行化简4)根据化简后的状态转换图构造递归调用程序5)编码、调试6)设计测试用例(编写pascal程序。

对其进行词法、语法分析,对输出结果进行分析),完成测试报告十、可研究与探索的问题分析过程中的错误处理与恢复问题十一、实验报告要求实验报告要求涵盖以下内容:1.实验题目2.实验目的和要求3.实验环境4.设计,包括:1)实现方法2)消除左递归后的文法、状态转换图3)语法分析器的输入、输出4)语法分析器的算法逻辑描述5.编码(源程序)6.测试报告(测试用例、测试结果、测试结果分析)7.实验总结1)实验中遇到或存在的主要问题2)体会/收获3)改进建议实验三LR语法分析器的设计与实现一、实验类别:综合型实验二、实验目的1.通过实验进一步理解和掌握语法分析器的工作原理2.熟悉C语言环境编程三、实验学时:10学时四、实验组人数:12人五、实验设备环境1.Windows2000/windowsxp2.MicrosoftVirtualC++6。

0六、实验原理(知识点)自底向上分析方法:构造识别活前缀的DFA构造分析表LR分析程序七、教学要点与学习难点1.本实验教学的要点构造识别文法所有活前缀的DFA、构造LR分析表2.本实验教学的难点所构造语法分析器与词法分析器的集成八、实验内容和要求1.实验内容编写程序,实现对算术表达式进行语法分析,所分析算数表达式由下面的文法产生:EE+T|E–T|TTT*F|T/F|FFid|(E)|num2.实验要求用自底向上的方法实现,输出分析过程中所用产生式序列九、实验步骤1)根据文法构造识别所有活前缀的DFA2)根据DFA构造LR分析表。

考虑同步信息的设置3)实现教材P.90算法4.3LR分析算法4)编码、调试5)设计测试用例(编写pascal程序,对其进行词法、语法分析,对输出结果进行分析),完成测试报告十、可研究与探索的问题分析过程中的错误处理与恢复问题十一、实验报告要求实验报告要求涵盖以下内容:1.实验题目2.实验目的和要求3.实验环境4.设计,包括:1)实现方法2)识别活前缀的DFA、分析表3)语法分析器的输入、输出4)语法分析器的算法逻辑描述5.编码(源程序)6.测试报告(测试用例、测试结果、测试结果分析)7.实验总结1)实验中遇到或存在的主要问题2)体会/收获3)改进建议实验四语法分析器的自动生成(选作)一、实验类别:综合型实验二、实验目的1.通过实验进一步理解和掌握语法分析器的工作原理2.熟悉C语言环境编程3.熟悉YACC软件的使用三、实验学时:4学时四、实验组人数:12人五、实验设备环境1.Windows2000/windowsxp2.MicrosoftVirtualC++6。

03.ParserGenerator(forWindows)六、实验原理(知识点)LR分析器的工作原理七、教学要点与学习难点1.本实验教学的要点YACC说明文件的格式记号及语义规则的设计2.本实验教学的难点YACC工具的使用YACC说明文件与词法分析器的集成八、实验内容和要求1.实验内容利用YACC工具自动生成表达式的语法分析程序,实现对由下面的文法所产生的算术表达式的语法分析。EE+T|E–T|TTT*F|T/F|FFid|(E)|num2.实验要求1)对于给定的算术表达式输出分析过程中所用产生式序列九、实验步骤1)根据文法书写YACC说明文件2)利用YACC工具自动生成语法分析器3)在C语言环境下对所生产的语法分析器进行编译、链接4)调试5)设计测试用例(编写pascal程序。

对其进行词法、语法分析,对输出结果进行分析),完成测试报告十、可研究与探索的问题分析YACC工具软件所生成的语法分析器的结构。研究YACC软件的工作原理和实现机制。十一、实验报告要求实验报告要求涵盖以下内容:1.实验题目2.实验目的和要求3.实验环境4.设计,包括:1)实现方法2)YACC说明文件中用到的记号、规则、辅助过程等的设计3)语法分析器的输入、输出的设计5.编码(YACC说明文件)6.测试报告(测试用例、测试结果、测试结果分析)7.实验总结1)实验中遇到或存在的主要问题2)体会/收获3)改进建议实验五非递归的预测语法分析器的设计与实现(选作)一、实验类别:验证型实验二、实验目的1.通过实验进一步理解和掌握语义分析器的工作原理2.熟悉C语言环境编程三、实验学时:4学时四、实验组人数:12人五、实验设备环境:1.Windows2000/windowsxp2.MicrosoftVirtualC++6。

0六、实验原理(知识点)自顶向下分析方法:消除左递归构造预测分析表预测分析程序七、教学要点与学习难点1.本实验教学的要点消除文法中的左递归、构造预测分析表2.本实验教学的难点八、实验内容和要求1.实验内容编写程序,实现对算数表达式进行语法分析,所分析算数表达式由下面的文法产生:EE+T|E–T|TTT*F|T/F|FFid|(E)|num2.实验要求用非递归的预测分析方法实现,输出分析过程中所用产生式序列九、实验步骤1)消除文法中存在的左递归2)为上步中得到的文法构造预测分析表3)编码实现教材P.79算法4.1非递归的预测分析方法4)编码、调试5)设计测试用例(编写pascal程序。

对其进行词法、语法分析,对输出结果进行分析),完成测试报告十、可研究与探索的问题分析过程中的错误处理与恢复问题十一、实验报告要求实验报告要求涵盖以下内容:1.实验题目2.实验目的和要求3.实验环境4.设计,包括:1)实现方法2)消除左递归后的文法、预测分析表3)语法分析器的输入、输出4)语法分析器的算法逻辑描述5.编码(源程序)6.测试报告(测试用例、测试结果、测试结果分析)7.实验总结1)实验中遇到或存在的主要问题2)体会/收获3)改进建议实验六语义分析器的设计与实现一、实验类别:综合型实验二、实验目的1.通过实验进一步理解和掌握语义分析器的工作原理2.进一步理解和掌握语法制导翻译技术3.熟悉C语言环境编程三、实验学时:4学时四、实验组人数:12人五、实验设备环境1.Windows2000/windowsxp2.MicrosoftVirtualC++6。

0六、实验原理(知识点)综合属性、继承属性语法制导定义、语法制导翻译方案S属性定义的自底向上翻译七、教学要点与学习难点1.本实验教学的要点语法制导定义的设计,包括属性的定义、语义规则的定义2.本实验教学的难点语法制导翻译程序的设计与实现八、实验内容和要求1.实验内容编写程序,实现对算数表达式进行语义分析,所分析算数表达式由下面的文法产生:EE+T|E–T|TTT*F|T/F|FF(E)|num|num.num2.实验要求1)对表达式的类型进行检查,输出在分析过程中识别出的每个表达式的类型2)计算表达式的值,输出在分析过程中识别出的每个表达式的值3)用自底向上的语法制导翻译技术实现对表达式的分析和翻译九、实验步骤1)设计满足翻译要求的语法制导定义2)构造文法的LR分析表3)定义分析栈的结构4)编码实现语法制导翻译程序、调试5)设计测试用例(编写pascal程序。

对其进行词法、语法分析,语义翻译,对输出结果进行分析),完成测试报告十、可研究与探索的问题分析过程中的错误处理与恢复问题十一、实验报告要求实验报告要求涵盖以下内容:1.实验题目2.实验目的和要求3.实验环境4.设计,包括:1)实现方法2)设计的语法制导定义、LR分析表3)语义分析器的输入、输出4)语法分析器的算法逻辑描述5.编码(源程序)6.测试报告(测试用例、测试结果、测试结果分析)7.实验总结1)实验中遇到或存在的主要问题2)体会/收获3)改进建议《编译原理与技术》课程设计一、实验类别:综合型实验二、实验目的1.加深理解、进而掌握编译程序的设计原理2.理解并掌握编译程序的设计与实现技术3.锻炼学生理解问题、分析问题、解决问题的能力4.锻炼培养学生团队合作精神、组织协调能力5.进一步锻炼学生编程实践能力三、实验学时:17学时四、实验组人数:56人五、实验设备环境1.Windows2000/windowsxp2.MicrosoftVirtualC++6。

展开阅读全文
 温馨提示:
下载提示
关于本文
本文标题:计算机学院本科课程实验建设及实验指导书编写教改项目启动通知.doc
链接地址:https://www.999doc.com/662044.html
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 联系我们

copyright © 2016-2021  999doc三九文库网 版权所有

经营许可证编号:苏ICP备2020069977号  网站客服QQ:772773258  联系电话:0518-83073133