语义分析代码(模仿语法制导翻译)

语义分析代码(模仿语法制导翻译)

ID:8958039

大小:9.94 KB

页数:6页

时间:2018-04-13

语义分析代码(模仿语法制导翻译)_第1页
语义分析代码(模仿语法制导翻译)_第2页
语义分析代码(模仿语法制导翻译)_第3页
语义分析代码(模仿语法制导翻译)_第4页
语义分析代码(模仿语法制导翻译)_第5页
资源描述:

《语义分析代码(模仿语法制导翻译)》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、#include#include#includeusingnamespacestd;stackstate;stacksymbol;stackval;charsen[50];charsym[12][6]={//符号表{'s','e','e','s','e','e'},{'e','s','e','e','e','a'},{'r','r','s','r','r','r'},{'r','r','r','r','r','r'},{'s','e','e','s','e','e'},{'r','r','r','r

2、','r','r'},{'s','e','e','s','e','e'},{'s','e','e','s','e','e'},{'e','s','e','e','s','e'},{'r','r','s','r','r','r'},{'r','r','r','r','r','r'},{'r','r','r','r','r','r'}};charsnum[12][6]={//数字表{5,1,1,4,2,1},{3,6,5,3,2,0},{2,2,7,2,2,2},{4,4,4,4,4,4},{5,1,1,4,2,1},{6,6,6,6,6,6},{5,1,1,4,2,1},{5,1,1

3、,4,2,1},{3,6,5,3,11,4},{1,1,7,1,1,1},{3,3,3,3,3,3},{5,5,5,5,5,5}};intgo2[12][3]={//goto表{1,2,3},{0,0,0},{0,0,0},{0,0,0},{8,2,3},{0,0,0},{0,9,3},{0,0,10},{0,0,0},{0,0,0},{0,0,0},{0,0,0}};voidaction(inti,char*&a,char&how,int&num,char&A,int&b)//action函数[i,a]{intj,r;switch(*a){case'i'://case'd':j=

4、0;break;case'+':j=1;break;case'*':j=2;break;case'(':j=3;break;case')':j=4;break;case'#':j=5;break;default:j=-1;break;}if(j!=-1){how=sym[i][j];num=snum[i][j];if(how=='r'){switch(num){case1:A='E',b=3;cout<<"按E->E1+T规约tE.val=E1.val+T.valt"<

5、);val.pop();val.push(r);cout<<"tt"<T规约tE.val=T.valtt"<T1*F规约tT.val=T1.val*F.valt"<

6、tt"<F规约tT.val=F.valtt"<(E)规约tF.val=E.valtt"<

7、"按F->digit规约tF.val=digit.lexvalt"<

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。