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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? 3.cpp

?? 編譯原理課程設(shè)計(jì)詞法分析源碼及程序
?? CPP
?? 第 1 頁 / 共 2 頁
字號(hào):
        }
        else
        {
            value = InsertConst(wordget); //將str串以常數(shù)插入符號(hào)表,并返回常數(shù)表指針
            pDu->kind = CONST;
            pDu->value = value;
        }
        return true;
        //字符常量
    case '\'':
        wordget[i++] = ch;    // '
        GetChar(); //獲得一個(gè)字符不包括結(jié)束標(biāo)記
        wordget[i++] = ch;

        if(ch == '\\')    // '\n'
        {//如果是轉(zhuǎn)義字符則要多接收一個(gè)字符
            GetChar();            // ch = '
            wordget[i++] = ch;
        }
        GetChar();
        wordget[i++] = ch;
        wordget[i] = '\0';
        if(ch != '\'')
        {//'\b'
            printf("%s",wordget);
            ProcError(2);
            pDu->kind = ERROR;
            pDu->value = 0;
        }
        else
        {
            value = InsertConst(wordget);//將str串以常數(shù)插入符號(hào)表,并返回常數(shù)表指針
            pDu->kind = CONST;
            pDu->value = value;
       }
        return true;
    case '(':
    case ')':
    case '[':
    case ']':
    case '.':
    case ',':
    case '~':
    case '?':
    case ':':
    case ';':
    case '{':
    case '}':
    case '#':
        wordget[i++] = ch;    wordget[i] = '\0';
        pDu->kind = DIVIDE; //界符
        pDu->value = -1;
        return true;
    case '!':
        //!=
        wordget[i++] = ch;
        GetChar();//獲得一個(gè)字符不包括結(jié)束標(biāo)記
        if (ch=='=') wordget[i++] = ch;
        else Retract();  //將搜索指示器回調(diào)一個(gè)字符位置
        wordget[i]='\0';
        break;
    case '<':
        // << <=
        wordget[i++] = ch;
        GetChar();
        if (ch == '<' || ch == '=') wordget[i++] = ch;
        else Retract();
        wordget[i]='\0';
        break;
    case '>':
        // >> >=
        wordget[i++] = ch;
        GetChar();
        if (ch == '>' || ch == '=') wordget[i++] = ch;
        else Retract();
        wordget[i]='\0';
        break;
    case '=':
        // ==
        wordget[i++] = ch;
        GetChar();
        if (ch == '=') wordget[i++] = ch;
        else Retract();
        wordget[i]='\0';
        break;
    case '&':
        // && &=
        wordget[i++] = ch;
        GetChar();
        if (ch == '&' || ch == '=') wordget[i++] = ch;
        else Retract();
        wordget[i]='\0';
        break;
    case '|':
        // || |=
        wordget[i++] = ch;
        GetChar();
        if (ch == '|' || ch == '=') wordget[i++] = ch;
        else Retract();
        wordget[i]='\0';
        break;
    case '+':
        // ++ +=
        wordget[i++] = ch;
        GetChar();
        if (ch == '+' || ch == '=') wordget[i++] = ch;
        else Retract();
        wordget[i]='\0';
        break;
    case '-':
        // -- -= ->
        wordget[i++] = ch;
        GetChar();
        if (ch == '-' || ch == '=' || ch == '>') wordget[i++] = ch;
        else Retract();
        wordget[i]='\0';
        break;
    case '*':
        // ** *=
        wordget[i++] = ch;
        GetChar();
        if (ch == '*' || ch == '=') wordget[i++] = ch;
        else Retract();
        wordget[i]='\0';
        break;
    case '/':
        // /=
        wordget[i++] = ch;
        GetChar();
        if (ch == '=') wordget[i++] = ch;
        else Retract();
        wordget[i]='\0';
        break;
    case '%':
        // %=
        wordget[i++] = ch;
        GetChar();
        if (ch == '=') wordget[i++] = ch;
        else Retract();
        wordget[i]='\0';
        break;
    case '^':
        // ^=
        wordget[i++] = ch;
        GetChar();
        if (ch == '=') wordget[i++] = ch;
        else Retract();
        wordget[i]='\0';
        break;
    case '\0':
        return false;
    default:
        ProcError(1);
        return false;
    }
    pDu->kind = OPERAT;
    return true;
}

