編譯原理(一)
最近在學習編譯原理這一門課程,順便來對所學知識進行一下回憶
詞這個字很明顯,比如暫且把 just do it 看成一段英文句子吧,我們來進行分析分析,其中 just 和 do 和 it 都是單詞,這就是詞法分析。單詞符號比如源程式:sum = a + money/2;
詞素識別符號
sum賦值運算子
=識別符號
a加法運算子
+識別符號
money
除法運算子/整數
2空格分析器忽略界符;
語法分析是在詞法分析的基礎上進行的,根據語言語法的規則從單詞符號串中識別各種語法單位並進行語法檢查。常用的表示方法是語法樹,樹中每個內部節點表示乙個運算,而該節點的子節點表示運算的分量,見下圖:
語義是指對語言的各種語法單位進行賦予具體的意義這個就是對前期中間**進行等價變換或改造,目的是為獲得更高效的省時間和空間的**,看圖目標**生成以中間表示形式作為輸出,並把它對映為目標語言。如果目標語言是機器**,則必須為每個變數選擇暫存器或記憶體位置,中間指令則被翻譯為能夠完成相同任務的機器指令序列。**生成的乙個至關重要的方面是合理分配暫存器以存放變數的值。重要的方面是合理分配暫存器以存放變數的值。在編譯程式的各個階段,都要涉及**管理和錯誤處理
在編譯程式的各個階段,都要涉及**管理和錯誤處理編譯原理(一)
編譯原理的介紹 計算機的位數是代表資料匯流排的位數,在32位計算機中,就是說每次資料操作可以達到4位元組,而定址空間則是2的32次方,也是就4g,那麼為什麼64位計算機只能定址32g呢?因為64位計算機的位址匯流排為35位,並不是64位的位址線,那麼記憶體位址也就是原來的8倍,就是32g記憶體。cp...
編譯原理 (一)
編譯原理 乙個陌生又熟悉的詞 對程式設計師來說 學習編譯原理可以幫助程式設計師更深層的了解程式語言和內部機制。讓我們更加深入了解計算機思想。簡單介紹計算機語言發展史 機器語言 組合語言 早期高階語言 高階語言 物件導向語言,語言發展越來越高階,人類的文明也越來越輝煌!編譯程式 編譯原理 通俗的講就是...
編譯原理(一)
將匯程式設計序翻譯為機器 稱為 彙編 詞法分析器是 編譯的第一步 輸出是單詞串 其輸入是源程式 宿主機不同於目標機的編譯程式是 交叉編譯程式 編寫乙個計算機高階語言的源程式後,到正式上機執行之前,一般要經過 abc 這幾步 a 編輯 b 編譯 c 連線 d 執行 解釋方式和編譯方式的主要區別在於 能...