好文档 - 专业文书写作范文服务资料分享网站

新-编译原理语法分析实验报告

天下 分享 时间: 加入收藏 我要投稿 点赞

目录

一.语法分析方法 ......................................... 1

1.判断为算符优先文法: ................................ 1

2.求FirstVT集和LastVT集 ............................. 1

3.根据FirstVT和LastVT集构造算符优先表 ............... 1

二.程序设计 ............................................. 2

1.总体设计 ............................................ 2

2.子程序设计 .......................................... 2

三.程序中的结构说明 ..................................... 3

1.重要函数介绍 ........................................ 3

2.函数代码 ............................................ 3

四.程序测试 ............................................ 13

五、 实验总结 ........................................... 15

一.语法分析方法

有文法G[S]: (0)S’ →#S# (1)S→V (2)V→T|ViT (3)T→F|T+F (4)F→)V*|(

分析的句子为(+(i(

1.判断为算符优先文法:

文法没有A->…BC…且BC均为非终结符,因此它为OG文法 文法没有同时存在

①A->…ab…或A->….aBb…. ②A->…aB…且B=>b….或B=>Cb…. ③A->…Bb….且B=>…a或B=>…aC 文法为算符优先文法

2.求FirstVT集和LastVT集

有产生式(0)S’ →#S# 可得’#’

’#’

表1-1 非终结符的FIRSTVT和LASTVT集合表

S’ S V T FIRSTVT # i, +,),( i,+, ),( +, ) ,( LASTVT # i,+,*,( i,+,*,( +,(,* *,( F ),( 3.根据FirstVT和LastVT集构造算符优先表 表1-2 G[S]的算符优先关系矩阵表

# i +

# i + 1

* ( )

* ( ) 二.程序设计

1.总体设计

读入文法规则 创建文法关系表模块 求FIRSTVT模块 求LASTVT模块 识别终结符模块 求下标模块 读取语法分析串 输入串分析模块 图2-1 总体设计图

2.子程序设计

创建文法关系表模块

求FIRSTVT模块

T 求LASTVT模块 识别终结符模块 F 求下标模块 图2-2 子程序设计创建文法关系模块图

2

新-编译原理语法分析实验报告

目录一.语法分析方法.........................................11.判断为算符优先文法:................................12.求FirstVT集和LastVT集..
推荐度:
点击下载文档文档为doc格式
7fxjh0eyj54ncj33s2bw8iiwn479cv018dk
领取福利

微信扫码领取福利

微信扫码分享