日韩免费在线观看成人,骚碰成人免费视频,电影院 摸 湿 嗯…啊h

    1. <span id="um726"><blockquote id="um726"></blockquote></span>

        <span id="um726"><blockquote id="um726"></blockquote></span>
        1. 您的位置:首頁>世界杯 >內(nèi)容

          奧運(yùn)會預(yù)選賽 (關(guān)于奧運(yùn)會預(yù)選賽 玩法)

          2022-11-23 07:43:03來源:世界杯
          導(dǎo)讀類C語言詞法分析器設(shè)計(jì)詞法分析器是編譯工作的第一個階段,主要完成對源程序的掃描,從而將源程序轉(zhuǎn)換成單詞序列,作為第二階段語法分析的...

          類C語言詞法分析器設(shè)計(jì)

          詞法分析器是編譯工作的第一個階段,主要完成對源程序的掃描,從而將源程序轉(zhuǎn)換成單詞序列,作為第二階段語法分析的輸入。

          預(yù)處理:過濾掉跳格符、回車符、換行符等編輯性字符。將多個連續(xù)的空格合并成一個空格。過濾注釋。單詞符號的識別,將每個單詞符號進(jìn)行不同類別的劃分。單詞符號可劃分成5種。關(guān)鍵字:如if、else、while、int、float等。標(biāo)識符:用戶自己定義的名字,常量名、變量名和過程名。常數(shù):各種類型的常數(shù)運(yùn)算符:如+、-、*、<、>、>=等。屆符:如逗號、分號、括號等。最后將所有的單詞符號轉(zhuǎn)化為便于計(jì)算機(jī)處理的機(jī)內(nèi)碼形式用戶界面使用圖形化界面

          1、 字符集說明:本詞法分析演示的是C語言的一個子集,字符集如下:(1) 關(guān)鍵字:int,long,float,double,char,short,void,if,else,for,while,do,break,switch,continue,case,default,return,static,struct(2) 運(yùn)算符:+,-,*,/,%,>,<,=,!=,==,<=,>=,++,--,!,&,&&,||,[](3) 界符:,,;,{,},(,),:,’,”,#(4) 標(biāo)識符:以字母開頭的字母數(shù)字串。(5) 常數(shù):整型或浮點(diǎn)型。2、 字符集的內(nèi)編碼形式:字符 機(jī)內(nèi)編碼 字符 機(jī)內(nèi)編碼int 1 = 26long 2 > 27char 3 < 28if 4 ! 29else 5 == 30for 6 != 31while 7 >= 32return 8 <= 33break 9 ++ 34continue 10 -- 35switch 11 & 36case 12 && 37default 13 || 38float 14 [ 39double 15 ] 40void 16 , 41struct 17 ; 42static 18 ( 43do 19 ) 44short 20 { 45+ 21 } 46- 22 ‘ 47* 23 “ 48/ 24 : 49% 25 # 50如果是用戶自己定義的標(biāo)識符則機(jī)內(nèi)碼為51;如果是常數(shù),則機(jī)內(nèi)碼為52。錯誤則用0表示機(jī)內(nèi)碼。3、 相關(guān)變量說明:(1) keyword[]:{int,long,char,if,else,for,while,return,break,continue,switch,case,default,float,double,void,struct,static,do,short};(2) operater[]:{+,-,*,/,%,=,>,<,!,==,!=,>=,<=,++,--,&,&&,||,[,]};(3) delimeter[]:{,,;,(,),{,},\',\,:,#}; (4) 說明:1--20號為關(guān)鍵字,可直接用下標(biāo)表示,i+1就是其機(jī)內(nèi)碼,21--40為運(yùn)算符,間接下標(biāo):i+21就是其機(jī)內(nèi)碼, 41--50為界符,直接下標(biāo):i+41就是其機(jī)內(nèi)碼;如果是用戶自己定義的標(biāo)識符,則其機(jī)內(nèi)碼為51;如果是常數(shù),則其機(jī)內(nèi)碼是52;如果是錯誤,則機(jī)內(nèi)碼為0.

          (1) Analysis類:接收源程序,進(jìn)行詞法分析工作,再將分析結(jié)果傳到用戶界面。(2) UserFrame類:不參與詞法分析工作,只提供用戶操作界面。接收用戶的輸入,并產(chǎn)生輸出。

          (1)preTreat():預(yù)處理,消除跳格符、換行符和回車符,合并空格并消除注釋。(2)doAnalysis():主分析函數(shù),通過調(diào)用一系列子函數(shù),完成分析工作并輸出結(jié)果。(3)divide():完成字符的分解,返回一個獨(dú)立的字符串(可能是關(guān)鍵字、標(biāo)識符、運(yùn)算符、界符或者數(shù)字串)。(4)check():對divide()返回的字符串進(jìn)行檢查,判斷其是數(shù)字串、單個字符還是字符串,返回不同標(biāo)志。1:數(shù)字;2:單個字符;3:多個字符(5)checkDigit():如果check()返回的是數(shù)字串,則調(diào)用該函數(shù)判斷其是整型還是浮點(diǎn)型,返回不同標(biāo)志。是正常的數(shù)字類型則返回常數(shù)對應(yīng)的機(jī)內(nèi)碼,否則,返回錯誤的機(jī)內(nèi)碼。(6)checkChar():如果check()返回的是單個字符,則調(diào)用該函數(shù)判斷其是標(biāo)識符、運(yùn)算符還是界符,返回其對應(yīng)的機(jī)內(nèi)碼。(7)checkString():如果check()返回的是字符串,則調(diào)用該函數(shù)判斷其是關(guān)鍵字、標(biāo)識符還是運(yùn)算符,返回其機(jī)內(nèi)碼。

          奧運(yùn)會預(yù)選賽
          免責(zé)聲明:本文由用戶上傳,如有侵權(quán)請聯(lián)系刪除!

          猜你喜歡

          最新文章