实验三 词法分析与语法分析程序设计
一.实验目的
基本掌握计算机语言的词法分析程序和语法分析程序的设计方法。
二.实验要求、内容及步骤
实验要求:
1.根据以下的正规式,画出状态图;
标识符:字母(字母|数字字符)*
关键字:if then else while do
十进制整数:0 | (1|2|3|4|5|6|7|8|9)(0|1|2|3|4|5|6|7|8|9)*
运算符和分隔符:+ - * / = ( ) 。
2.根据状态图,设计词法分析函数int scan( ),从键盘读入数据,分析出一个单词。
3.对于只含有+、*运算的算术表达式的如下文法,编写相应的语法分析程序,要求用LL(1)分析表实现,并以id+id*id为例进行测试:
E —> TE′
E′—> +TE′|ε
T —> FT′
T′—> *FT′|ε
F —>(E)| id
实验步骤:
1.根据状态图,设计词法分析算法;
2.采用C++语言,实现该算法;
3.调试程序:输入一组单词,检查输出结果;
4.编制给定文法的非递归的预测分析程序,并加以测试。
?
三.实验设备
计算机、Windows 操作系统、Visual C++ 程序集成环境。
实验原理
1. 词法分析器读入输入串,将
原创力文档

文档评论(0)