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

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

?? runtime.h

?? 一個Pascal子集語言的編譯器
?? H
?? 第 1 頁 / 共 2 頁
字號:
        return 0;
    else
        return -1;
}

void runTime::GetWords()
{
    fin2.open("words.txt");             //定義文件讀取指針 
    Layer=0;
    SegmentIndex=-1;
    VariantCount=0;
    
    int state=0;                        //在一般情況下,state值為0時,讀到begin時層數需要向前滾
                                        //但當在讀完program,procedure或是function后,讀到的第一個
                                        //begin并不需要增加層數,故此時的state值為1 
    char TempWord[256];                 //臨時變量,分別記錄當前單詞名稱和其值 
    int TempValue;              
    
    while(fin2>>TempWord)
    {
        if(strcmp(TempWord,"@")==0) continue;      //對回車字符不加處理 
        
            
        if(strcmp(TempWord,"program")==0)       //如果遇到了程序聲明符,則將頭信息記錄 
        {
            fin2>>TempWord;                     //讀入 "id" 
            VariantCount++;                     //每當讀入id后都需要將計數器加1 
            Segment[VariantCount]=++SegmentIndex;
            SegmentCount=SegmentIndex;
            
            WordCount[SegmentIndex]=0;          //單詞個數的初始化,頭信息不用記錄到單詞中 
            ParamentCount[SegmentIndex]=0;      //準備記錄其參數的個數 
            fin2>>TempWord;                     //讀入 "(" 
            
            fin2>>TempWord;                     //讀入 "id"或是")" 
            
            if(TempWord[0]!=')')
                {
                VariantCount++; 
                ParamentCount[SegmentIndex]++;
                strcpy(Parament[SegmentIndex][ParamentCount[SegmentIndex]], VariantName[VariantCount]);
                                                //將變量名稱存入參數信息中
                                                 
                fin2>>TempWord;                 //讀入","或是")"
                while(TempWord[0]==',')
                    {
                    fin2>>TempWord;             //讀入下一個參數"id" 
                    VariantCount++; 
                    ParamentCount[SegmentIndex]++;
                    strcpy(Parament[SegmentIndex][ParamentCount[SegmentIndex]], VariantName[VariantCount]);
                                                //將變量名稱存入參數信息中
                                             
                    fin2>>TempWord;             //讀入","或是")"
                    }
                }
            fin2>>TempWord;                     //讀入";"
            
            state=1;                            //讓其后的第一個begin不進行操作 
            
        }
        else if(strcmp(TempWord,"procedure")==0)//如果遇到了過程聲明符,則基本和program處理相似 
        {
        
            Layer++;
            fin2>>TempWord;                     //讀入 "id" 
            VariantCount++;                     //每當讀入id后都需要將計數器加1 
            Segment[VariantCount]=++SegmentIndex;
            SegmentCount=SegmentIndex;
            
            WordCount[SegmentIndex]=0;          //單詞個數的初始化,頭信息不用記錄到單詞中 
            ParamentCount[SegmentIndex]=0;      //準備記錄其參數的個數 
            fin2>>TempWord;                     //讀入 "(" 
            
            fin2>>TempWord;                     //讀入 "id"或是")" 
            
            if(TempWord[0]!=')')
                {
                VariantCount++; 
                ParamentCount[SegmentIndex]++;
                
                strcpy(Parament[SegmentIndex][ParamentCount[SegmentIndex]], VariantName[VariantCount]);
                                                //將變量名稱存入參數信息中
                                                 
                fin2>>TempWord;                 //讀入","或是":"
                while(TempWord[0]==',')
                    {
                    fin2>>TempWord;             //讀入下一個參數"id" 
                    VariantCount++; 
                    ParamentCount[SegmentIndex]++;
                    strcpy(Parament[SegmentIndex][ParamentCount[SegmentIndex]], VariantName[VariantCount]);
                                                //將變量名稱存入參數信息中
                                             
                    fin2>>TempWord;             //讀入","或是":"
                    }
                fin2>>TempWord>>TempValue;      //讀入 "def x"   
                fin2>>TempWord;                 //讀入 ")"    
                    
                }
            fin2>>TempWord;                     //讀入";"
            
            state=1;
        
        
        }
        else if(strcmp(TempWord,"function")==0) //如果遇到了函數聲明符,則記錄相應的信息 
        {
            Layer++;
            fin2>>TempWord;                     //讀入 "id" 
            VariantCount++;                     //每當讀入id后都需要將計數器加1 
            Segment[VariantCount]=++SegmentIndex;
            SegmentCount=SegmentIndex;
            
            WordCount[SegmentIndex]=0;          //單詞個數的初始化,頭信息不用記錄到單詞中 
            ParamentCount[SegmentIndex]=0;      //準備記錄其參數的個數 
            fin2>>TempWord;                     //讀入 "(" 
            
            fin2>>TempWord;                     //讀入 "id"或是")" 
            
            if(TempWord[0]!=')')
                {
                VariantCount++; 
                ParamentCount[SegmentIndex]++;
                strcpy(Parament[SegmentIndex][ParamentCount[SegmentIndex]], VariantName[VariantCount]);
                                                //將變量名稱存入參數信息中
                fin2>>TempWord;                 //讀入","或是":"
                while(TempWord[0]==',')
                    {
                    fin2>>TempWord;             //讀入下一個參數"id" 
                    VariantCount++; 
                    ParamentCount[SegmentIndex]++;
                    strcpy(Parament[SegmentIndex][ParamentCount[SegmentIndex]], VariantName[VariantCount]);
                                                //將變量名稱存入參數信息中
                                             
                    fin2>>TempWord;             //讀入","或是":"
                    }
                fin2>>TempWord>>TempValue;      //讀入 "def x"   
                fin2>>TempWord;                 //讀入 ")"    
                }
            fin2>>TempWord;                     //讀入":"
            fin2>>TempWord>>TempValue;          //讀入"def x"
            fin2>>TempWord;                     //讀入";"
            state=1; 
        
        }
        else if(strcmp(TempWord,"begin")==0)
        {
            if(state==0)
                {
                Layer++;                            //將所在層數增加 
                strcpy(Word[SegmentIndex][WordCount[SegmentIndex]],TempWord);   
                                                    //并將其記錄到數組中 
                WordCount[SegmentIndex]++;
                }
            else
                state=0;
            
            if(Layer==0)                            //是主程序的開始 
            {
                SegmentIndex=0;
            }                
        
        }
        else if(strcmp(TempWord,"end")==0)
        {
            Layer--;                                //將所在層數增加
                                                    //并在下面判斷是否已經到達最底線 
            if(Layer==0)                            //說明已經寫完一個函數或過程 
            {
                fin1>>TempWord;                     //讀入每個函數或過程后面的";"
                state=1;                            //此時如果后面讀到begin則不會被記錄 
            }
            else if(Layer==-1)                      //已經到達文件的末尾 
            {
                fin1>>TempWord;                     //讀入最后的"."
            }
        }
        else
        {
            strcpy(Word[SegmentIndex][WordCount[SegmentIndex]],TempWord);
                                                //如果是一般字符則將其送到數組中 
            if(
                                                //如果遇到這些詞就將其后面所跟的屬性讀進來 
            (strcmp(TempWord,"number")==0)
            ||
            (strcmp(TempWord,"op")==0)
            ||
            (strcmp(TempWord,"def")==0)
            ||
            (strcmp(TempWord,"relop")==0)
            ||
            (strcmp(TempWord,"ids")==0)
            )
                fin2>>Value[SegmentIndex][WordCount[SegmentIndex]]; 
                              
        
            WordCount[SegmentIndex]++;
        
            if(strcmp(TempWord,"id")==0)    VariantCount++;
            
            
        }
        
        
        
    }


}

