Word 资料
.
编译原理实验
专业:13级网络工程
.
语法分析器1
一、 实现方法描述 所给文法为G【E】; E->TE’ E’->+TE’|空 T->FT’ T’->*FT’|空 F->i|(E) 递归子程序法:
首先计算出五个非终结符的first集合follow集,然后根据五个产生式定义了五个函数。定义字符数组vocabulary来存储输入的句子,字符指针ch指向vocabulary。从非终结符E函数出发,如果首字符属于E的first集,则依次进入T函数和E’函数,开始递归调用。在每个函数中,都要判断指针所指字符是否属于该非终结符的first集,属于则根据产生式进入下一个函数进行调用,若first集中有空字符,还要判断是否属于该非终结符的follow集。以分号作为结束符。
二、 实现代码 头文件 shiyan3.h #include
Word 资料
.
#include
void judge_E(); void judge_EE(); void judge_T(); void judge_TT(); void judge_F(); 源文件
#include\void judge_E() {
if(*ch==';') {
cout<<\该句子符合此文法!\
Word 资料
编译原理实验报告(语法分析器)
Word资料.编译原理实验专业:13级网络工程.语法分析器1一、实现方法描述所给文法为G【E】;E->TE’E’->+TE’|空
推荐度:
点击下载文档文档为doc格式