int main()
{
    Dualistic  tmp;
    pDualistic ptmp = &tmp;
    FILE *fin, *fout;
    int i;
    char c;
    printf("\t\t★★★★★★★★★★★★★★★★★★★★★★★★★★★ \n");
printf("\t\t★                                                  ★\n");
printf("\t\t★                  詞法分析器                      ★\n");
printf("\t\t★                                                  ★ \n");
printf("\t\t★            班級(jí): 計(jì)算計(jì)05-3班                   ★ \n");
printf("\t\t★★★★★★★★★★★★★★★★★★★★★★★★★★★ \n\n");
printf("\t\t                                                  \n");
printf("\t\t★★★★★★★★★★★★★★★★★★★★★★★★★★★ \n");
printf("\t\t★                                                  ★ \n");
printf("\t\t★            楊倩    學(xué)號(hào):   0504030338           ★\n");
printf("\t\t★            張文明  學(xué)號(hào):   0504030446           ★\n");
printf("\t\t★                                                  ★\n");
printf("\t\t★★★★★★★★★★★★★★★★★★★★★★★★★★★ \n\n");
printf("\n\n                           ***************************\n");
    printf(" \t\t\t        讀入要分析的詞法\n");
    if ((fin=fopen("Test.c","r")) == NULL)
    {
        printf("Cannot open infile\n");
        return 0;
    }
    i = 0;
    while((c = fgetc(fin)) != EOF)//fgetc文件中所有的數(shù)據(jù)(包括'\0')都是一樣處理,除非讀到了末尾,它就返回一個(gè)特殊值EOF
    {
        if(i >= PRO_MAX_LEN-1)  // PRO_MAX_LEN 源程序最大長度
        {
            printf("\n程序代碼太長,無法處理\a");
            return 0;
        }
        proBuffer[i++] = c;
    }
    fclose(fin);    //關(guān)閉文件
    proBuffer[i++] = '\0';
	
    printf("\t\t           ***************************\n詞法讀入成功,如下所示:\n%s",proBuffer);
    printf("\n請(qǐng)按任意鍵繼續(xù)\n");    getch();
    //預(yù)處理
    printf("\n*****************************\n");
    printf("\n      預(yù)處理\n");
    pretreatment();//預(yù)處理函數(shù)
    printf("\n*****************************\n預(yù)處理成功,去掉注釋后的詞法為:\n%s*",proBuffer);
    printf("\n請(qǐng)按任意鍵繼續(xù)\n");    
	getch();// 所謂的按任意鍵繼續(xù)
    printf("\n*****************************\n");
    printf("\n  詞法分析\n");
    printf("\n*****************************\n");
    point = 0;
    //詞法分析
    if ((fout=fopen("Result.txt","wb")) == NULL)
    {
        printf("建立文件Result.txt失敗。\n");
        return 0;
    }
    i = 0;
    errorLine = 0;    //錯(cuò)誤行歸零
    do
    {
        if(i++ > PRO_MAX_LEN)//防止遇到BUG 導(dǎo)致程序死循環(huán)無限寫文件
            break;
        if(!wordAnalyse(ptmp))
        {
            break;
        }
        if (ptmp->value == -1)
            fprintf(fout, "<%3d,  ->\t",ptmp->kind);
        else
            fprintf(fout, "<%3d,%3d>\t",ptmp->kind, ptmp->value);
        switch(ptmp->kind)
        {
        case ERROR:
           fprintf(fout, "(出  錯(cuò):%s)",wordget);
            break;
        case ID:
            fprintf(fout, "(標(biāo)識(shí)符:%s)",wordget);
            break;
        case CONST:
            fprintf(fout, "(常  量:%s)",wordget);
            break;
        case OPERAT:
            fprintf(fout, "(運(yùn)算符:%s)",wordget);
            break;
        case DIVIDE:
            fprintf(fout, "(界  符:%s)",wordget);
            break;
        default:;
        }
       if(ptmp->kind >= 5 && ptmp->kind <= KEYWORD_LEN)
            fprintf(fout, "(關(guān)鍵字:%s)",kwTab[ptmp->kind-5]); 
        fprintf(fout, "\r\n");        
    }while(1);
    fclose(fout);

    printf("寫回常量表和標(biāo)識(shí)符表\n");
    //常量表
    if ((fout=fopen("Const.txt","wb")) == NULL)
    {
        printf("建立文件Const.txt失敗。\n");
        return 0;
    }
    for(i = 0; i < pointCTB; ++i)
        fprintf(fout, "%3d %s\r\n",i, constTab[i]);
    fclose(fout);
    //標(biāo)識(shí)符表
    if ((fout=fopen("Sign.txt","wb")) == NULL)
    {
        printf("建立文件Sign.txt失敗。\n");
        return 0;
    }
    for(i = 0; i < pointSTB; ++i)
        fprintf(fout, "%3d %s\r\n",i, signTab[i]);
    fclose(fout);
    printf("\n寫入完畢\n按任意鍵繼續(xù)\n");    getch();

    return 0;
}