int runTime::Compile()
/*
    主要模塊
    
    需要完成的工作:1。檢查變量的作用域  
                    2。從文件將信息獲取到變量  
                    3。再將變量中信息按照執行順序存到目標文件 

*/
{
    Initialize();       
    if(CheckWords()!=0) return -1;
    //下面的工作是從文件中讀取各個字符到變量中
     
    GetWords();
    
    
    
    return 0;
}


#endif

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
成人激情av网| 成人免费视频一区| 亚洲二区视频在线| 亚洲一区二区综合| 一区二区三区在线视频免费观看 | 欧美精品视频www在线观看 | 午夜精品在线视频一区| 亚洲已满18点击进入久久| 一区二区三区在线观看欧美| 亚洲免费观看在线观看| 亚洲另类色综合网站| 亚洲成人久久影院| 蜜桃精品在线观看| 国产高清精品久久久久| av成人老司机| 欧美日韩一二三区| 精品国产91乱码一区二区三区| 精品少妇一区二区三区| 日本一区二区视频在线| 亚洲精品自拍动漫在线| 免费在线成人网| 国产白丝精品91爽爽久久| youjizz久久| 欧美福利视频导航| 国产日韩成人精品| 夜夜嗨av一区二区三区| 日本一区中文字幕| 成人动漫精品一区二区| 欧美午夜精品一区| 久久在线免费观看| 亚洲欧洲国产日韩| 蜜臀久久久久久久| 不卡视频在线看| 欧美精品一级二级三级| 欧美经典一区二区| 日韩一区精品字幕| caoporen国产精品视频| 91精品国模一区二区三区| 欧美激情在线看| 日韩高清在线观看| 91天堂素人约啪| 精品毛片乱码1区2区3区| 亚洲欧美色一区| 国产激情精品久久久第一区二区 | 91香蕉视频在线| 精品国产伦一区二区三区观看体验| 国产精品天美传媒| 久久不见久久见中文字幕免费| 99re成人在线| 国产夜色精品一区二区av| 视频一区二区中文字幕| 99re6这里只有精品视频在线观看| 日韩视频一区在线观看| 樱花影视一区二区| 成人av电影在线观看| 精品国产区一区| 午夜电影久久久| 日本乱码高清不卡字幕| 国产精品国产三级国产aⅴ入口| 麻豆成人av在线| 欧美精品欧美精品系列| 一区二区三区影院| 91浏览器在线视频| 欧美国产日韩在线观看| 国产尤物一区二区在线| 日韩欧美国产麻豆| 麻豆成人久久精品二区三区红| 欧美日韩视频专区在线播放| 亚洲精品高清在线观看| 97se亚洲国产综合自在线观| 国产精品乱码人人做人人爱| 国产真实乱偷精品视频免| 日韩免费看的电影| 久久99久久精品| 精品久久久久久久人人人人传媒| 日韩精品乱码免费| 欧美电影影音先锋| 日本最新不卡在线| 制服丝袜成人动漫| 日韩av成人高清| 日韩三级高清在线| 国内精品伊人久久久久av影院| 精品人在线二区三区| 国产一区日韩二区欧美三区| 精品国产一二三| 成人免费看黄yyy456| 国产三级三级三级精品8ⅰ区| 九色综合国产一区二区三区| 2023国产精品| 波波电影院一区二区三区| 一区二区三区四区乱视频| 欧美三级视频在线播放| 久久国产精品99精品国产| 久久久久国色av免费看影院| 成人免费av在线| 一区二区三区四区中文字幕| 日韩一区二区三区在线观看| 国产一区三区三区| 一区二区三区四区在线播放 | 久久九九影视网| 99精品欧美一区二区三区综合在线| 亚洲六月丁香色婷婷综合久久 | 午夜av区久久| 亚洲精品一区二区三区蜜桃下载 | 国内成人免费视频| 国产精品久久久久久久岛一牛影视 | 国产中文一区二区三区| 亚洲天堂成人网| 欧美一区二区三区四区高清| 国产黄色成人av| 亚洲国产一区二区a毛片| 日韩精品一区二区三区视频 | av在线不卡电影| 石原莉奈在线亚洲二区| 日本一区二区在线不卡| 欧美色国产精品| av网站免费线看精品| 国产999精品久久久久久绿帽| 亚洲色图在线看| 精品国产免费一区二区三区香蕉| 91在线无精精品入口| 国产一区二区调教| 亚洲成av人片在线观看无码| 久久精品视频在线免费观看| 欧美日韩久久久一区| k8久久久一区二区三区 | 中文字幕av一区 二区| 69久久99精品久久久久婷婷| 成人国产精品视频| 韩国女主播一区| 欧美bbbbb| 亚洲高清不卡在线观看| 自拍偷在线精品自拍偷无码专区| 精品国一区二区三区| 91精品国产综合久久精品图片| 91网上在线视频| 成人av网址在线观看| 国产成人高清在线| 国产专区综合网| 久久精品二区亚洲w码| 日本欧美在线看| 午夜久久久久久| 亚洲r级在线视频| 亚洲午夜av在线| 亚洲五月六月丁香激情| 一区二区三区在线不卡| 亚洲精品视频免费观看| 中文字幕在线观看一区| 国产精品女同互慰在线看| 久久久久久99久久久精品网站| 精品免费国产一区二区三区四区| 欧美精品三级日韩久久| 欧美一区二区在线看| 4438亚洲最大| 日韩欧美高清在线| 欧美mv日韩mv国产| 久久久久久久久伊人| 久久久久久久综合日本| 欧美国产禁国产网站cc| 国产精品日产欧美久久久久| 国产精品久久三| 亚洲久草在线视频| 亚洲综合一区二区三区| 午夜成人免费视频| 精品一区二区三区在线观看国产| 国内久久精品视频| 成人午夜精品在线| 色综合久久综合网欧美综合网| 在线亚洲高清视频| 欧美一区二区三区四区在线观看 | 亚洲国产精品黑人久久久| 国产精品国产三级国产aⅴ入口 | 欧美日韩视频在线一区二区 | 国产成人午夜高潮毛片| av不卡一区二区三区| 欧美视频一区二区三区在线观看| 欧美日韩中文精品| 久久众筹精品私拍模特| 亚洲视频你懂的| 首页亚洲欧美制服丝腿| 国产一区二区三区免费观看| 91在线你懂得| 91精品国产综合久久香蕉麻豆 | 亚洲欧美成人一区二区三区| 亚洲电影视频在线| 国产精品一区免费视频| 91久久精品一区二区三| 欧美成人video| 综合电影一区二区三区 | 国产欧美日韩另类视频免费观看| 一区在线中文字幕| 免费人成黄页网站在线一区二区| 国产成人夜色高潮福利影视| 欧美日韩在线精品一区二区三区激情| 日韩欧美第一区| 亚洲国产乱码最新视频| 国产.欧美.日韩| 日韩一区二区三| 亚洲三级免费电影| 国产一区二区三区电影在线观看 |