編譯原理-編譯器的系統結構

1. 簡介

    在編程語言的發展過程中,有機器語言彙編語言高級語言的三種發展階段。由於機器語言的複雜,難以記憶的特性,故而出現了彙編語言,但是彙編語言依賴於特定的機器平臺,故而還是不方便,又出現了高級語言。
    將彙編語言翻譯成機器語言的過程就是彙編;將高級語言翻譯成彙編語言或者機器語言的過程就稱爲編譯。編譯原理,主要學習的是高級語言如何翻譯成彙編語言或者機器語言的過程的。

2. 編譯系統的結構

    編譯的本質是翻譯高級語言的過程,編譯的輸入時高級語言程序,編譯的輸出是彙編語言程序或者機器語言程序。那麼機器是如何自動的執行翻譯這個過程的呢?不妨看看人工翻譯的過程:

源語言:In the room, he broke the window with a hammer.
翻譯的過程:
參考文檔

第一步
得到
第二部
得到
源語言
分析源語言
句子語義
生成目標語言
目標語言句子

第一步分析的過程:
③語義分析(Semantic analysis
詞法分析階段是編譯過程的第三個階段。
通常從劃分句子成分入手,即從主、謂、賓、定、狀、補等入手。而句子中通常最重要的又是謂語,其他的一些成份是圍繞着它來的。
謂語:broke
故而,我們關心的是,這個動作的實施者是誰,對象是誰,結果是什麼…
就可以用一個圖來表示:
在這裏插入圖片描述
中間是打的這個動作,然後有實施者、所用工具、實施地方、承受對象。
也就是:
目標語言:在房間裏,他用錘子砸了一扇窗戶。

而,我們是如何來劃分句子成分的呢?就需要下面的語法分析。
②語法分析(Syntax analysis),也叫句法分析。
詞法分析階段是編譯過程的第二個階段。
在上面句子中句子成分的分析,就是通過單詞的一些序列組合而成的語法短語來識別句子的成分的。這些序列需要分析單詞的詞性,而是如何識別單詞的詞性的呢?就需要下面的詞法分析。
③詞法分析(Lexical analysis
詞法分析階段是編譯過程的第一個階段。

故而,我們分析源語言的過程,就是:
    詞法分析--->語法分析--->語義分析。
而編譯的過程的步驟如下:
在這裏插入圖片描述


注:
【1】以上內容來自慕課編譯原理課程。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章