编译原理课程设计_LL(1)文法的判定
发布时间:2023-01-08 07:34:53 来源:文档文库
小
中
大
字号:
课程设计报告
课程:学号:姓名:班级:教师:时间:
编译原理课程设计
>>>>>>>>
>>>>
>>>>
2015.05.20-2015.07.02
>>>>
计算机学院
>>>>
设计名称:
LL(1)文法的判定(假设文法符合的First和Follow集已/未知)
设计内容、目的与要求:
1、设计内容(1LL(1)文法的判定(假设文法符合的First和Follow集已/未知)根据LL(1分析法编写一个语法分析程序,可根据自己实际情况,选择以下一项作为分析算法的输入:
a.直接输入根据已知文法构造的分析表M;b.输入文法的FIRST(α和FOLLOW(U集合,由程序自动生成文法的分析表M;c.输入已知文法,由程序自动构造文法的分析表M。
(2所开发的程序可适用于不同的文法和任意输入串,且能判断该文法是否为LL(1文法。
(3如完成前两项,可增加运行实例,对于输入的文法和符号串,所编制的
语法分析程序应能正确判断此串是否为文法的句子,并要求输出分析过程。
2、要求:
输入文法,输出判定该文法是否是LL(1)的。
计划与进度安排:
5月20日—5月23日:查阅资料,进一步掌握LL(1)文法的定义,掌握LL(1)
分析法及其原理;
5月24日—5月26日:分析题目,画出系统的流程图;
5月27日—5月29日:根据流程图,将系统功能划分成各个不同的模块;
5月30日—5月31日:根据不同的模块,设计与其相对应的函数,并依据分析
函数的功能设置函数的参数和返回值;
6月1日—6月2日:根据上一步的各个函数,编写对应的代码;
6月3日—6月4日:对各个函数进行编译和检查;
6月5日—6月6日:编写程序执行的入口函数main()函数,通过调用各个函
数,实现整个程序的基本功能;
6月7日—6月8日:编写程序执行的入口函数main