亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? jp jp(0).c

?? 是詞法分析程序,可以對詞法分析有更深的了解與認識
?? C
?? 第 1 頁 / 共 3 頁
字號:
          clh->line[0]=getdq[0].line;
          clh->line[1]=-1;
          clh->layer=llayer;
          clh->next=NULL;/* fill over the const form,and the deal with const var node*/
                  fprintf(out,"\n%d %d",2,clh);/*output length*/
                  getsy();/*重新讀入一個章詞到輸入棧*/
                  }/*end if,deal the length over*/
          else{/*if the length value is not a digtal,then*/
            shzh->length=-1;/*define arrays error*/
            shzh->start=-1;
            yfchc(" ","illegal length of array");
            return;
                   }
        if(strcmp(getdq[0].name,"]")==0)
        {
            fprintf(out,"\n%d %d",0,28);/*output ']'*/
            getsy();/*重新讀入一個章詞到輸入棧*/
        }
        else{
            yfchc(" ","Statement missing']'");
            return;
            }
        if(strcmp(getdq[0].name,",")==0){
            fprintf(out,"\n%d %d",0,32);/*output ','*/
            getsy();/*重新讀入一個章詞到輸入棧*/
            }
            else if(strcmp(getdq[0].name,";")==0)
                {
                 fprintf(out,"\n%d %d",0,33);/*output ';'*/
                 getsy();/*重新讀入一個章詞到輸入棧*/
                return;/*over*/
                }
                else{
                       yfchc(" ","Statement missing ','or';'");
                    return;
                    }
                }/*end if,define array over*/
                

        else{/*deal with the var*/
                blh=malloc(sizeof(struct bl));
                style=1;
                bln=set(llayer,&style," ");
                *bln=blh;
                strcpy(blh->name,getdq[0].name);
                blh->type=record;
                blh->line[0]=getdq[0].line;
                blh->line[1]=-1;
                blh->layer=llayer;
                blh->start=addr;
                switch(record)/*count the next var`s began address*/
                {
                  case 1:addr=addr+2;break;
                  case 2:addr=addr+1;break;
                  case 3:addr=addr+4;break;
                    }/*end switch*/
            blh->next=NULL;/*fill var form over,deal the var node over*/
            fprintf(out,"\n%d %d",1,blh);/*output var name*/
            getsy();/*重新讀入一個章詞到輸入棧*/
            if(strcmp(getdq[0].name,",")==0)
            {
            fprintf(out,"\n%d %d",0,32);/*output ','*/
            getsy();/*重新讀入一個章詞到輸入棧*/
            }
            else if(strcmp(getdq[0].name,";")==0)
                {
                fprintf(out,"\n%d %d",0,33);/*output ','*/
                getsy();/*重新讀入一個章詞到輸入棧*/
                return;/*deal over and exit*/
                }
                else{
                    yfchc(" ","Statement missing ',' or ';'");
                    return;
                    }
                }/*end else ,over deal the var*/
            }/*deal over one var*/
         else{
                yfchc(getdq[0].name,"illegal name of variable");
                return;
            }
        }/*end while*/
    }


    void testpro(void){
    int type,num;
    int i;
    int door,doorskip=0;
    char c;
    union all   
        {
                        struct bl *a;/*1*/
                        struct cl *b;/*2*/
                        struct shz *c;/*3*/
                        struct hsh *d;
                        struct cjbl *e;/*5*/
                        struct cch *f;/*6*/
            }pp,ll;

      printf("\n\n\n");
      printf("\n Now,the cffx() programe have finished,");
      printf("\nand all words of source program have been analyzed!");
      printf("\n\n Press 's' to skip,or press other any key will show the message of one word...");

      if(getch()=='s') doorskip=1;
door=1;
while(door>1)
{
  if(door==1&&(feof(out)!=0||doorskip==1))
    {
     printf("\n\n Press'e'to exit,or press'y' enter chain-table.");
      while((c=getch())!='e'&&c!='y');
       if(c=='e')
        break;
      else door=2;
    }
if(door==1&&feof(out)==0)
   fscanf(out,"%d %d",&type,&num);
if(door==2)
   {
       printf("\n\n Please input your choic:\n Press'h'enter head-node;");
       printf("press'e'to exit !");
       printf("\n press'n'enter next node:");
       printf("Press'a'to go to the address you input.");
  while((c=getch())!='h'&&c!='n'&&c!='a'&&c!='e');
    switch(c)
   {
    case 'h':type=5;
          num=(int)head;
           break;
   case 'n':switch(type)
          {
           case 11:type=1;
           case 1:pp.a=(struct bl*)num;
                 if(pp.a->next!=NULL)
                 num=(int)pp.a->next;
                   else{
                    printf("\n\n The next node is NULL! press any key to continue.");
                       getch();
                         type=11;
                       }
                      break;
          case 12:type=2;
           case 2:pp.b=(struct cl *)num;
               if(pp.b->next!=NULL)
               num=(int)pp.b->next;
               else{
                  printf("\n\n the next node is NULL! Press any key to continue.");
                 getch();
                   type=12;
              }
              break;
case 13:type=3;
case 3:pp.c=(struct shz *)num;
if(pp.c->next!=NULL)
num=(int)pp.c->next;
else{
printf("\n\n the next node is NULL! Press any key to continue.");
getch();
type=13;
}
break;
case 14:type=4;
case 4:pp.d=(struct hsh *)num;
if(pp.d->next!=NULL)
num=(int)pp.d->next;
else{
printf("\n\n the next node is NULL! Press any key to continue.");
getch();
type=14;
}
break;
case 15:type=5;
case 5:pp.e=(struct cjbl *)num;
if(pp.e->next!=NULL)
{
num=(int)pp.e->next;
type=4;
}
else{
printf("\n\n the next node is NULL! Press any key to continue.");
getch();
type=15;
}
break;
case 16:type=6;
case 6:pp.f=(struct cch *)num;
if(pp.f->next!=NULL)
num=(int)pp.f->next;
else{
printf("\n\n the next node is NULL! Press any key to continue.");
getch();
type=16;
}
}/*end switch(type)*/
break; 
case 'a':printf("\n\n Please input your address and number of struct.");
printf("\n The address=");
scanf("%d",&num);
printf("The number=");
scanf("%d",&type);
break;
case 'e':return;
}/*end switch(c)*/
}/*end if(door==2)*/
switch(type)
{
case 0:printf("\n\n%d&d",type,num);
printf("        %s",word[num].name);
break;
case 7:printf("\n\n%d&d",type,num);
break;
case 1:printf("\n\n%d&d",type,num);
pp.a=(struct bl*)num;
printf("\n       name=%s",pp.a->name);
printf("\n       type=%d",pp.a->type);
printf("\n       start=%d",pp.a->start);
printf("\n       layer=%d",pp.a->layer);
i=0;
printf("\n       line=");
while(pp.a->line[i]!=1)
{
printf("%d,",pp.a->line[i]);
i=i+1;
}
printf("\n           next=%d,",pp.a->next);
break;
case 2:printf("\n\n%d&d",type,num);
pp.b=(struct cl*)num;
printf("\n       name=%s",pp.b->name);
printf("\n       type=%d",pp.b->type);
printf("\n       layer=%d",pp.b->layer);
 switch(pp.b->type)
{
case 1:printf("\n          int=%d",pp.b->a);
break;
case 2:printf("\n          int=%s",pp.b->c);
break;
case 3:printf("\n          int=%f",pp.b->b);
}
i=0;
printf("\n       line=");
while(pp.b->line[i]!=-1)
{
printf("%d,",pp.b->line[i]);
i=i+1;
}
printf("\n           next=%d,",pp.b->next);
break;
case 3:printf("\n\n%d&d",type,num);
pp.c=(struct shz*)num;
printf("\n       name=%s",pp.c->name);
printf("\n       type=%d",pp.c->type);
printf("\n       start=%d",pp.c->layer);
printf("\n        layer=%d",pp.c->layer);
printf("\n        length=%d",pp.c->length);
i=0;
printf("\n       line=");
while(pp.c->line[i]!=-1)
{
printf("%d,",pp.c->line[i]);
i=i+1;
}
printf("\n           next=%d,",pp.c->next);
break;
case 4:printf("\n\n%d&d",type,num);
pp.d=(struct hsh*)num;
printf("\n       name=%s",pp.d->name);
printf("\n       type=%d",pp.d->type);
printf("\n        layer=%d",pp.d->layer);
i=0;
printf("\n       line=");
{
printf("%d,",pp.c->line[i]);
i=i+1;
}
printf("\n           struct b1*a =%d,",pp.d->a);
printf("\n           struct c1*b=%d,",pp.d->b);
printf("\n           struct shz*c=%d,",pp.d->c);
i=0;
printf("\n           csh[5].p=    ");
while(i<5&&pp.d->csh[i].p!=NULL)
{
printf("%-7d",pp.d->csh[i].p);
i=i+1;
}
i=0; 
printf("\n           csh[5].style");
while(i<5&&pp.d->csh[i].p!=NULL)
{
printf("%-7d",pp.d->csh[i].style);
i=i+1;
}
printf("\n           next=%d,",pp.d->next);
break;
case 5:printf("\n\n%d&d",type,num);
pp.e=(struct cjbl*)num;
printf("\n       name=%d",pp.e->layer);
printf("\n           struct b1*a =%d,",pp.e->a);
printf("\n           struct c1*b =%d,",pp.e->b);
printf("\n           struct shz*c =%d,",pp.e->c);
printf("\n           struct cch*f =%d,",pp.e->f);
printf("\n           next=%d",pp.e->next);
break;
case 6:printf("\n\n%d&d",type,num);
pp.f=(struct cch*)num;
printf("\n       name=%s",pp.f->name);
printf("\n        layer=%d",pp.f->layer);
printf("\n        why=%s",pp.f->why);
i=0;
printf("\n       line=");
{
printf("%d,",pp.c->line[i]);
i=i+1;
}
printf("\n          next=%d",pp.f->next);
}/*end switch */
if(door==1)
getch();
}/*end switch */
}/*end testpro */














