实验二 语法分析
一.实验内容
采用递归下降分析法对简单算术表达式进行语法分析。
二.实验目的
通过构建简单的算术表达式的递归下降语法分析器,加深对编译中语法分析的理解,进而提高对软件实现技术和方法的理解。具体体现在:
1、针对一个给定符号串,实现从左至右顺序扫描,按照文法规则识别是否符合给定文法的正确句子;
2、掌握语法分析的特点是根据文法规则识别输入串,输出结果只有两种情形:正确或错误。
三.实验原理
在递归下降LL(1)分析法中,每个非终结符对应一个分析子程序,分析程序从调用文法开始符号所对应的分析子程序开始执行。
1.按照文法规则,每遇到一个终结符,则判断当前读入的单词符号是否与该终结符相匹配,若匹配,则继续读取下一个单词符号;若不匹配,则进行错误处理。
2.每遇到一个非终结符,则调用相应的分析子程序。以此方法,实现完整的字符串的语法分析。
- 实验环境
实验环境:计算机,VC++6.0
五.实验要求
基本内容:
给定简单算术表达式文法:
E → T | T + T | T - T
T → F | F * F | F / F
F → (E) | a | b | c
等价于:
E → T{ + T |-T }
T → F{ * F | / F }
F → (E) | a | b | c