天津理工大学编译原理实验3:语义分析及中间代码生成

2026/4/27 21:05:49

case '#': return 6; case '(': return 7; case 'i': return 8; case 'E': return 9; case 'T': return 10; case 'F': return 11; case 'P': return 12; default: cout<<\ return -1; } }

int getraw(char raw) {

switch(raw) { case '0': return 0; case '1': return 1; case '2': return 2; case '3': return 3; case '4': return 4; case '5': return 5; case '6': return 6; case '7': return 7; case '8': return 8; case '9': return 9; case 'a':

return 10; case 'b': return 11; case 'c': return 12; case 'd': return 13; case 'e': return 14; case 'f': return 15; case 'g': return 16; case 'h': return 17; case 'i': return 18; default: cout<<\ return -1; } }

char getraw_content(string str) {

if(str==\ return '1'; else if(str==\ return '2'; else if(str==\ return '3'; else if(str==\ return '4'; else if(str==\ return 'c'; else if(str==\ return 'd'; else if(str==\ return 'e'; else if(str==\ return 'f'; else if(str==\ return 'g'; else if(str==\ return 'h';

else if(str==\ return 'i'; }

string get_tx(int num) {

switch(num) { case 1: return \ case 2: return \ case 3: return \ case 4: return \ case 5: return \ case 6: return \ case 7: return \ case 8: return \ case 9: return \ case 10: return \ case 11: return \ case 12: return \ case 13: return \ case 14: return \ case 15: return \ case 16: return \ //......本程序暂时用到这么多,等有时间编写合适的可以将数字转换为字符串的函数时,即可更改本函数 } }

void show(char str[size],int index) {

int length=getLength(str); if(index!=-1) cout<<\

for(int i=index+1;i

void showc(char_stack str[size],int index) {

int length=getLengthc(str); if(index!=-1) cout<<\

for(int i=index+1;i

void switch_method(char_stack *stack,int *pointer,char *state_stack,int *pointer_state,string production,char *str,int *index) {

step++;

cout<<\显示步骤 show(state_stack,-1);//显示状态栈 cout<<\

showc(stack,-1);//显示符号站

cout<<\显示当前字符 show(str,(*index));//显示输入串 char c=str[(*index)]; if(production==\ { cout<<\ return ; }

else if(production==\ { char sx='5'; (*index)++; pushstack(stack,pointer,state_stack,pointer_state,c,sx,0); }

else if(production==\ { char sx='6'; (*index)++; pushstack(stack,pointer,state_stack,pointer_state,c,sx,0);


天津理工大学编译原理实验3:语义分析及中间代码生成.doc 将本文的Word文档下载到电脑
搜索更多关于: 天津理工大学编译原理实验3:语义分析及中间代码生成 的文档
相关推荐
相关阅读
× 游客快捷下载通道(下载后可以自由复制和排版)

下载本文档需要支付 10

支付方式:

开通VIP包月会员 特价:29元/月

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