void cldy(void)
{
int i;
int record,typee,style;
struct cl *clh,*clh1,**cln;
fprintf(out,"\n%d %d",0,5);/*輸出"const" */
getsy();
while(1)/*進入常量處理 */
{
record=0;
typee=chjtb(getdq[0].name);
if(typee==1||typee==2||typee==3)/*單詞為合法的變量類型 */
{
record=typee;/*記下變量的類型*/
fprintf(out,"\n%d%d",0,typee);/*output 變量類型 */
getsy();/*重新讀入一個單詞到輸入棧*/
typee=chjtb(getdq[0].name);
}
else{
yfchc("","declaration stntax error");/*記錄出錯誤信息*/
return;/*常量定義出錯,退出常量定義處理函數*/
}
if(record!=0&&getdq[0].t==1&&typee==0)/*定義的變量名合法*/
{
if(chjtb(getdq[1].name)==27)/*確定為數組定義,27號表示'['*/
{
if(record!=2)
{
yfchc("","Sorry,only char array is legal in const definition");/*記錄出錯誤信息*/
return;  /*在常量定義中僅支持字符數組,如不是,退出常量定義處理函數*/
}
clh=malloc(sizeof(struct cl));/*申請一個常量節點,并連接*/
style=2;
cln=set(llayer,&style,"");
*cln=clh;
strcpy(clh->name,getdq[0].name);
clh->type=2;
clh->c[0]='\0';
clh->line[0]=getdq[0].line;
clh->line[1]=-1;
clh->layer=llayer;
clh->next=NULL;/*填完部分常量表,但是內容沒填*/
fprintf(out,"\n%d%d",2,clh);/*output 常量名*/
getsy();/*重新讀入一個單詞到輸入棧*/
fprintf(out,"\n%d%d",0,27);/*output '['*/
getsy();/*重新讀入一個單詞到輸入棧*/
if(getdq[0].t==2)/*如果是數字,則長度有效*/
{
clh1=malloc(sizeof(struct cl));/*申請一個常量節點,并連接*/
style=2;
cln=set(llayer,&style,"");
*cln=clh1;
strcpy(clh1->name,"");
clh1->type=1;
clh1->a=atoi(getdq[0].name);
clh1->line[0]=getdq[0].line;
clh1->layer=-1;
clh1->layer=llayer;
clh->next=NULL;/*填完部分常量表,但是內容沒填*/
fprintf(out,"\n%d%d",2,clh1);/*output 常量名*/
getsy();/*重新讀入一個單詞到輸入棧*/
}/* end if,長度處理完畢*/
else/*如果長度值不是數字,則進行以下處理*/
{
clh->c[0]='\0';
yfchc("","illegal length of array");/*記錄出錯誤信息*/
return;/*數組的定義不合法,退出常量定義處理函數*/
}
if(strcmp(getdq[0].name,"]")==0) 
{
fprintf(out,"\n%d%d",0,28);/*output ']'*/
getsy();/*重新讀入一個單詞到輸入棧*/
}
else{ 
yfchc("","Statemen missing']'");/*記錄出錯誤信息*/
return;/*數組的定義不合法,退出常量定義處理函數*/
}
if(strcmp(getdq[0].name,":=")==0)
{
fprintf(out,"\n%d%d",0,36);/*output ':='*/
getsy();/*重新讀入一個單詞到輸入棧*/
}
else{ 
yfchc("","Statemen missing':='");/*記錄出錯誤信息*/
return;/*數組的定義不合法,退出常量定義處理函數*/
}
if(strcmp(getdq[0].name,"\"")==0)
{
fprintf(out,"\n%d%d",0,38);/*output '['*/
getsy();/*重新讀入一個單詞到輸入棧*/
}
else{ 
yfchc("","Statemen missing'\"'");/*記錄出錯誤信息*/
return;/*數組的定義不合法,退出常量定義處理函數*/
}
i=1;
while(getdq[0].t==5&&i<=clh1->a&&i<80&&doorkey<=3)
{
i=i+1;
strcat(clh->c,getdq[0].name);
getsy();
}
clh1=malloc(sizeof(struct cl));/*申請一個常量節點,并連接*/
style=2;
cln=set(llayer,&style,"");
strcpy(clh1->name,"");
clh1->type=2;
strcpy(clh->c,clh->c);
while(getdq[0].t==5&&i<80&&doorkey<=3)
{
i=i+1;
strcat(clh1->c,getdq[0].name);
getsy();
} 
clh1->line[0]=getdq[0].line;
clh1->line[1]=-1;
clh1->layer=llayer;
clh1->next=NULL;

if(clh->c[0]=='\0')
free(clh1);
else{
*cln=clh1;
fprintf(out,"\n%d %d",2,clh1);
}
if(strcmp(getdq[0].name,"\"")==0)
{
fprintf(out,"\n%d %d",0,38);
getsy();
}
else{
yfchc("","Statement missint'\"'");
return;
}
if(strcmp(getdq[0].name,",")==0)
{
fprintf(out,"\n%d %d",0,32);
getsy();
}
else if(strcmp(getdq[0].name,";")==0)
{
fprintf(out,"\n%d %d",0,33);
getsy();
return;
}
else{
yfchc("","Statement missing ','or ';'");
return;
}
}
else{
if(strcmp(getdq[1].name,":=")!=0)
{yfchc("","Statement missing':='");
return;
}
if (record==2 && strcmp(getdq[2].name,"\"")!=0)
{
yfchc("","Statement missing '\"'");
return;
}




clh=malloc(sizeof(struct cl));/*申請一個常量節點,并連接*/
style=2;
cln=set(llayer,&style,"");
*cln=clh;
strcpy(clh->name,getdq[0].name);
clh->type=record;
clh->line[0]=getdq[0].line;
clh->line[1]=-1;
clh->layer=llayer;
clh->next=NULL;/*填完部分常量表,但是內容沒填*/
fprintf(out,"\n%d%d",2,clh);/*output 常量名*/
getsy();/*重新讀入一個單詞到輸入棧*/
fprintf(out,"\n%d%d",0,36);/*output '['*/
getsy();/*重新讀入一個單詞到輸入棧*/
clh1=malloc(sizeof(struct cl));/*申請一個常量節點,并連接*/
style=2;
cln=set(llayer,&style,"");

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
依依成人综合视频| 国产成人aaa| 国产精品18久久久久久久久| 成人福利在线看| 日韩女优视频免费观看| 亚洲视频免费观看| 国内精品自线一区二区三区视频| 色综合久久精品| 久久久国际精品| 偷拍与自拍一区| 色综合视频在线观看| 久久香蕉国产线看观看99| 亚洲成人资源网| 99久久精品国产精品久久| 欧美一区二区三区日韩视频| 亚洲男人的天堂av| 成人免费高清在线| 国产亚洲一区二区三区四区| 日韩电影在线一区| 欧美日韩国产影片| 亚洲午夜日本在线观看| 91视频91自| **欧美大码日韩| 成人av午夜影院| 欧美激情综合五月色丁香| 国产美女精品人人做人人爽| 精品乱人伦一区二区三区| 日韩一区欧美二区| 欧美酷刑日本凌虐凌虐| 亚洲成av人影院在线观看网| 欧美怡红院视频| 亚洲最快最全在线视频| 在线免费观看视频一区| 亚洲欧美日韩在线| 91国偷自产一区二区三区观看 | 亚洲自拍偷拍欧美| 色综合天天综合网国产成人综合天| 亚洲国产精品t66y| av动漫一区二区| 亚洲欧美乱综合| 在线精品视频免费播放| 亚洲第一在线综合网站| 欧美精品三级日韩久久| 视频一区欧美精品| 精品美女在线观看| 成人美女在线观看| 亚洲伦理在线免费看| 91国在线观看| 免费成人在线影院| 久久精品欧美一区二区三区麻豆| 成人丝袜18视频在线观看| 自拍偷在线精品自拍偷无码专区| 在线免费一区三区| 青青草原综合久久大伊人精品优势| 日韩三级高清在线| 成人在线视频首页| 洋洋成人永久网站入口| 欧美一级淫片007| 高清不卡在线观看| 亚洲午夜在线电影| 精品国产亚洲在线| 色综合欧美在线视频区| 日韩精品久久理论片| 国产欧美精品国产国产专区 | 久久精品国产99国产精品| 久久久蜜臀国产一区二区| 91丨porny丨中文| 蜜臀久久99精品久久久久宅男| 久久久久久久久久久黄色| 在线免费观看成人短视频| 精品一区二区三区视频| 亚洲欧美精品午睡沙发| 日韩免费高清视频| 一本色道a无线码一区v| 狠狠色综合日日| 亚洲风情在线资源站| 国产三级精品视频| 制服丝袜av成人在线看| caoporn国产精品| 久久精品国产一区二区三 | 日韩精品在线网站| 色综合网站在线| 韩日av一区二区| 香蕉乱码成人久久天堂爱免费| 久久久不卡网国产精品二区| 欧美日韩成人在线| 91一区在线观看| 国产精品一区免费在线观看| 日日夜夜精品视频天天综合网| 国产精品久久午夜| 久久欧美一区二区| 日韩欧美亚洲另类制服综合在线| 91蜜桃网址入口| 成人永久aaa| 国产老妇另类xxxxx| 丝袜国产日韩另类美女| 亚洲精品免费电影| 国产精品成人午夜| 欧美激情中文字幕| 久久精品夜夜夜夜久久| 日韩精品中文字幕一区二区三区| 欧美日韩亚洲国产综合| 色综合久久综合| caoporn国产一区二区| 成人夜色视频网站在线观看| 九九国产精品视频| 精一区二区三区| 麻豆精品精品国产自在97香蕉| 亚洲成人黄色影院| 亚洲一级片在线观看| 亚洲人成亚洲人成在线观看图片 | 国产综合一区二区| 美腿丝袜亚洲综合| 久久99国内精品| 久久草av在线| 国产精品一二三在| 国产成人av电影| av午夜精品一区二区三区| 成人中文字幕在线| av资源网一区| 欧美影院午夜播放| 在线成人免费观看| 欧美tickle裸体挠脚心vk| 久久影院午夜片一区| 久久蜜臀中文字幕| 国产精品麻豆久久久| 1024成人网| 亚洲一区免费在线观看| 婷婷夜色潮精品综合在线| 奇米精品一区二区三区四区| 狠狠色伊人亚洲综合成人| 国产91丝袜在线播放0| 99精品热视频| 欧美亚洲国产一区二区三区| 欧美精品乱码久久久久久| 欧美一区二区三区在线看| 久久综合色鬼综合色| 国产精品久久久久9999吃药| 一二三四社区欧美黄| 日本不卡视频在线| 国产91丝袜在线播放九色| 91精品办公室少妇高潮对白| 91精品国产一区二区三区蜜臀 | 亚洲欧洲在线观看av| 一级精品视频在线观看宜春院| 免费高清视频精品| 成人一二三区视频| 欧美剧在线免费观看网站| 久久亚区不卡日本| 亚洲一区中文在线| 精品一区二区av| 色婷婷国产精品久久包臀 | 欧美日韩国产123区| 欧美成va人片在线观看| 亚洲视频资源在线| 伦理电影国产精品| 色偷偷88欧美精品久久久| 欧美一区二区高清| 亚洲婷婷国产精品电影人久久| 日本亚洲视频在线| 99国产精品久久久| 精品裸体舞一区二区三区| 一区二区在线观看不卡| 麻豆精品一区二区三区| 99在线热播精品免费| 欧美成人激情免费网| 亚洲国产日韩在线一区模特| 在线观看日韩电影| 国产精品免费人成网站| 久久激情综合网| 欧美麻豆精品久久久久久| 国产精品九色蝌蚪自拍| 精品一区二区三区在线观看| 欧美日韩国产综合久久| 亚洲色图清纯唯美| 成人少妇影院yyyy| 久久免费精品国产久精品久久久久| 婷婷综合另类小说色区| 色综合久久天天| 国产精品家庭影院| 国产福利不卡视频| 欧美va天堂va视频va在线| 图片区小说区国产精品视频| 色偷偷久久一区二区三区| 欧美激情资源网| 国产99久久久国产精品| 精品国产乱码久久久久久蜜臀| 日韩av中文在线观看| 欧美日韩国产精品自在自线| 一二三区精品视频| 色综合一个色综合亚洲| 日韩美女久久久| 99久免费精品视频在线观看| 国产精品久久久久永久免费观看 | 久久这里只有精品首页| 另类中文字幕网| 精品人在线二区三区| 久久99国产精品免费网站| 精品久久久久久久久久久久久久久久久| 午夜精品一区二区三区免费视频|