第一范文网 - 专业文章范例文档资料分享平台

编译原理实验报告 (4)

来源:用户分享 时间:2020-05-04 本文由深山夕照深秋雨 分享 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

}

}

{

case DIGIT: p=p*10+d;CurrentState=6;break; default: report_error(1);Class=0; }

CurrentState=EndState;

break;

{

case DIGIT:p=p*10+d;break;

default: FCON=(float)w*pow(10,e*p-n);Class=ClassF;CurrentState=EndState; }

case 6:switch (symbol)

break;

return CurrentState;

int LEX (FILE *fp) { }

//*****************浮点数部分代码*********

int out(int n,char *p) {

int t=0; switch(n) {

case 1:printf(\,rw[n-1].Word);t=1;break; case 2:printf(\,rw[n-1].Word);t=2;break; case 3:printf(\,rw[n-1].Word);t=3;break; case 4:printf(\,rw[n-1].Word);t=4;break; case 5:printf(\,rw[n-1].Word);t=5;break; case 6:printf(\,p);t=6;break; case 7:printf(\,ICON);t=7;break; case 8:printf(\);t=8;break; case 9:printf(\);t=9;break; case 10:printf(\);t=10;break; case 11:printf(\);t=11;break; int ch;

CurrentState=0;

while (CurrentState!=EndState){ }

return Class;

ch=GetChar(fp);

EXCUTE (CurrentState,ch);

}

case 12:printf(\);t=12;break; case 13:printf(\);t=13;break; case 14:printf(\);t=14;break; case 15:printf(\);t=15;break; case 16:printf(\);t=16;break; case 17:printf(\);t=17;break; case 18:printf(\);t=18;break;

case 27:printf(\,FCON);return 27;break; case 28:printf(\);t=28;break; case 29:printf(\);t=29;break; case 30:printf(\);t=30;break; default : t=report_error(3); } return t;

break;

int scanner_example (FILE *fp) {

char ch; int i, c,t; lf=l;

ch=fgetc(fp); l+=1;

if (isalpha(ch)) /*it must be a identifer!*/ {

TOKEN[0]=ch; ch=fgetc(fp); l+=1; i=1;

while(isalnum(ch)) { }

TOKEN[i]='\\0'; c=lookup (TOKEN); if (c==0)

t=out (ID,TOKEN); t=out (c,\); else

fseek(fp,-1,1);

TOKEN[i]=ch; i++; ch=fgetc(fp); l+=1;

}

l-=1;

else if(isdigit(ch)||ch=='.'){ }

else switch(ch){ l+=1;

if(ch=='=')t=out(LE,\); else if(ch=='>') t=out (NE,\); else{ } break; break; l+=1; if(ch=='=') } break; l+=1; if(ch=='=')

t=out(GE,\); fseek(fp,-1,1); l-=1;

t=out(GT,\); else{

fseek(fp,-1,1); l-=1;

t=out (LT,\); TOKEN[0]=ch; fseek(fp,-1,1); l-=1;

int k=LEX(fp); if(k==ClassF) { }

else if(UINT==k) { }

fseek(fp,-1,1); l-=1;

t=out(UINT,\); t=out(UFCON,\);

case '<': ch=fgetc(fp);

case '=': t=out(EQ, \); case '>': ch=fgetc(fp);

case ':': t=ch=fgetc(fp);

}

t=out(IS,\); fseek(fp,-1,1); t=report_error(2); l-=1; break;

else {

case '+':t=out(ADD,\);break; case '-':t=out(SUB,\);break; case '*':t=out(MUL,\);break; case '/':t=out(DIV,\);break; case '(':t=out(LP,\);break; case ')':t=out(RP,\);break; case '#':t=out(EOI,\);break;

default: t=report_error(3); }

int IsVt(int a) { }

/*存储算符优先关系表,大于为,小于或等于为-1,其它为表示出*/ int changchartoint(FILE *fp) /*将字符转为数字,以得到算符优先值*/ {

int t; char ch; lf=l;

ch=fgetc(fp); coor(ch);

if(ch==EOF) t=20; while(ch!=EOF) {

if(ch==' '||ch==9||ch==10){

ch=fgetc(fp); coor(ch);

if(ch==EOF) return 20;

if(a==0||a==1||a==2||a==3||a==4||a==5||a==6||a==7||a==8||a==9)

return RIGHT; return ERROR; else break; }

return t;

}

}

} else{ }

fseek(fp,-1,1); l-=1;

switch(scanner_example(fp)){ case ADD:t=0;break; case SUB:t=1;break; case MUL:t=2;break; case DIV:t=3;break; case LP:t=4;break; case RP:t=5;break; case ID:t=6;break; case UINT:t=7;break; case UFCON:t=7;break; case IS:t=8;break; case EOI:t=9;break; case 10:t=10;break; }

break;

return t;

void changinttochar(int t){ }

switch(t){

case 0:printf(\);break; case 1:printf(\);break; case 2:printf(\);break; case 3:printf(\);break; case 4:printf(\);break; case 5:printf(\);break; case 6:printf(\);break; case 7:printf(\);break; case 8:printf(\);break; case 9:printf(\);break; case 10:printf(\);break; }

搜索“diyifanwen.net”或“第一范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,第一范文网,提供最新综合文库编译原理实验报告 (4)全文阅读和word下载服务。

编译原理实验报告 (4).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/wenku/995656.html(转载请注明文章来源)
热门推荐
Copyright © 2018-2022 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top