摘 要:計(jì)算機(jī)之所以識(shí)別高級(jí)語(yǔ)言,是因?yàn)橹虚g有編輯技術(shù)把高級(jí)語(yǔ)言編譯為計(jì)算機(jī)所識(shí)別的語(yǔ)言,最終能在計(jì)算機(jī)硬件上執(zhí)行。本文主要論述用C語(yǔ)言編寫的微型編譯器的實(shí)現(xiàn)過(guò)程。
關(guān)鍵詞:C語(yǔ)言;編譯器
中圖分類號(hào):TP314 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):2096-4706(2018)10-0112-02
Abstract:The reason why computers recognize high-level languages is that editing technology compiles high-level languages into the languages recognized by computers,which can eventually be executed on computer hardware. This paper mainly discusses the implementation process of microcompilers written in C language.
Keywords:C language;compiler
0 引 言
編譯技術(shù)是計(jì)算機(jī)語(yǔ)言發(fā)展中不可或缺的一部分,也是計(jì)算機(jī)科學(xué)中比較成熟的一個(gè)部分,編譯技術(shù)的主要思想就是把一種語(yǔ)言表示的程序轉(zhuǎn)換為另外一種語(yǔ)言表示的邏輯程序。把不同的高級(jí)語(yǔ)言轉(zhuǎn)換成相同的機(jī)器語(yǔ)言,最終到硬件計(jì)算機(jī)上執(zhí)行,這些轉(zhuǎn)化都涉及編譯技術(shù)的應(yīng)用。下面淺談一下C語(yǔ)言開發(fā)的微型編譯器的實(shí)現(xiàn)過(guò)程。
1 C語(yǔ)言微型編譯器的主要功能
C語(yǔ)言微型編譯器的主要任務(wù):即是查看用C語(yǔ)言的規(guī)范字符組成的C語(yǔ)言源程序,然后把它們分解為單個(gè)具有獨(dú)立意義的單詞符號(hào)(Token),還識(shí)別其有關(guān)屬性再轉(zhuǎn)換成長(zhǎng)度統(tǒng)一的屬性字,最后對(duì)語(yǔ)義部分進(jìn)行分解。其實(shí),C編譯器的功能就是執(zhí)行C源程序代碼,識(shí)別代碼,轉(zhuǎn)換成屬性字,經(jīng)過(guò)語(yǔ)義分解和代碼生成,最終得到希望的代碼文件即三地址四元表達(dá)式。
此C語(yǔ)言微型編譯器實(shí)現(xiàn)如下功能:(1)在源程序中識(shí)別出每個(gè)單詞;(2)繪制LR(1)分析表;(3)把分解的單詞的屬性放入構(gòu)造好的符號(hào)表中;(4)把單詞轉(zhuǎn)換成屬性字,最終形成二元組屬性字流;(5)語(yǔ)義分析程序把符號(hào)表進(jìn)行加工處理;(6)最終生成目標(biāo)代碼;(7)顯示基本出錯(cuò)處理。
2 C語(yǔ)言微型編譯器的文件組成……p>