⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 cq.c

📁 lcc,一个可变目标c语言编译器的源码
💻 C
📖 第 1 页 / 共 5 页
字号:
   }/*   Finally, structures and unions are addressed thusly:      */   if(pd0->dprec != (*pd0).dprec){     rc = rc+32;     if(pd0->flgd != 0) printf(s71er,32);   }   return rc;}McCarthy(x)int x;{   if(x>100) return x-10;   else return McCarthy( McCarthy(x+11));}clobber(x,y)int x, *y;{   x = 3;   *y = 2;}s714(pd0)          /*  7.14  Assignment operators       */struct defs *pd0;{   static char f[] = "Local error %d.\n";   static char s714er[] = "s714,er%d\n";   static char qs714[8] = "s714   ";   register int prlc, lrc;   int rc;   char cl, cr;   short sl, sr;   int il, ir;   long ll, lr;   unsigned ul, ur;   float fl, fr;   double dl, dr;   char *ps, *pt;   ps = qs714;   pt = pd0->rfs;   rc = 0;   lrc = 0;   prlc = pd0->flgl;   while (*pt++ = *ps++);        /* This section tests the assignment operators.        It is an exhaustive test of all assignment statements        of the form:                vl op vr        where vl and vr are variables from the set        {char,short,int,long,unsigned,float,double} and op is        one of the assignment operators. There are 395 such        statements.        The initial values for the variables have been chosen        so that both the initial values and the results will        "fit" in just about any implementation, and that the re-        sults will be such that they test for the proper form-        ation of composite operators, rather than checking for        the valid operation of those operators' components.        For example, in checking >>=, we want to verify that        a right shift and a move take place, rather than        whether or not there may be some peculiarities about        the right shift. Such tests have been made previously,        and to repeat them here would be to throw out a red        herring.        The table below lists the operators, assignment targets,        initial values for left and right operands, and the        expected values of the results.          =  +=  -=  *=  /=  %=  >>=  <<=  &=  ^=  |=	char      2   7   3  10   2   1   1    20   8   6  14short     2   7   3  10   2   1   1    20   8   6  14int       2   7   3  10   2   1   1    20   8   6  14long      2   7   3  10   2   1   1    20   8   6  14unsigned  2   7   3  10   2   1   1    20   8   6  14float     2   7   3  10 2.5 |             |double    2   7   3  10 2.5 |             |                            |             |initial         (5,2)       |    (5,2)    |  (12,10)        The following machine-generated program reflects the        tests described in the table.                                                                */   cl = 5; cr = 2;   cl = cr;   if(cl != 2){     lrc = 1;     if(prlc) printf(f,lrc);   }   cl = 5; sr = 2;   cl = sr;   if(cl != 2){     lrc = 2;     if(prlc) printf(f,lrc);   }   cl = 5; ir = 2;   cl = ir;   if(cl != 2){     lrc = 3;     if(prlc) printf(f,lrc);   }   cl = 5; lr = 2;   cl = lr;   if(cl != 2){     lrc = 4;     if(prlc) printf(f,lrc);   }   cl = 5; ur = 2;   cl = ur;   if(cl != 2){     lrc = 5;     if(prlc) printf(f,lrc);   }   cl = 5; fr = 2;   cl = fr;   if(cl != 2){     lrc = 6;     if(prlc) printf(f,lrc);   }   cl = 5; dr = 2;   cl = dr;   if(cl != 2){     lrc = 7;     if(prlc) printf(f,lrc);   }   sl = 5; cr = 2;   sl = cr;   if(sl != 2){     lrc = 8;     if(prlc) printf(f,lrc);   }   sl = 5; sr = 2;   sl = sr;   if(sl != 2){     lrc = 9;     if(prlc) printf(f,lrc);   }   sl = 5; ir = 2;   sl = ir;   if(sl != 2){     lrc = 10;     if(prlc) printf(f,lrc);   }   sl = 5; lr = 2;   sl = lr;   if(sl != 2){     lrc = 11;     if(prlc) printf(f,lrc);   }   sl = 5; ur = 2;   sl = ur;   if(sl != 2){     lrc = 12;     if(prlc) printf(f,lrc);   }   sl = 5; fr = 2;   sl = fr;   if(sl != 2){     lrc = 13;     if(prlc) printf(f,lrc);   }   sl = 5; dr = 2;   sl = dr;   if(sl != 2){     lrc = 14;     if(prlc) printf(f,lrc);   }   il = 5; cr = 2;   il = cr;   if(il != 2){     lrc = 15;     if(prlc) printf(f,lrc);   }   il = 5; sr = 2;   il = sr;   if(il != 2){     lrc = 16;     if(prlc) printf(f,lrc);   }   il = 5; ir = 2;   il = ir;   if(il != 2){     lrc = 17;     if(prlc) printf(f,lrc);   }   il = 5; lr = 2;   il = lr;   if(il != 2){     lrc = 18;     if(prlc) printf(f,lrc);   }   il = 5; ur = 2;   il = ur;   if(il != 2){     lrc = 19;     if(prlc) printf(f,lrc);   }   il = 5; fr = 2;   il = fr;   if(il != 2){     lrc = 20;     if(prlc) printf(f,lrc);   }   il = 5; dr = 2;   il = dr;   if(il != 2){     lrc = 21;     if(prlc) printf(f,lrc);   }   ll = 5; cr = 2;   ll = cr;   if(ll != 2){     lrc = 22;     if(prlc) printf(f,lrc);   }   ll = 5; sr = 2;   ll = sr;   if(ll != 2){     lrc = 23;     if(prlc) printf(f,lrc);   }   ll = 5; ir = 2;   ll = ir;   if(ll != 2){     lrc = 24;     if(prlc) printf(f,lrc);   }   ll = 5; lr = 2;   ll = lr;   if(ll != 2){     lrc = 25;     if(prlc) printf(f,lrc);   }   ll = 5; ur = 2;   ll = ur;   if(ll != 2){     lrc = 26;     if(prlc) printf(f,lrc);   }   ll = 5; fr = 2;   ll = fr;   if(ll != 2){     lrc = 27;     if(prlc) printf(f,lrc);   }   ll = 5; dr = 2;   ll = dr;   if(ll != 2){     lrc = 28;     if(prlc) printf(f,lrc);   }   ul = 5; cr = 2;   ul = cr;   if(ul != 2){     lrc = 29;     if(prlc) printf(f,lrc);   }   ul = 5; sr = 2;   ul = sr;   if(ul != 2){     lrc = 30;     if(prlc) printf(f,lrc);   }   ul = 5; ir = 2;   ul = ir;   if(ul != 2){     lrc = 31;     if(prlc) printf(f,lrc);   }   ul = 5; lr = 2;   ul = lr;   if(ul != 2){     lrc = 32;     if(prlc) printf(f,lrc);   }   ul = 5; ur = 2;   ul = ur;   if(ul != 2){     lrc = 33;     if(prlc) printf(f,lrc);   }   ul = 5; fr = 2;   ul = fr;   if(ul != 2){     lrc = 34;     if(prlc) printf(f,lrc);   }   ul = 5; dr = 2;   ul = dr;   if(ul != 2){     lrc = 35;     if(prlc) printf(f,lrc);   }   fl = 5; cr = 2;   fl = cr;   if(fl != 2){     lrc = 36;     if(prlc) printf(f,lrc);   }   fl = 5; sr = 2;   fl = sr;   if(fl != 2){     lrc = 37;     if(prlc) printf(f,lrc);   }   fl = 5; ir = 2;   fl = ir;   if(fl != 2){     lrc = 38;     if(prlc) printf(f,lrc);   }   fl = 5; lr = 2;   fl = lr;   if(fl != 2){     lrc = 39;     if(prlc) printf(f,lrc);   }   fl = 5; ur = 2;   fl = ur;   if(fl != 2){     lrc = 40;     if(prlc) printf(f,lrc);   }   fl = 5; fr = 2;   fl = fr;   if(fl != 2){     lrc = 41;     if(prlc) printf(f,lrc);   }   fl = 5; dr = 2;   fl = dr;   if(fl != 2){     lrc = 42;     if(prlc) printf(f,lrc);   }   dl = 5; cr = 2;   dl = cr;   if(dl != 2){     lrc = 43;     if(prlc) printf(f,lrc);   }   dl = 5; sr = 2;   dl = sr;   if(dl != 2){     lrc = 44;     if(prlc) printf(f,lrc);   }   dl = 5; ir = 2;   dl = ir;   if(dl != 2){     lrc = 45;     if(prlc) printf(f,lrc);   }   dl = 5; lr = 2;   dl = lr;   if(dl != 2){     lrc = 46;     if(prlc) printf(f,lrc);   }   dl = 5; ur = 2;   dl = ur;   if(dl != 2){     lrc = 47;     if(prlc) printf(f,lrc);   }   dl = 5; fr = 2;   dl = fr;   if(dl != 2){     lrc = 48;     if(prlc) printf(f,lrc);   }   dl = 5; dr = 2;   dl = dr;   if(dl != 2){     lrc = 49;     if(prlc) printf(f,lrc);   }   cl = 5; cr = 2;   cl += cr;   if(cl != 7){     lrc = 50;     if(prlc) printf(f,lrc);   }   cl = 5; sr = 2;   cl += sr;   if(cl != 7){     lrc = 51;     if(prlc) printf(f,lrc);   }   cl = 5; ir = 2;   cl += ir;   if(cl != 7){     lrc = 52;     if(prlc) printf(f,lrc);   }   cl = 5; lr = 2;   cl += lr;   if(cl != 7){     lrc = 53;     if(prlc) printf(f,lrc);   }   cl = 5; ur = 2;   cl += ur;   if(cl != 7){     lrc = 54;     if(prlc) printf(f,lrc);   }   cl = 5; fr = 2;   cl += fr;   if(cl != 7){     lrc = 55;     if(prlc) printf(f,lrc);   }   cl = 5; dr = 2;   cl += dr;   if(cl != 7){     lrc = 56;     if(prlc) printf(f,lrc);   }   sl = 5; cr = 2;   sl += cr;   if(sl != 7){     lrc = 57;     if(prlc) printf(f,lrc);   }   sl = 5; sr = 2;   sl += sr;   if(sl != 7){     lrc = 58;     if(prlc) printf(f,lrc);   }   sl = 5; ir = 2;   sl += ir;   if(sl != 7){     lrc = 59;     if(prlc) printf(f,lrc);   }   sl = 5; lr = 2;   sl += lr;   if(sl != 7){     lrc = 60;     if(prlc) printf(f,lrc);   }   sl = 5; ur = 2;   sl += ur;   if(sl != 7){     lrc = 61;     if(prlc) printf(f,lrc);   }   sl = 5; fr = 2;   sl += fr;   if(sl != 7){     lrc = 62;     if(prlc) printf(f,lrc);   }   sl = 5; dr = 2;   sl += dr;   if(sl != 7){     lrc = 63;     if(prlc) printf(f,lrc);   }   il = 5; cr = 2;   il += cr;   if(il != 7){     lrc = 64;     if(prlc) printf(f,lrc);   }   il = 5; sr = 2;   il += sr;   if(il != 7){     lrc = 65;     if(prlc) printf(f,lrc);   }   il = 5; ir = 2;   il += ir;   if(il != 7){     lrc = 66;     if(prlc) printf(f,lrc);   }   il = 5; lr = 2;   il += lr;   if(il != 7){     lrc = 67;     if(prlc) printf(f,lrc);   }   il = 5; ur = 2;   il += ur;   if(il != 7){     lrc = 68;     if(prlc) printf(f,lrc);   }   il = 5; fr = 2;   il += fr;   if(il != 7){     lrc = 69;     if(prlc) printf(f,lrc);   }   il = 5; dr = 2;   il += dr;   if(il != 7){     lrc = 70;     if(prlc) printf(f,lrc);   }   ll = 5; cr = 2;   ll += cr;   if(ll != 7){     lrc = 71;     if(prlc) printf(f,lrc);   }   ll = 5; sr = 2;   ll += sr;   if(ll != 7){     lrc = 72;     if(prlc) printf(f,lrc);   }   ll = 5; ir = 2;   ll += ir;   if(ll != 7){     lrc = 73;     if(prlc) printf(f,lrc);   }   ll = 5; lr = 2;   ll += lr;   if(ll != 7){     lrc = 74;     if(prlc) printf(f,lrc);   }   ll = 5; ur = 2;   ll += ur;   if(ll != 7){     lrc = 75;     if(prlc) printf(f,lrc);   }   ll = 5; fr = 2;   ll += fr;   if(ll != 7){     lrc = 76;     if(prlc) printf(f,lrc);   }   ll = 5; dr = 2;   ll += dr;   if(ll != 7){     lrc = 77;     if(prlc) printf(f,lrc);   }   ul = 5; cr = 2;   ul += cr;   if(ul != 7){     lrc = 78;     if(prlc) printf(f,lrc);   }   ul = 5; sr = 2;   ul += sr;   if(ul != 7){     lrc = 79;     if(prlc) printf(f,lrc);   }   ul = 5; ir = 2;   ul += ir;   if(ul != 7){     lrc = 80;     if(prlc) printf(f,lrc);   }   ul = 5; lr = 2;   ul += lr;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -