本系列學習筆記基本上是博主的《 openEuler 操作系統(tǒng)》讀書筆記鹃骂,中間插入一些自己查的資料以及翻到的感覺有用的源代碼 默認架構(gòu)為 ARM 程序及其加載執(zhí)行 類 UNIX...

本系列學習筆記基本上是博主的《 openEuler 操作系統(tǒng)》讀書筆記鹃骂,中間插入一些自己查的資料以及翻到的感覺有用的源代碼 默認架構(gòu)為 ARM 程序及其加載執(zhí)行 類 UNIX...
本文是以 RPM Packaging Guide[https://rpm-packaging-guide.github.io/] 為主線宅荤,進行簡化席函、翻譯求摇,中間根據(jù)個人的學習需...
LR(0) 文法 若一個文法 G 的拓廣文法 G' 的識別活前綴的自動機中的每個狀態(tài)(項目集)均不存在下述情況:既有移進項目又有規(guī)約項目(移進-規(guī)約沖突)灿椅;含有多個規(guī)約項目(...
看了前面的內(nèi)容钞支,我們已經(jīng)了解到:分析表和驅(qū)動器算法,是 LR 分析器的核心操刀。 在分析的過程中烁挟,語法分析器總是根據(jù)棧頂?shù)臓顟B(tài)、當前剩余輸入的第一個終結(jié)符查詢分析表骨坑,以確定改變格...
LR分析 LR 分析的特點: 采用最一般的無回溯移進-規(guī)約方法欢唾; 適用于幾乎所有程序設計語言且警; 能及時發(fā)現(xiàn)錯誤; 分析表復雜礁遣,難以手工構(gòu)造斑芜。 LR 分析表和驅(qū)動器是 LR 分...
基本方法 從句子 ω 開始,從左到右掃描 ω沸呐,反復用產(chǎn)生式的左部替換產(chǎn)生式的右部醇王、謀求對 ω 的匹配,最終得到文法的開始符號(或崭添,發(fā)現(xiàn)錯誤)(也就是從下往上搞出個樹寓娩,最后推到...
構(gòu)造預測分析表 預測分析表的作用呼渣,是為推導的進行指明方向——我們用當前下推棧棧頂和讀寫頭所指向的符號的組合(即當前的狀態(tài))根暑,去查詢預測分析表,以確定推導的下一步該向著何種方向...
本系列為個人編譯原理學習筆記排嫌,謬誤之處懇請高人指點,感激不盡缰犁! 內(nèi)容整理自西安電子科技大學 王小兵淳地、張南老師的編譯原理課程。 使用預測分析器的自上而下分析 使用預測分析器進行...
本系列為個人編譯原理學習筆記,謬誤之處懇請高人指點并徘,感激不盡遣钳! 內(nèi)容整理自西安電子科技大學 王小兵、張南老師的編譯原理課程麦乞。 詞法分析蕴茴,是把源程序分析成記號流劝评,識別其中的單詞...
對語言進行形式化描述的規(guī)則叫文法撞叽。 詞法規(guī)則姻成、語法規(guī)則都以形式化的方法對語言進行描述,這樣的規(guī)則就叫文法愿棋。在使用 lex 的時候科展,我們就可以使用文法來簡單地定義和修改語言。 ...
語法分析樹和語法樹不是一種東西。習慣上见秤,我們把前者叫做“具體語法樹”砂竖,其能夠體現(xiàn)推導的過程;后者叫做“抽象語法樹”鹃答,其不體現(xiàn)過程乎澄,只關(guān)心最后的結(jié)果。 語法分析樹 語法分析樹是...
寫在前面: 前幾篇博客中說到的詞法分析置济,做的是從 【x+y → id+id】 的工作,也就是要將源代碼變成一個記號流锋八。語法分析浙于,就是要通過為這個記號流序列(在“龍書”中,該序...
語法分析器是編譯器前端的核心 語法分析器的兩項主要任務羞酗,分別: 是根據(jù)詞法分析器提供的記號流,為語法正確的輸入構(gòu)造分析樹(或語法樹)紊服; 檢查輸入中的語法 / 詞法錯誤檀轨,并調(diào)用...
從 DFA 到最小 DFA 關(guān)于星閉包的補充:一個語言被認為是所有可能字的子集参萄。所有可能字的集合可以被認為是所有可能的字符串串接的集合。 DFA 最小化的過程煎饼,就是通過某些等...
NFA 識別記號的并行方法 之前的文章中寫過的 “用一個輸入字符串在一個 NFA 中逐個嘗試各種路徑筒溃、最終找到一條從初態(tài)到終態(tài)” 的方法被稱為“NFA識別記號的串行方法”马篮,然...
一般方法和步驟 用正規(guī)式描述模式(描述詞法規(guī)則)铡羡; 為每個正規(guī)式構(gòu)造一個 NFA 积蔚,這個 NFA 識別正規(guī)式表示的正規(guī)集(即意鲸,將正規(guī)式轉(zhuǎn)成 NFA烦周。正規(guī)式和NFA在這里就描述...
編譯,是把人能看懂的代碼翻譯成機器能看懂的指令(即怎顾,機器語言)的過程读慎,說白了核心任務其實就是搞個翻譯,把一堆字符串搞成二進制流罷了槐雾。想要翻譯夭委,就要先搞懂語言的含義,這就需要進...