?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
一区二区三区在线视频观看58| 中文字幕一区二区三区四区| 成人精品视频一区二区三区 | 欧美日本韩国一区二区三区视频| 国产一区二区三区黄视频| 亚洲永久免费av| 久久精品欧美一区二区三区不卡| 欧美日韩精品一区视频| 99久久综合国产精品| 国产精品亚洲专一区二区三区 | 综合激情网...| 韩国女主播成人在线观看| ㊣最新国产の精品bt伙计久久| 日韩午夜三级在线| 欧美色成人综合| 99国产一区二区三精品乱码| 国产真实乱偷精品视频免| 天天色图综合网| 亚洲愉拍自拍另类高清精品| 国产福利不卡视频| 亚洲成人自拍网| 亚洲免费av在线| 日韩美女啊v在线免费观看| 国产精品污污网站在线观看 | 久久久99精品免费观看| 6080日韩午夜伦伦午夜伦| 91国产成人在线| 91麻豆精品一区二区三区| 成人三级在线视频| 国产精品白丝av| 国产一区二区三区电影在线观看| 日韩电影在线看| 欧美精品三级日韩久久| 国产99精品国产| 久久99蜜桃精品| 精久久久久久久久久久| 日韩国产欧美在线播放| 日韩精品久久久久久| 午夜在线电影亚洲一区| 亚洲成av人片一区二区| 性久久久久久久久久久久| 亚洲成av人在线观看| 午夜精彩视频在线观看不卡| 日韩不卡一区二区| 青青草国产精品亚洲专区无| 毛片av一区二区| 久久99精品视频| 国产大片一区二区| 国产91丝袜在线播放0| 国产精品一区久久久久| 国产成人午夜片在线观看高清观看| 国产美女在线精品| 成人黄色在线网站| 91在线精品一区二区三区| 一本久久综合亚洲鲁鲁五月天| 欧美性大战久久久久久久| 欧美日韩精品一二三区| 日韩视频一区二区在线观看| 久久精品无码一区二区三区| 国产91色综合久久免费分享| 99麻豆久久久国产精品免费 | 26uuu亚洲综合色欧美 | 国产精品美女久久久久久久久久久 | 欧美日韩高清影院| 精品美女被调教视频大全网站| 久久午夜色播影院免费高清| 一区在线观看视频| 一区二区高清在线| 青青草91视频| 国产成人精品免费看| 99v久久综合狠狠综合久久| 欧美无砖专区一中文字| 日韩你懂的在线播放| 国产精品不卡一区二区三区| 亚洲国产欧美在线| 看片的网站亚洲| heyzo一本久久综合| 欧美日韩国产免费一区二区 | 欧美区在线观看| 久久久久久亚洲综合影院红桃| 一区精品在线播放| 亚洲网友自拍偷拍| 国产一区二三区| 欧美亚洲综合久久| 久久久久久综合| 一级中文字幕一区二区| 久久91精品国产91久久小草| 色偷偷成人一区二区三区91| 精品国产电影一区二区| 一区二区高清免费观看影视大全| 国产又黄又大久久| 欧美精品第一页| 国产精品嫩草99a| 欧美aaaaa成人免费观看视频| 成人免费看片app下载| 777a∨成人精品桃花网| 欧美激情一区二区三区不卡| 蜜臀av一区二区在线观看| www.亚洲在线| 视频一区二区欧美| 99久久久无码国产精品| 亚洲精品一区二区三区蜜桃下载| 香蕉乱码成人久久天堂爱免费| 不卡一区中文字幕| 久久先锋资源网| 亚洲午夜久久久久久久久久久| 欧美国产日韩a欧美在线观看| 99久久国产综合色|国产精品| 精品国产免费人成电影在线观看四季 | 国产黑丝在线一区二区三区| 亚洲aⅴ怡春院| 国产福利91精品| 日韩一区二区三区高清免费看看 | 欧美伊人精品成人久久综合97| 精品国产一区久久| 亚洲高清免费在线| 91农村精品一区二区在线| 国产亚洲欧美日韩在线一区| 免费看欧美美女黄的网站| 在线观看一区日韩| 综合在线观看色| 99久久久无码国产精品| 国产清纯白嫩初高生在线观看91| 久久精品国产色蜜蜜麻豆| 欧美日本韩国一区二区三区视频| 亚洲综合清纯丝袜自拍| 91女人视频在线观看| 亚洲视频一区二区在线观看| 成人午夜激情在线| 中文字幕欧美激情| 国产成人自拍在线| 国产女人18毛片水真多成人如厕 | 国产成人综合亚洲网站| 久久综合网色—综合色88| 久久99精品国产麻豆婷婷洗澡| 亚洲图片自拍偷拍| 欧美视频一区二| 日韩制服丝袜av| 日韩欧美国产不卡| 久久99在线观看| 国产欧美视频在线观看| 国产iv一区二区三区| 国产精品成人免费精品自在线观看| av不卡在线观看| 亚洲黄色在线视频| 欧美午夜精品一区| 日韩av一区二区三区四区| 欧美tk丨vk视频| 国产精品亚洲综合一区在线观看| 国产精品欧美久久久久无广告 | 午夜精品久久久久久久99樱桃| 欧美日韩高清不卡| 久久国产人妖系列| 欧美国产日本视频| av不卡在线观看| 亚洲国产aⅴ成人精品无吗| 678五月天丁香亚洲综合网| 麻豆中文一区二区| 国产欧美一区视频| 91九色最新地址| 热久久国产精品| 久久精品视频免费观看| 91在线观看一区二区| 亚洲电影视频在线| 亚洲精品在线网站| 不卡在线视频中文字幕| 亚洲成人7777| 国产亚洲一区二区三区在线观看| 色婷婷一区二区| 免费成人深夜小野草| 中文字幕不卡的av| 欧美日韩一区成人| 国内久久精品视频| 亚洲激情男女视频| 亚洲精品在线免费观看视频| 色婷婷久久久综合中文字幕| 久久99日本精品| 亚洲色图一区二区| 国产精品正在播放| 国产精品一色哟哟哟| 国产日韩欧美不卡| 国产乱国产乱300精品| 亚洲精品免费播放| 日韩欧美一级二级三级| 91色在线porny| 精品一区二区三区在线观看国产| 亚洲人精品午夜| 精品免费视频.| 欧美在线|欧美| 国产成人午夜视频| 欧美日韩在线三级| 成人爱爱电影网址| 久久99精品一区二区三区三区| 一区二区三区色| 久久这里只有精品6| 欧美日韩国产bt| 91免费在线视频观看| 国产大陆亚洲精品国产| 日本三级亚洲精品| 亚洲一区二区五区|