LL1语法分析器实验总报告书.docx

上传人:b****5 文档编号:6007547 上传时间:2023-01-02 格式:DOCX 页数:10 大小:300.05KB
下载 相关 举报
LL1语法分析器实验总报告书.docx_第1页
第1页 / 共10页
LL1语法分析器实验总报告书.docx_第2页
第2页 / 共10页
LL1语法分析器实验总报告书.docx_第3页
第3页 / 共10页
LL1语法分析器实验总报告书.docx_第4页
第4页 / 共10页
LL1语法分析器实验总报告书.docx_第5页
第5页 / 共10页
点击查看更多>>
下载资源
资源描述

LL1语法分析器实验总报告书.docx

《LL1语法分析器实验总报告书.docx》由会员分享,可在线阅读,更多相关《LL1语法分析器实验总报告书.docx(10页珍藏版)》请在冰豆网上搜索。

LL1语法分析器实验总报告书.docx

LL1语法分析器实验总报告书

LL

(1)语法分析器实验报告书

 

小组负责人:

潘豪SWE08030

小组成员:

邹杰光SWE08018

叶凯翔SWE08039

张志峰SWE08046

许英俊SWE08062

 

厦门大学嘉庚学院计算机系软件工程班课程小组

2010年7月

目录

第一章概述3

1.1开发平台3

1.2实验目的3

1.3实验要求3

第二章语法分析器的实现3

2.1LL

(1)语法分析器原理3

2.2求出能推出空的终结符4

2.3FIRST集的确定4

2.4FOLLOW集的确定4

2.5SELECT集的确定4

2.6LL

(1)文法的判别4

2.7逻辑结构4

2.8预测分析表的生成5

2.9句子的判定5

2.10其他说明5

第三章系统运行与测试6

3.1程序运行环境6

3.2运行界面6

3.3系统测试8

第四章总述11

4.1程序综述11

4.2小组工作总结11

第一章概述

1.1开发平台

本程序基于MicrosoftVisualStudio2008开发,使用C#语言。

1.2实验目的

掌握LL

(1)分析法的基本原理,掌握LL

(1)分析表的构造方法,掌握LL

(1)驱动程序的构造方法。

1.3实验要求

编写一个语法分析器,不限语言,方法。

第二章语法分析器的实现

2.1LL

(1)语法分析器原理

语法分析是编译过程的核心部分,它的主要任务是按照程序的语法规则,从由词法分析输出的源程序符号串中识别出各类语法成分,同时进行词法检查,为语义分析和代码生成作准备。

这里采用自顶向下的LL

(1)分析方法。

语法分析程序的流程图如图5-4所示。

2.2求出能推出空的终结符

见许英俊报告

2.3FIRST集的确定

见邹杰光报告

2.4FOLLOW集的确定

见张志峰报告

2.5SELECT集的确定

见叶凯翔报告

2.6LL

(1)文法的判别

见叶凯翔报告

2.7逻辑结构

一个LL

(1)分析器由一张分析表、一个分析栈和一个总控程序组成。

其逻辑结构如图2-1所式。

 

图2-1LL

(1)分析器的逻辑结构

2.8预测分析表的生成

见许英俊报告

2.9句子的判定

当一个文法确定是LL

(1)文法时就可以对输入的语句进行判定了。

首先要安

装SELLECT集生成LL

(1)预测分析表,最简单的方法是使用哈希表来表示,把每一个产生式左部依次和这个产生式SELLECT集中的每一个终结符组成关键字,其值即为这个产生式,送入哈希表。

这样在进行句子的分析时就可以很容易判断是否使用某一个产生式来进行规约。

在实际分析时设置两个栈,把"#"压入分析栈和剩余栈,把开始符压入分析栈,把输入串从右向左送入剩余栈,然后只要两个栈元素个数同时大于1,那么依次从两个栈中取出两个元素进行比较,假如一样就匹配,假如可以规约就规约,否则就不是该文法的句子。

2.10其他说明

本程序使用C#编写,有良好的用户界面,在程序当中,Work类是程序工作类,分析与判断都在这里.Form1为图形界面类,有关图形界面的设置在这里.

第三章系统运行与测试

3.1程序运行环境

2000或XP系统,安装.NetFrameWork3.5以上版本即可运行。

需要调试程序请安装.NetFrameWorkSDK3.5以上版本或直接安装VisualStudio2008以上版本。

3.2运行界面

程序打开后

点确定规则后

点击分析栏

点分析按钮后

3.3系统测试

3.31测试数据一

点击文件菜单,选着打开文件,打开程序目录下yufa1.txt文件,载入测试文法规则:

文法规则(依次为非终结符,终结符,起始符,规则):

SHMA

abde

S

S->aH

H->aMd

H->d

M->Ab

M->$

A->aM

A->e

点击确定规则,程序判断:

判断出该规则是LL

(1)文法规则,测试字符串abddbe#

aaaaebbbd#,符合

测试2:

见图

第四章总述

4.1程序综述

本程序可以很好的判断LL

(1)文法与进行语法分析,拥有良好的界面,可以保存与打开文法,可以保存分析结果。

分析过程提示清楚,方便。

4.2小组工作总结

通过这个学期的学习,我们小组对编译原理有了一定的了解,熟悉了语法分析器与词法分析器的制作与使用,了解了更多关于语言的知识.温老师认真负责,督促我们做好小组作业,这极大提高了我们的动手能力.本次语法分析器分工,我负责统筹分工,总控程序,整合程序,编写图形界面,确定数据结构与模块.邹杰光负责FIRST集确定,张志峰负责FOLLOW集确定,叶凯翔负责select集确定于文法确定,许英俊负责能导出空的非终极符确定和预测分析表的生成。

以上。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 初中教育 > 其它课程

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1