算符优先实验报告

2018-12-17 10:26

算符优先分析实验报告

一、 程序功能

实现算符优先分析算法,完成以下描述算术表达式的算符优先文法的算符优先分析过程。

G[S]:S->#E# E->E+T|T T->T*F|F F->P^F | P P->(E)|i

二、 主要数据结构

char VT[]定义符号表;struct type{char origin; char array[5]; int length;}定义产生式类型;table[][]定义优先关系矩阵。

三、 程序结构

int locate(char s[],char c) 辅助函数,在一个字符串中查找某特定字符;int Find(type G[],char s[],int m,int n) 查找与已搜索出的短语对应的产生式,返回该产生式的序号;void doScan()对输入串进行分析的主控函数;void print(char s[],int k,int tag,char str[],int i,char action[])输出分析过程的函数。在find()和doScan()中调用locate()函数,在doScan()中调用find()和print()函数,在main()中调用doScan()函数。 流程图:

Y成功

S[k]=’#’;k=1;i=0 a=str[i] N j=k-1 移进 N k=k+1;S[k]=a S[k]属于VT? Y j=k S[j]>a? Y b=S[j] S[j-1]属于VT? Y j=-1 N j=-2 S[j]

测试句子:i+i*i 结果:

测试句子:(i+i)*i 结果:

五、 实验总结

本实验重点解决算符优先矩阵的构造和算符优先算法的实现,我认为难点是构造优先矩阵,这个就需要掌握方法多练习,优先算法只需将PPT上的流程图一步一步地转化为代码就可以了。总体来说,本实验比较简单。


算符优先实验报告.doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:浙江省富阳场口中学高一数学上学期期末复习测试卷 对数与对数函

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: