2024年5月25日发(作者:)
编
译
原
理
实
验
报
告
一、
实验目的:
(1)掌握自上而下语法分析的要求与特点。
(2)掌握递归下降语法分析的基本原理和方法。
(3)掌握相应数据结构的设计方法。
二、
实验内容:
编程实现给定算术表达式的递归下降分析器。
算术表达式文法如下:
S→a|∧|(T)
T→T,S|S
三、
设计说明:
首先改写文法为LL(1)文法;然后为每一个非终结符,构造相应的递归过
程,过程的名字表示规则左部的非终结符;过程体按规则右部符号串的顺
序编写。
四、
设计分析
这个题目属于比较典型的递归下降语法分析。需要先将原算术表达式方法
改写为LL(1)文法为:
S→a|∧|(T)
T→ST’
T’→,ST’|ε
然后再为每个非终结符设计一个对应的函数,通过各函数之间的递归调用从
而实现递归下降语法分析的功能。
具体方法为:
(1)当遇到终结符a时,则编写语句
If(当前读到的输入符号==a)读入下一个输入符号
(2)当遇到终结符∧时,则编写语句
If(当前读到的输入符号==∧)读入下一个输入符号


发布评论