freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內容

編譯原理之詞法分析(文件)

2025-08-25 10:59 上一頁面

下一頁面
 

【正文】 return(ID, 指向該標識符在符號表的入口指針 )。 get_char。 設計全局變量和過程(續(xù)) Wensheng Li BUPT 2022 54/78 編制詞法分析程序( 方法一 ) token=??。 (13) DTB:十 /二進制的轉換過程,它將 token中的數字串轉換成二進制的數值表示。 設計全局變量和過程(續(xù)) Wensheng Li BUPT 2022 53/78 (9) cat:過程,每次調用把當前 char中的字符與 token中的字符串連接起來。 (5) forward:字符指針,向前掃描指針。 ? 如果某一狀態(tài)有若干條射出邊,則程序: – 讀一個字符 – 根據讀到的字符,選擇標記與之匹配的邊到達下一個狀態(tài),即程序控制轉去執(zhí)行下一個狀態(tài)對應的語句序列。 / ? / 11 * other * 12 13 other 轉入口 出口 入口 Wensheng Li BUPT 2022 46/78 二、詞法分析程序的構造 根據上述狀態(tài)轉換圖,再加上相應的語義動作,就可以構造出的詞法分析程 序 的算法框圖。 標點符號 : +、 、 *、 /、 (、 )、 :、 ?;等。 ? 狀態(tài)之間邊的形成 – 對產生式 A?aB,從 A狀態(tài)到 B狀態(tài)畫一條標記為 a的邊 – 對產生式 A?a,從 A狀態(tài)到終態(tài)畫一條標記為 a的邊 – 對產生式 A??,從 A狀態(tài)到終態(tài)畫一條標記為 ?的邊 Wensheng Li BUPT 2022 39/78 無符號數的右線性文法的狀態(tài)轉換圖 num num1 num2 num3 num4 num5 digits 0 2 4 digit 1 digit 3 digit 6 digit other 7 digit E E 5 +/ digit digit * other . other num ? digit num1 num1 ? digit num1 | . num2 | E num4 | ? num2 ? digit num3 num3 ? digit num3 | E num4 | ? num4 ? + digits | digits | digit num5 digits ? digit num5 num5 ? digit num5 | ? Wensheng Li BUPT 2022 40/78 詞法分析程序的設計與實現 步驟: 1. 給出描述該語言各種單詞符號的詞法規(guī)則 2. 畫出狀態(tài)轉換圖 3. 根據狀態(tài)轉換圖構造詞法分析器 一、文法及狀態(tài)轉換圖 1. 語言說明 2. 記號的正規(guī)文法 3. 狀態(tài)轉換圖 二、詞法分析程 序 的構造 三、詞法分析程 序 的實現 1. 輸出形式 2. 設計全局變量和過程 3. 編制詞法分析程 序 Wensheng Li BUPT 2022 41/78 一、文法及狀態(tài)轉換圖 ? 語言說明 標識符 :以字母開頭的、后跟字母或數字組成的符號串。 – 二者具有同等表達能力 – 正規(guī)表達式:清晰、簡潔 – 正規(guī)文法:便于識別 一、詞法與正規(guī)文法 二、記號的文法 三、狀態(tài)轉換圖與記號的識別 Wensheng Li BUPT 2022 22/78 一、詞法與正規(guī)文法 ? 把源語言的文法 G分解為若干子文法: G0、 G G … 、 Gn —— 正規(guī)文法 —— 上下文無關文法 語法 詞法 ? 詞法:描述語言的標識符、常數、運算符和標點符號等記號的文法 ? 語法:借助于記號來描述語言的結構的文法 文法? Wensheng Li BUPT 2022 23/78 二、記號的文法 ? 標識符 ? 常數 – 整數 – 無符號數 ? 運算符 ? 分界符 ? 關鍵字 Wensheng Li BUPT 2022 24/78 標識符 ? 標識符定義為“由字母打頭的、由字母或數字組成的符號串” ? 描述標識符集合的正規(guī)表達式: letter(letter|digit)* ? 表示標識符集合的正規(guī)定義式: letter ? A|B|…|Z|a|b|…|z digit ? 0|1|…|9 id ? letter(letter|digit)* 正規(guī)表達式? Wensheng Li BUPT 2022 25/78 把正規(guī)定義式轉換為相應的正規(guī)文法 ( letter | digit )* = ? | ( letter | digit )+ = ? | ( letter | digit ) ( letter | digit )* = ? | letter ( letter | digit )* | digit ( letter | digit )* = ? | (A|… |Z|a|… |z) ( letter | digit )* | (0|… |9)( letter | digit )* = ? | A ( letter | digit )* | … | Z ( letter | digit )* | a ( letter | digit )* | … | z ( letter | digit )* | 0 ( letter | digit )* | … | 9 ( letter | digit )* Wensheng Li BUPT 2022 26/78 標識符的正規(guī)文法 id ? A rid|…|Z rid|a rid|…|z rid rid ? ? |A rid|B rid|…|Z rid |a rid|b rid|…|z rid |0 rid|1 rid|…|9 rid ? 一般寫作: id ? letter rid rid ? ? | letter rid | digit rid Wensheng Li BUPT 2022 27/78 常數 —— 整數 ? 描述整數結構的正規(guī)表達式為: (digit)+ ? 對此正規(guī)表達式進行等價變換: (digit)+ = digit(digit)* (digit)* = ? | digit(digit)* ? 整數的正規(guī)文法: digits ? digit remainder remainder ? ? | digit remainder Wensheng Li BUPT 2022 28/78 常數 —— 無符號數 ? 無符號數的正規(guī)表達式為: (digit)+ (.(digit)+)? (E(+|)?(digit)+)? ? 正規(guī)定義式為 digit ? 0|1|…|9 digits ? digit+ optional_fraction ? (.digits)? optional_exponent ? (E(+|)?digits)? num ? digits optional_fraction optional_exponent Wensheng Li BUPT 2022 29/78 把正規(guī)定義式轉換為正規(guī)文法 ( digit )+ ( . ( digit )+ )? ( E( + | )?( digit )+ )? =( digit )+ ( . ( digit )+ |? ) ( E(+ | | ?) ( digit )+ | ? ) =digit (digit)* ( . digit ( digit )*|?) ( E (+||?) digit ( digit )* | ? ) num1 表示無符號數的第一個數字之后的部分 num2 表示小數點以后的部分 num3 表示小數點后第一個數字以后的部分 num4 表示 E之后的部分 num5 表示 (digit)* digits 表示 (digit)+ Wensheng Li BUPT 2022 30/78 無符號數分析圖 digit (digit)* (. digit (digit)*|?) (E (+||?) digit (digit)* |?) num3 num2 num1 num4 num num ? digit num1 num1 ? digit num1 | . num2 | E num4 | ? num2 ? digit num3 num3 ? digit num3 | E num4 | ? num4 ? + digits | digits | digit num5 digits ?
點擊復制文檔內容
公司管理相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1