编译原理实践源码.doc_第1页
编译原理实践源码.doc_第2页
编译原理实践源码.doc_第3页
编译原理实践源码.doc_第4页
编译原理实践源码.doc_第5页
已阅读5页,还剩26页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

编译原理实践源码,bYB一个小型编译器,按照词法分析 语法分析 中间代码生成代码优化四个步骤完成的,在visual c+ 6.0 和 Borland c+ 4.5 下通过。希望对学习编译原理有所帮助。#include #include #include #include #include #define buf 256)m#define False 0d|#define N 256cz=o7%#define True 1NaN1int MiddlecodeId=0; /中间代码生成函数标志Z&北京电子科技学院校友之家 - 北京电子科技学院学生论坛Gint OptimizeId=0; /代码优化函数标志QW北京电子科技学院校友之家 - 北京电子科技学院学生论坛Mtypedef struct /定义栈z北京电子科技学院校友之家 - 北京电子科技学院学生论坛北京电子科技学院校友之家 - 北京电子科技学院学生论坛:北京电子科技学院校友之家 - 北京电子科技学院学生论坛1u1int statckN2;4vI北京电子科技学院校友之家 - 北京电子科技学院学生论坛.int top;Jvoid exp();a北京电子科技学院校友之家 - 北京电子科技学院学生论坛J9w*/Rvoid assign_stmt(); 北京电子科技学院校友之家 - 北京电子科技学院学生论坛KM:%void match();Qm北京电子科技学院校友之家 - 北京电子科技学院学生论坛;1void error() ;$%(Z北京电子科技学院校友之家 - 北京电子科技学院学生论坛&7ws/*中间代码函数声明*dmWA_北京电子科技学院校友之家 - 北京电子科技学院学生论坛QWY|hfvoid inique(sqs *s) ;ti北京电子科技学院校友之家 - 北京电子科技学院学生论坛yCint push(sqs *s) ;yR8_北京电子科技学院校友之家 - 北京电子科技学院学生论坛5R?z2+int pop(sqs *s) ;YDpK!P北京电子科技学院校友之家 - 北京电子科技学院学生论坛Kvoid middlecode();wD2$北京电子科技学院校友之家 - 北京电子科技学院学生论坛:Svoid print();ySz北京电子科技学院校友之家 - 北京电子科技学院学生论坛)j4Svoid optimizecode ();zVVI6北京电子科技学院校友之家 - 北京电子科技学院学生论坛J/*()_/北京电子科技学院校友之家 - 北京电子科技学院学生论坛eOm/ 词法分析部分#1北京电子科技学院校友之家 - 北京电子科技学院学生论坛o|/*5kJ北京电子科技学院校友之家 - 北京电子科技学院学生论坛kbXMFILE *fp; /源文件q北京电子科技学院校友之家 - 北京电子科技学院学生论坛LvKchar *p;7gV5w北京电子科技学院校友之家 - 北京电子科技学院学生论坛fchar filename10;S北京电子科技学院校友之家 - 北京电子科技学院学生论坛:int openfile=1;0xRw-i北京电子科技学院校友之家 - 北京电子科技学院学生论坛%IywtWint line=1;f北京电子科技学院校友之家 - 北京电子科技学院学生论坛fint error1=0;VY北京电子科技学院校友之家 - 北京电子科技学院学生论坛6int sourcebuf2;ti4北京电子科技学院校友之家 - 北京电子科技学院学生论坛F6!/oint sounum=0;)Ip北京电子科技学院校友之家 - 北京电子科技学院学生论坛Dzchar digittp20;u北京电子科技学院校友之家 - 北京电子科技学院学生论坛*I$-/ 关键字y7T北京电子科技学院校友之家 - 北京电子科技学院学生论坛Pbatzchar *key32=and,array,begin,bool,call,case,char,constant,do,UDt9a北京电子科技学院校友之家 - 北京电子科技学院学生论坛-y)else,end,false,for,if,input,integer,not,of,or,output,procedure,JaJ 北京电子科技学院校友之家 - 北京电子科技学院学生论坛Jprogram,read,real,repeat,set,then,true,until,var,while,write;S北京电子科技学院校友之家 - 北京电子科技学院学生论坛FN/F/符号表f北京电子科技学院校友之家 - 北京电子科技学院学生论坛uhUNuchar *character21=+,-,*,/,(,),:=,=,/*,*/,.,.北京电子科技学院校友之家 - 北京电子科技学院学生论坛YPN_,;,=;1北京电子科技学院校友之家 - 北京电子科技学院学生论坛Wy/常量表P北京电子科技学院校友之家 - 北京电子科技学院学生论坛J7nchar *integerbuf;W!:北京电子科技学院校友之家 - 北京电子科技学院学生论坛 /标志符表p&po北京电子科技学院校友之家 - 北京电子科技学院学生论坛 VV1char *label10;F_a#r北京电子科技学院校友之家 - 北京电子科技学院学生论坛BOCUyJint constnum=0,labelnum=0;北京电子科技学院校友之家 - 北京电子科技学院学生论坛z=h/以上有5张表,储存了所有的信息,其中2维数组source储存的源程序的程序内容,|.L:/北京电子科技学院校友之家 - 北京电子科技学院学生论坛Z.Z/ 前面四张表的次序依次为 : 保留字表为1,符号表为2,常数表为3,标志符表为4;_pOU北京电子科技学院校友之家 - 北京电子科技学院学生论坛(O2#Bchar alphaprocess(char buffer) /关键字和标识符处理子函数;b北京电子科技学院校友之家 - 北京电子科技学院学生论坛北京电子科技学院校友之家 - 北京电子科技学院学生论坛#J*北京电子科技学院校友之家 - 北京电子科技学院学生论坛;int newid=1,id=1;7,a北京电子科技学院校友之家 - 北京电子科技学院学生论坛gLiNint i=-1;rxZQh;北京电子科技学院校友之家 - 北京电子科技学院学生论坛2char alphatp20;NtpV北京电子科技学院校友之家 - 北京电子科技学院学生论坛Wj7Pcwhile (isalpha(buffer)|(isdigit(buffer)v?&M北京电子科技学院校友之家 - 北京电子科技学院学生论坛HDs3北京电子科技学院校友之家 - 北京电子科技学院学生论坛K;G北京电子科技学院校友之家 - 北京电子科技学院学生论坛I4alphatp+i=buffer;j?H北京电子科技学院校友之家 - 北京电子科技学院学生论坛Obuffer=fgetc(fp);Z|9Un北京电子科技学院校友之家 - 北京电子科技学院学生论坛)北京电子科技学院校友之家 - 北京电子科技学院学生论坛6_Xni北京电子科技学院校友之家 - 北京电子科技学院学生论坛9;-0alphatpi+1=0;t7:oe北京电子科技学院校友之家 - 北京电子科技学院学生论坛C/寻找保留字b北京电子科技学院校友之家 - 北京电子科技学院学生论坛JYi=0;北京电子科技学院校友之家 - 北京电子科技学院学生论坛/lH7北京电子科技学院校友之家 - 北京电子科技学院学生论坛Omint re=0;Db$北京电子科技学院校友之家 - 北京电子科技学院学生论坛oZowhile(i32&re=0)8x$北京电子科技学院校友之家 - 北京电子科技学院学生论坛H.9lY if(strcmp(keyi,alphatp)=0)D(北京电子科技学院校友之家 - 北京电子科技学院学生论坛Y/printf(nt保留字:%s,keyi);:Bwq北京电子科技学院校友之家 - 北京电子科技学院学生论坛Q#nsourcesounum0=1; /将保留字的位置放入数组之中9F北京电子科技学院校友之家 - 北京电子科技学院学生论坛0l A+sourcesounum1=i;C5925北京电子科技学院校友之家 - 北京电子科技学院学生论坛DSsounum+;R3Q北京电子科技学院校友之家 - 北京电子科技学院学生论坛AzS5id=0;re=1;8uc北京电子科技学院校友之家 - 北京电子科技学院学生论坛=北京电子科技学院校友之家 - 北京电子科技学院学生论坛k北京电子科技学院校友之家 - 北京电子科技学院学生论坛yi+;北京电子科技学院校友之家 - 北京电子科技学院学生论坛M%北京电子科技学院校友之家 - 北京电子科技学院学生论坛2北京电子科技学院校友之家 - 北京电子科技学院学生论坛 北京电子科技学院校友之家 - 北京电子科技学院学生论坛a,/标志符处理yurgC4北京电子科技学院校友之家 - 北京电子科技学院学生论坛4Fif(id=1)i北京电子科技学院校友之家 - 北京电子科技学院学生论坛SR5k for(i=0;i:北京电子科技学院校友之家 - 北京电子科技学院学生论坛Csounum+;Ek北京电子科技学院校友之家 - 北京电子科技学院学生论坛;cynewid=0;3北京电子科技学院校友之家 - 北京电子科技学院学生论坛&7北京电子科技学院校友之家 - 北京电子科技学院学生论坛L$8Y3北京电子科技学院校友之家 - 北京电子科技学院学生论坛q北京电子科技学院校友之家 - 北京电子科技学院学生论坛Y)u北京电子科技学院校友之家 - 北京电子科技学院学生论坛g#if(newid=1) /开辟标志符新量北京电子科技学院校友之家 - 北京电子科技学院学生论坛Blabellabelnum=(char *)malloc(sizeof(alphatp);/8北京电子科技学院校友之家 - 北京电子科技学院学生论坛u.strcpy(labellabelnum,alphatp);=%北京电子科技学院校友之家 - 北京电子科技学院学生论坛6O#Psourcesounum0=4; /将保留字的位置放入数组之中q&北京电子科技学院校友之家 - 北京电子科技学院学生论坛t,sourcesounum1=labelnum;1y0北京电子科技学院校友之家 - 北京电子科技学院学生论坛sounum+;!E-北京电子科技学院校友之家 - 北京电子科技学院学生论坛EC4Klabelnum+;1V|北京电子科技学院校友之家 - 北京电子科技学院学生论坛E北京电子科技学院校友之家 - 北京电子科技学院学生论坛$!+Da北京电子科技学院校友之家 - 北京电子科技学院学生论坛h!&Z$北京电子科技学院校友之家 - 北京电子科技学院学生论坛)S_北京电子科技学院校友之家 - 北京电子科技学院学生论坛zLg&+return(buffer);北京电子科技学院校友之家 - 北京电子科技学院学生论坛u北京电子科技学院校友之家 - 北京电子科技学院学生论坛5北京电子科技学院校友之家 - 北京电子科技学院学生论坛E2echar digitprocess(char buffer) /数字处理函数E北京电子科技学院校友之家 - 北京电子科技学院学生论坛3 int newnum=1;4D(DV北京电子科技学院校友之家 - 北京电子科技学院学生论坛&|int i=-1;:北京电子科技学院校友之家 - 北京电子科技学院学生论坛V6F8while (isdigit(buffer)+em北京电子科技学院校友之家 - 北京电子科技学院学生论坛8北京电子科技学院校友之家 - 北京电子科技学院学生论坛Oy北京电子科技学院校友之家 - 北京电子科技学院学生论坛DH_q!Mdigittp+i=buffer;f8%f北京电子科技学院校友之家 - 北京电子科技学院学生论坛;buffer=fgetc(fp);5O$北京电子科技学院校友之家 - 北京电子科技学院学生论坛北京电子科技学院校友之家 - 北京电子科技学院学生论坛.k北京电子科技学院校友之家 - 北京电子科技学院学生论坛Gdigittpi+1=0;6jB 北京电子科技学院校友之家 - 北京电子科技学院学生论坛Wfor(i=0;iJNa北京电子科技学院校友之家 - 北京电子科技学院学生论坛g_?y;北京电子科技学院校友之家 - 北京电子科技学院学生论坛%北京电子科技学院校友之家 - 北京电子科技学院学生论坛-北京电子科技学院校友之家 - 北京电子科技学院学生论坛Dd,if(newnum=1)U#c;#北京电子科技学院校友之家 - 北京电子科技学院学生论坛y1so integerconstnum=(char *)malloc(sizeof(digittp);jY(北京电子科技学院校友之家 - 北京电子科技学院学生论坛=!Dstrcpy(integerconstnum,digittp);|6北京电子科技学院校友之家 - 北京电子科技学院学生论坛/d$sourcesounum0=3; /将保留字的位置放入数组之中f9/C北京电子科技学院校友之家 - 北京电子科技学院学生论坛sGsourcesounum1=constnum;r7$l北京电子科技学院校友之家 - 北京电子科技学院学生论坛zYCsounum+;6oqR北京电子科技学院校友之家 - 北京电子科技学院学生论坛sconstnum+;4Kg9北京电子科技学院校友之家 - 北京电子科技学院学生论坛r;北京电子科技学院校友之家 - 北京电子科技学院学生论坛3CX北京电子科技学院校友之家 - 北京电子科技学院学生论坛-Sreturn(buffer);yWGu7北京电子科技学院校友之家 - 北京电子科技学院学生论坛Jv北京电子科技学院校友之家 - 北京电子科技学院学生论坛|9=ng北京电子科技学院校友之家 - 北京电子科技学院学生论坛_&Vwqchar otherprocess(char buffer) /:其他字符处理函数;pU$AZH北京电子科技学院校友之家 - 北京电子科技学院学生论坛utR北京电子科技学院校友之家 - 北京电子科技学院学生论坛kH北京电子科技学院校友之家 - 北京电子科技学院学生论坛OpE$NYchar buff1;!#C北京电子科技学院校友之家 - 北京电子科技学院学生论坛yJ)yif(buffer=n) /将行号标志符存入数组|H北京电子科技学院校友之家 - 北京电子科技学院学生论坛J line+;cjW:北京电子科技学院校友之家 - 北京电子科技学院学生论坛|v=psourcesounum0=5; /行号以5作为标记2O0北京电子科技学院校友之家 - 北京电子科技学院学生论坛asourcesounum1=line;5,0(北京电子科技学院校友之家 - 北京电子科技学院学生论坛*IFDsounum+;m北京电子科技学院校友之家 - 北京电子科技学院学生论坛6KWIbuffer=fgetc(fp); return(buffer);qX#)HN北京电子科技学院校友之家 - 北京电子科技学院学生论坛SHpvg北京电子科技学院校友之家 - 北京电子科技学院学生论坛EVZ&北京电子科技学院校友之家 - 北京电子科技学院学生论坛Felse if(buffer= )dIzIE北京电子科技学院校友之家 - 北京电子科技学院学生论坛h4 buffer=fgetc(fp);xWf2北京电子科技学院校友之家 - 北京电子科技学院学生论坛4while(buffer= )!Cyj北京电子科技学院校友之家 - 北京电子科技学院学生论坛fE8?Bbuffer=fgetc(fp);%北京电子科技学院校友之家 - 北京电子科技学院学生论坛kGq北京电子科技学院校友之家 - 北京电子科技学院学生论坛=北京电子科技学院校友之家 - 北京电子科技学院学生论坛yy5gbuff1=buffer;return(buff1);_北京电子科技学院校友之家 - 北京电子科技学院学生论坛*2北京电子科技学院校友之家 - 北京电子科技学院学生论坛北京电子科技学院校友之家 - 北京电子科技学院学生论坛q%?|else北京电子科技学院校友之家 - 北京电子科技学院学生论坛4Yb北京电子科技学院校友之家 - 北京电子科技学院学生论坛Zj)0 char buffer1,buffer2,buffer33;z北京电子科技学院校友之家 - 北京电子科技学院学生论坛ty?bbuffer1=buffer;/dZK*u北京电子科技学院校友之家 - 北京电子科技学院学生论坛7v|(xbuffer2=fgetc(fp);北京电子科技学院校友之家 - 北京电子科技学院学生论坛 p/处理双字符的符号Pg北京电子科技学院校友之家 - 北京电子科技学院学生论坛Q|buffer2=|buffer2=.)i0R北京电子科技学院校友之家 - 北京电子科技学院学生论坛N buffer30=buffer1;yM北京电子科技学院校友之家 - 北京电子科技学院学生论坛buffer31=buffer2;rdf北京电子科技学院校友之家 - 北京电子科技学院学生论坛0Jbuffer32=0;r/SA北京电子科技学院校友之家 - 北京电子科技学院学生论坛;int i=0; int re=0,id=0;nS%北京电子科技学院校友之家 - 北京电子科技学院学生论坛,?awhile(i%s,line,buffer1);error1+;3wO北京电子科技学院校友之家 - 北京电子科技学院学生论坛qT)sm北京电子科技学院校友之家 - 北京电子科技学院学生论坛j4Rxa.北京电子科技学院校友之家 - 北京电子科技学院学生论坛_buffer1=fgetc(fp); return(buffer1);Nm;O北京电子科技学院校友之家 - 北京电子科技学院学生论坛Vy5北京电子科技学院校友之家 - 北京电子科技学院学生论坛+xi-北京电子科技学院校友之家 - 北京电子科技学院学生论坛#wJz/处理单字符的符号-reMI北京电子科技学院校友之家 - 北京电子科技学院学生论坛0mVM)else北京电子科技学院校友之家 - 北京电子科技学院学生论坛b#63W/北京电子科技学院校友之家 - 北京电子科技学院学生论坛e!_jz/ buffer30=buffer1;ViKrn.北京电子科技学院校友之家 - 北京电子科技学院学生论坛NOwzJbuffer31=0;W*北京电子科技学院校友之家 - 北京电子科技学院学生论坛5tint i=0;int re=0; int id=0;(|北京电子科技学院校友之家 - 北京电子科技学院学生论坛Owhile(i21&re=0)n1Rm北京电子科技学院校友之家 - 北京电子科技学院学生论坛WvYR/# if(strcmp(characteri,buffer3)=0)6_北京电子科技学院校友之家 - 北京电子科技学院学生论坛&/printf(nt特殊字符:%s,characteri);B|17北京电子科技学院校友之家 - 北京电子科技学院学生论坛 sourcesounum0=2; /将特殊字符的位置放入数组之中w北京电子科技学院校友之家 - 北京电子科技学院学生论坛6|-3sourcesounum1=i;nN(=l北京电子科技学院校友之家 - 北京电子科技学院学生论坛n*v_Esounum+;T(北京电子科技学院校友之家 - 北京电子科技学院学生论坛q2re=1; id=1;北京电子科技学院校友之家 - 北京电子科技学院学生论坛P(nJ北京电子科技学院校友之家 - 北京电子科技学院学生论坛9q(北京电子科技学院校友之家 - 北京电子科技学院学生论坛pqf#di+;北京电子科技学院校友之家 - 北京电子科技学院学生论坛|%北京电子科技学院校友之家 - 北京电子科技学院学生论坛北京电子科技学院校友之家 - 北京电子科技学院学生论坛Z1S北京电子科技学院校友之家 - 北京电子科技学院学生论坛Y-oafif(id=0)x6|ZT北京电子科技学院校友之家 - 北京电子科技学院学生论坛%s,line,buffer3); error1+;4S北京电子科技学院校友之家 - 北京电子科技学院学生论坛L,A?北京电子科技学院校友之家 - 北京电子科技学院学生论坛&p北京电子科技学院校友之家 - 北京电子科技学院学生论坛!Greturn(buffer2);uF;MRY北京电子科技学院校友之家 - 北京电子科技学院学生论坛z北京电子科技学院校友之家 - 北京电子科技学院学生论坛ZD8北京电子科技学院校友之家 - 北京电子科技学院学生论坛Z?0北京电子科技学院校友之家 - 北京电子科技学院学生论坛EcEp6E北京电子科技学院校友之家 - 北京电子科技学院学生论坛Vn*s$北京电子科技学院校友之家 - 北京电子科技学院学生论坛3zJ北京电子科技学院校友之家 - 北京电子科技学院学生论坛mvoid scan()FpKWQ北京电子科技学院校友之家 - 北京电子科技学院学生论坛YLrW char cbuffer;*k北京电子科技学院校友之家 - 北京电子科技学院学生论坛3Gprintf(n请输入文件名:);:hXbd北京电子科技学院校友之家 - 北京电子科技学院学生论坛L!&Y北京电子科技学院校友之家 - 北京电子科技学院学生论坛pif (fp=fopen(p,r)=NULL)M北京电子科技学院校友之家 - 北京电子科技学院学生论坛_F printf(n很抱歉,该文件打不开,请选择另一个!n);Lc北京电子科技学院校友之家 - 北京电子科技学院学生论坛vkopenfile=0;I北京电子科技学院校友之家 - 北京电子科技学院学生论坛;VPFm=北京电子科技学院校友之家 - 北京电子科技学院学生论坛%北京电子科技学院校友之家 - 北京电子科技学院学生论坛0FWelse北京电子科技学院校友之家 - 北京电子科技学院学生论坛l*g7l北京电子科技学院校友之家 - 北京电子科技学院学生论坛p cbuffer = fgetc(fp);*北京电子科技学院校友之家 - 北京电子科技学院学生论坛#W+D;while (cbuffer!=EOF)kia5Z北京电子科技学院校友之家 - 北京电子科技学院学生论坛 6北京电子科技学院校友之家 - 北京电子科技学院学生论坛u北京电子科技学院校友之家 - 北京电子科技学院学生论坛9Sif (isalpha(cbuffer)tbV:北京电子科技学院校友之家 - 北京电子科技学院学生论坛3v!cbuffer=alphaprocess(cbuffer);oMv北京电子科技学院校友之家 - 北京电子科技学院学生论坛_8,US2else if (isdigit(cbuffer)ELt)e北京电子科技学院校友之家 - 北京电子科技学院学生论坛iacbuffer=digitprocess(cbuffer);q5北京电子科技学院校友之家 - 北京电子科技学院学生论坛*else if(cbuffer=/) /处理注释p+?北京电子科技学院校友之家 - 北京电子科技学院学生论坛GjS北京电子科技学院校友之家 - 北京电子科技学院学生论坛Y;?q北京电子科技学院校友之家 - 北京电子科技学院学生论坛%cbuffer=fgetc(fp);eH北京电子科技学院校友之家 - 北京电子科技学院学生论坛CQ#hl北京电子科技学院校友之家 - 北京电子科技学院学生论坛a5sUl if(cbuffer=n)$peeT北京电子科技学院校友之家 - 北京电子科技学院学生论坛/I%aline+;*6北京电子科技学院校友之家 - 北京电子科技学院学生论坛hcbuffer=fgetc(fp);Ti北京电子科技学院校友之家 - 北京电子科技学院学生论坛M/ putchar(cbuffer);gjk北京电子科技学院校友之家 - 北京电子科技学院学生论坛;V北京电子科技学院校友之家 - 北京电子科技学院学生论坛o北京电子科技学院校友之家 - 北京电子科技学院学生论坛OC7z(_cbuffer=fgetc(fp); 北京电子科技学院校友之家 - 北京电子科技学院学生论坛u9/注释里面不能有带有*号的式子1北京电子科技学院校友之家 - 北京电子科技学院学生论坛Lo3if(cbuffer!=/)/北京电子科技学院校友之家 - 北京电子科技学院学生论坛Pz5mJ printf(n注释出错, 在第%d 行-%c!,line,cbuffer); error1+;rr北京电子科技学院校友之家 - 北京电子科技学院学生论坛Hcbuffer=fgetc(fp);C,2sz北京电子科技学院校友之家 - 北京电子科技学院学生论坛PD-x4北京电子科技学院校友之家 - 北京电子科技学院学生论坛X;F北京电子科技学院校友之家 - 北京电子科技学院学生论坛fXDelse /当作除号处理b北京电子科技学院校友之家 - 北京电子科技学院学生论坛jP sourcesounum0=2; /将特殊字符的位置放入数组之中D北京电子科技学院校友之家 - 北京电子科技学院学生论坛Oksourcesounum1=3; /除号位置_jQa北京电子科技学院校友之家 - 北京电子科技学院学生论坛lSw*sounum+;7W;,o8北京电子科技学院校友之家 - 北京电子科技学院学生论坛a-v北京电子科技学院校友之家 - 北京电子科技学院学生论坛2?北京电子科技学院校友之家 - 北京电子科技学院学生论坛%北京电子科技学院校友之家 - 北京电子科技学院学生论坛RNGOn北京电子科技学院校友之家 - 北京电子科技学院学生论坛(else北京电子科技学院校友之家 - 北京电子科技学院学生论坛*qO北京电子科技学院校友之家 - 北京电子科技学院学生论坛ucbuffer=otherprocess(cbuffer);kJs北京电子科技学院校友之家 - 北京电子科技学院学生论坛:.vDS北京电子科技学院校友之家 - 北京电子科技学院学生论坛DkkH北京电子科技学院校友之家 - 北京电子科技学院学生论坛:!北京电子科技学院校友之家 - 北京电子科技学院学生论坛vE3h北京电子科技学院校友之家 - 北京电子科技学院学生论坛Bif(error1=0&openfile=1)%E北京电子科技学院校友之家 - 北京电子科技学院学生论坛g8.printf(n词法分析通过,请继续!);9ZLprintf(n该程序共有%d个错误,请改正!,error1);7AZ北京电子科技学院校友之家 - 北京电子科技学院学生论坛d,9L=fclose(fp);北京电子科技学院校友之家 - 北京电子科技学院学生论坛S!AO北京电子科技学院校友之家 - 北京电子科技学院学生论坛i=kW北京电子科技学院校友之家 - 北京电子科技学院学生论坛A;d$Wx/ *u*cd/9北京电子科技学院校友之家 - 北京电子科技学院学生论坛&4mw/ 语法分析部分0北京电子科技学院校友之家 - 北京电子科技学院学生论坛iM/ *WoD北京电子科技学院校友之家 - 北京电子科技学院学生论坛(/保留字为1,特殊字符为2,常数表为3,标志符为4; 行号以5作为标记VuH2北京电子科技学院校友之家 - 北京电子科技学院学生论坛*&6Vint sourcenum=-1;3H5e北京电子科技学院校友之家 - 北京电子科技学院学生论坛&int token2; /接受的标记yqG北京电子科技学院校友之家 - 北京电子科技学院学生论坛gk_/int expected2; /检验的符号标记j北京电子科技学院校友之家 - 北京电子科技学院学生论坛i4r7int error2=0; /语法分析错误标志tpI_9+北京电子科技学院校友之家 - 北京电子科技学院学生论坛fj(/*为中间代码生成服务*.pS&北京电子科技学院校友之家 - 北京电子科技学院学生论坛7int MCE=0; /中间代码结束的标记y北京电子科技学院校友之家 - 北京电子科技学院学生论坛N7:sqs *s1,*s2; / s1为值栈,s2为符号栈vV2北京电子科技学院校友之家 - 北京电子科技学院学生论坛:int x2,a2,b2,c2; /储存临时变量c,+Li北京电子科技学院校友之家 - 北京电子科技学院学生论坛ulNint number=0; /中间变量K/|北京电子科技学院校友之家 - 北京电子科技学院学生论坛Y/*为代码优化服务*8-8北京电子科技学院校友之家 - 北京电子科技学院学生论坛dbDint optimizebuf2;Dx北京电子科技学院校友之家 - 北京电子科技学院学生论坛.3Fint optimizenum=-1;_n/北京电子科技学院校友之家 - 北京电子科技

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论