91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

資源簡介

1. 課程設(shè)計(jì)目標(biāo) 實(shí)驗(yàn)建立C-編譯器。只含有掃描程序(scanner)和語法分析(parser)部分。 2. 分析與設(shè)計(jì) C-編譯器設(shè)計(jì)的整體框架,本實(shí)驗(yàn)實(shí)現(xiàn)掃描處理和語法分析程序(圖中粗黑部分)。 2.1 、掃描程序scanner部分 2.1.1系統(tǒng)設(shè)計(jì)思想 設(shè)計(jì)思想:根據(jù)DFA圖用switch-case結(jié)構(gòu)實(shí)現(xiàn)狀態(tài)轉(zhuǎn)換。 慣用詞法: ① 語言的關(guān)鍵字:else if int return void while ② 專用符號:+ - * / < >= == != = ; , ( ) [ ] { } /* */ ③ 其他標(biāo)記是ID和NUM,通過下列正則表達(dá)式定義: ID = letter letter* NUM = digit digit* letter = a|..|z|A|..|Z digit = 0|..|9 大寫和小寫字母是有區(qū)別的 ④ 空格由空白、換行符和制表符組成。空格通常被忽略,除了它必須分開ID、NUM關(guān)鍵字。 ⑤ 注釋用通常的C語言符號/ * . . . * /圍起來。注釋可以放在任何空白出現(xiàn)的位置(即注釋不能放在標(biāo)記內(nèi))上,且可以超過一行。注釋不能嵌套 說明:當(dāng)輸入的字符使DFA到達(dá)接受狀態(tài)的時候,則可以確定一個單詞了。初始狀態(tài)設(shè)置為START,當(dāng)需要得到下一個token時,取得次token的第一個字符,并且按照DFA與對此字符的類型分析,轉(zhuǎn)換狀態(tài)。重復(fù)此步驟,直到DONE為止,輸出token類型。當(dāng)字符為“/”時,狀態(tài)轉(zhuǎn)換為SLAH再判斷下一個字符,如果為“*”則繼續(xù)轉(zhuǎn)到INCOMMENT,最后以“*”時轉(zhuǎn)到ENDCOMMENT狀態(tài),表明是注釋,如果其他的則是字符停滯于當(dāng)前字符,并且輸出“/”。 2.1.2程序流程圖

資源截圖

代碼片段和文件信息

評論

共有 條評論