編譯原理(1)

編譯原理的一些總結(jié)

詞法分析

把編寫的代碼字符串按照一定的規(guī)則識別為一個個的token,即變成小的字符串。這里會根據(jù)正則表達(dá)式進(jìn)行識別,為了編碼方便,先把正則表達(dá)式變成NFA有窮自動機,然后再變成DFA無窮自動機,最后按照DFA進(jìn)行編碼,對字符串進(jìn)行識別。

語法分析

把詞法分析得出來的字符串token,組合起來,變成一顆語法樹,如果去構(gòu)建語法樹呢,需要去設(shè)計合適的文法,以及使用一系列的語法分析技術(shù)。

語法制導(dǎo)的翻譯

計算和分析語法分析得出的語法樹上的每個節(jié)點的綜合屬性和繼承屬性。定義一些語義動作來對各個節(jié)點上的屬性進(jìn)行處理。

中間代碼生成

源語言->中間代碼->目標(biāo)語言。根據(jù)語法制導(dǎo)翻譯對聲明賦值表達(dá)式控制流進(jìn)行翻譯,并通過回填技術(shù)對地址進(jìn)行填寫,最后翻譯成中間代碼,中間代碼使用三元式和四元式表示。

運行時刻環(huán)境

講述了運行時動態(tài)存儲和靜態(tài)存儲的規(guī)則,堆棧存儲,全局非全局?jǐn)?shù)據(jù)存儲和符號表

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 鏈接地址:https://www.tutorialspoint.com/compiler_design/compi...
    dannyvi閱讀 4,903評論 1 12
  • 編譯器的結(jié)構(gòu)(The Structure of a Compiler) 源程序的分析階段分為:線性分析,層次分析,...
    牛程程閱讀 471評論 0 0
  • 一個編譯器的前端通常包括詞法分析器和語法分析器。在分析過程中,文本輸入詞法分析器,根據(jù)詞法規(guī)則解析出詞法單元。詞法...
    dannyvi閱讀 1,891評論 0 1
  • 符號表創(chuàng)建階段,語法分析階段遞歸下降棧語法分析,附加節(jié)點特性,提供給語義分析使用 正規(guī)文法(3型文法)左線性文法:...
    丁狗子閱讀 262評論 0 0
  • 以后,兩三年后。會不會再沒有鄉(xiāng)了? 我指的當(dāng)然不止是名字而已,你想想看,地球都成了地球村了。那還要區(qū)分那些難記甚至...
    雞仔說閱讀 395評論 0 0

友情鏈接更多精彩內(nèi)容