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

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

?? 下載程序.txt

?? 假設(shè)文檔的內(nèi)容為 i a * nul i b + nul i c # nul 是個(gè)單詞二元式,對(duì)他進(jìn)行不帶回溯的自上而下的語法分析.
?? TXT
字號(hào):
編譯原理的課程設(shè)計(jì)


假設(shè)文檔的內(nèi)容為
i a 
* nul
i b
+ nul
i c
# nul
是個(gè)單詞二元式,對(duì)他進(jìn)行不帶回溯的自上而下的語法分析.


/*
    用預(yù)測分析法(即LL(1)分析法)構(gòu)造文法G[E]:
    E->E + T / T
    T->T * F / F
    F->(E) / i / x / y
    的預(yù)測分析程式(即語法分析器)。
    by wzt 
    
    date : 2007.1.14
*/
#include stdio.h>
#include string.h>
#define MAXSIZE 200
#define MAX 20
//#define DEBUG
char c[MAX]; /* 要判斷的符號(hào)串 */
char *str[]={"TD","+TD","","FS","*FS","","(E)","i","x","y"}; /* 任何產(chǎn)生式 */
char Symbol_VT[MAX] = "+*()ixy#"; /* 任何終結(jié)符號(hào) */
char Symbol_VN[MAX] = "EDTSF"; /* 任何非終結(jié)符號(hào) */
char stack[MAX] = {'#','E'}; /* 分析棧 */
int top = 1;
char temp[MAX];
FILE *s_fp,*t_fp;
int M[][8] = { /* 存放str的下標(biāo),-1表示不存在 */
            {-1,-1,0,-1,0,0,0,-1},
            {1,-1,-1,2,-1,-1,-1,2},
            {-1,-1,3,-1,3,3,3,-1},
            {5,4,-1,5,-1,-1,-1,5},
            {-1,-1,6,-1,7,8,9,-1}
             };
void usage(char *pro); /* 程式幫助信息 */
void do_analyses(); /* 分析符號(hào)串 */
int VN_to_lin(char X); /* 判斷非終結(jié)符所在的下標(biāo) */
int VT_to_col(char X); /* 判斷終結(jié)符所在的下標(biāo) */
int is_VN(char X); /* 判斷字符是否是非終結(jié)符 */
int is_VT(char X); /* 判斷字符是否是終結(jié)符 */
void print_symbols(int i); /* 打印余留符號(hào)串 */
void print_stack(); /* 打印分析棧 */
int main(int argc,char **argv)
{
    char temp_str[MAXSIZE];
    char temp_code,temp_val[MAX];
    int j = 0;
    if( argc  3 )
        usage(argv[0]);
    if( (s_fp = fopen(argv[1],"r")) == NULL ){
        printf("Can not open %s.\n",argv[1]);
        exit(1);
    }
    if( (t_fp = fopen(argv[2],"w+")) == NULL ){
        printf("Can not open %s.\n",argv[1]);
        exit(1);
    }
    while( fgets(temp_str,MAXSIZE,s_fp) != NULL ){ /* 從文檔讀取單詞二元式 */
        sscanf(temp_str,"%c %s",&temp_code,temp_val);
        c[j++] = temp_code;
#ifdef DEBUG
        printf("%c %s\n",temp_code,temp_val);
#endif
    }
    c[j] = '\0';
#ifdef DEBUG
    printf("%s\n",c);
#endif
    do_analyses();
    fclose(s_fp);
    fclose(t_fp);
    return 0;
}
void usage(char *pro) /* 程式幫助信息 */
{
    printf("usage : %s  \n",pro);
    exit(0);
}
void do_analyses() /* 分析符號(hào)串 */
{
    char temp_str[MAXSIZE];
    char temp_str1[MAXSIZE];
    char X;
    int i,j = 0,m,n,k;
    printf("Step Stack Symbols Syntax\n");
    for( i = 0 ; i  strlen(c) ; i++ ){
        X = stack[top--]; /*彈出棧頂元素 */
        print_symbols(i);
        stack[top + 2 ] = '\0';
        sprintf(temp_str,"%2d %-8s %-13s",j++,stack,temp);
        printf("%s",temp_str);
        fputs(temp_str,t_fp);
        if( X == '#' ){ /* 符號(hào)串匹配成功 */
            if( X == c ){
                printf("Acc.\n");
            }
            else{
                printf("Symbols Error.\n");
            }
            exit(0);
        }
        if( is_VT(X) ){ /* X是終結(jié)符號(hào)且和要判斷的字符相等,就繼續(xù)循環(huán) */
            printf("\n");
            fputs("\n",t_fp);
            if( X == c )
                continue;
            else{
                printf("Error at %d.\n",i);
            }
        }
        if( is_VN(X) ){ /* X是非終結(jié)符號(hào) */
            m = VN_to_lin(X); /* 求X在M數(shù)組中的縱坐標(biāo) */
            n = VT_to_col(c); /* 求要判斷的字符在M數(shù)組中的橫坐標(biāo) */
            for( k = strlen(str[M[m][n]]) - 1 ; k >= 0 ; k-- )
                stack[++top] = *(str[M[m][n]] + k ); /* 取得產(chǎn)生式并反向壓棧 */
            i --; /* !!! i減1,符號(hào)串要重新開始判斷 */
            sprintf(temp_str1,"%c->%s\n",X,str[M[m][n]]);
            printf("%s",temp_str1);
            fputs(temp_str1,t_fp);
        }
    }
}
int VN_to_lin(char X) /* 求X在M數(shù)組中的縱坐標(biāo) */
{
    int i;
    for( i = 0 ; i  strlen(Symbol_VN) ; i++ ){
        if( X == Symbol_VN )
            return i;
    }
    printf("Error. X is not in Symbol_VN \n");
    exit(0);
}
int VT_to_col(char X) /* 求要判斷的字符在M數(shù)組中的橫坐標(biāo) */
{
    int i;
    for( i = 0 ; i  strlen(Symbol_VT) ; i++ ){
        if( X == Symbol_VT )
            return i;
    }
    printf("Error. %c is not in Symbol_VT \n",X);
    exit(0);
}
int is_VN(char X) /* X是非終結(jié)符號(hào) */
{
    int i;
    for( i = 0 ; i  strlen(Symbol_VN) ; i++ ){
        if( X == Symbol_VN )
            return 1;
    }
    return 0;
}
int is_VT(char X) /* X是終結(jié)符號(hào) */
{
    int i;
    for( i = 0 ; i  strlen(Symbol_VT) ; i++ ){
        if( X == Symbol_VT )
            return 1;
    }
    return 0;
}
void print_symbols(int i) /* 打印余留符號(hào)串 */
{
    int j,k=0;
    for( j = i ; j  strlen(c) ; j++ )
        temp[k++] = c[j];
    temp[k] = '\0';
}
void print_stack() /* 打印分析棧 */
{
    int i;
    printf(" ");
    for( i = 0 ; i = top ; i++ )
        printf("%c",stack);
}


?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久国产乱子精品免费女| 中文字幕国产一区| 亚洲国产一区二区三区| 日本精品视频一区二区三区| 亚洲欧美视频在线观看| 在线影院国内精品| 夜夜操天天操亚洲| 91精品国产色综合久久ai换脸| av一区二区三区在线| 亚洲免费观看高清完整版在线观看| 亚洲欧美日韩国产手机在线 | 国产精品国产三级国产aⅴ中文| 亚洲欧美欧美一区二区三区| 色欧美乱欧美15图片| 午夜精品免费在线| 久久综合色一综合色88| 国产盗摄视频一区二区三区| 亚洲精品菠萝久久久久久久| 欧美二区三区的天堂| 国内精品国产成人国产三级粉色 | 成人午夜激情影院| 亚洲人成影院在线观看| 欧美日韩国产综合一区二区三区| 国产三区在线成人av| 99这里只有久久精品视频| 亚洲与欧洲av电影| 精品国产欧美一区二区| 不卡一区二区三区四区| 蜜臀av性久久久久av蜜臀妖精| 欧美日韩国产免费| 丰满白嫩尤物一区二区| 一区二区三区影院| 国产日韩欧美精品一区| 欧美裸体一区二区三区| 成人毛片老司机大片| 首页国产欧美久久| ●精品国产综合乱码久久久久| eeuss国产一区二区三区| 日韩国产欧美在线播放| 久久影院电视剧免费观看| 色综合天天综合色综合av| 久99久精品视频免费观看| 亚洲黄色录像片| 国产亚洲精品资源在线26u| 欧美女孩性生活视频| www.av亚洲| 国产成人一区在线| 美女精品自拍一二三四| 亚洲一区二区三区视频在线| 亚洲国产精品二十页| 欧美mv日韩mv国产网站| 欧美婷婷六月丁香综合色| 成人精品免费网站| 国产在线一区二区| 日韩中文字幕一区二区三区| 亚洲乱码一区二区三区在线观看| 国产精品综合一区二区三区| 亚洲制服丝袜一区| 国产精品每日更新| 国产欧美一区二区三区在线看蜜臀 | 国产成人午夜99999| 性感美女极品91精品| 亚洲少妇最新在线视频| 日本一区二区在线不卡| 久久久高清一区二区三区| 日韩亚洲欧美中文三级| 欧美日韩一区二区欧美激情| 99久久99久久精品免费看蜜桃| 欧美国产97人人爽人人喊| 精品国产乱码久久久久久1区2区 | 日本va欧美va瓶| 亚洲国产一区二区三区青草影视| 欧美日本一区二区三区| 欧美色精品天天在线观看视频| 日韩高清在线不卡| 日韩avvvv在线播放| 日本色综合中文字幕| 日韩av一级片| 日本午夜精品视频在线观看| 肉丝袜脚交视频一区二区| 亚洲欧美日韩系列| 亚洲一区二区在线免费看| 夜色激情一区二区| 午夜电影久久久| 另类人妖一区二区av| 伦理电影国产精品| 国产精品99久久不卡二区| 懂色中文一区二区在线播放| 成人久久视频在线观看| 91首页免费视频| 欧美伊人久久久久久久久影院| 日本三级亚洲精品| 国产乱码精品一区二区三| 岛国av在线一区| 色狠狠综合天天综合综合| 欧美日本国产视频| 日韩欧美一区二区免费| 久久精品人人做人人综合| 亚洲天堂a在线| 午夜激情一区二区| 国产一区二区美女诱惑| www.一区二区| 9191成人精品久久| 久久伊99综合婷婷久久伊| 亚洲欧美综合色| 丝袜国产日韩另类美女| 国产一区二区三区在线观看精品| 日韩精品乱码av一区二区| 狠狠网亚洲精品| 成人av在线播放网址| 在线亚洲人成电影网站色www| 国产成人精品在线看| 色狠狠av一区二区三区| 欧美精品欧美精品系列| 国产欧美视频在线观看| 亚洲影视资源网| 国产精品一区二区久激情瑜伽| 九一久久久久久| 欧美亚洲一区二区在线| 精品国产自在久精品国产| 亚洲精品国产精华液| 国模无码大尺度一区二区三区| 午夜精品久久久久久久99樱桃| 亚洲精品美腿丝袜| 国产在线观看一区二区| 日本韩国一区二区| 精品91自产拍在线观看一区| 亚洲一区二区三区在线看| 国产成人免费视| 欧美一级xxx| 亚洲综合小说图片| 成人综合激情网| 欧美一级一级性生活免费录像| 日韩女优av电影| 一区二区三区精品视频在线| 国产乱码精品一区二区三| 欧美二区乱c少妇| 一区二区三区日本| 国产在线播放一区三区四| 欧美另类z0zxhd电影| 亚洲少妇最新在线视频| 高清在线不卡av| 久久综合狠狠综合久久综合88| 中文字幕第一区二区| 久久精品国产澳门| 在线成人av网站| 亚洲成人自拍偷拍| 色88888久久久久久影院野外| 一本大道综合伊人精品热热| 欧美激情综合五月色丁香小说| 中文字幕一区二区三区av| 另类小说综合欧美亚洲| 欧美一区2区视频在线观看| 亚洲永久精品国产| 色婷婷综合久久久久中文| 亚洲国产精华液网站w | 午夜伦欧美伦电影理论片| 色综合久久久久综合99| 国产精品伦一区| 国产91在线观看丝袜| 久久久久久久网| 国产精品亚洲成人| 久久日韩精品一区二区五区| 老司机精品视频导航| 欧美成人aa大片| 国产精品一二三| 国产精品狼人久久影院观看方式| 亚洲夂夂婷婷色拍ww47| 欧美视频三区在线播放| 亚洲精品乱码久久久久久黑人| 久久99深爱久久99精品| 欧美一级理论片| 秋霞午夜鲁丝一区二区老狼| 777久久久精品| 卡一卡二国产精品| 精品国产成人系列| 成人综合婷婷国产精品久久蜜臀 | 6080日韩午夜伦伦午夜伦| 亚洲成av人片在线| 日韩欧美亚洲一区二区| 国产综合久久久久久久久久久久| 成人黄色小视频| 综合久久综合久久| 在线亚洲一区观看| 热久久一区二区| 国产亚洲va综合人人澡精品| jlzzjlzz亚洲女人18| 亚洲精品自拍动漫在线| 欧美日韩在线免费视频| 日本中文字幕一区二区有限公司| 色综合一个色综合亚洲| 天天影视涩香欲综合网| 精品美女一区二区| av亚洲精华国产精华精| 亚洲中国最大av网站| 欧美电影免费观看高清完整版| 亚洲午夜一区二区三区| 欧美成人一区二区三区片免费 | 成人免费在线视频观看| 在线亚洲高清视频|