12月2日,經過夜以繼日的碼代碼,終於將y件虛擬機的全部代碼寫完,歷時兩個月,終於完成了。
接下來的工作就是編寫新語言以及配套的編譯器,一般來說這兩部分是同時進行的,但是到他這里,卻是有所不同。
他腦海中已經有全套的新語言架構,甚至可以說,連代碼都存在他的腦海中,唯一的工作,就是將腦海中的東西寫出來。
他不需要探索新語言的架構,也就意味著不需要做重復工作,直接就開始進行編譯器的編寫,這對後面的語言部分開發很有幫助。
而這兩項工作當中,編譯器的代碼數量并不是特別大,主要功能只有三個:詞法分析器、詞義分析器以及優化器。
這三個部分基本上是所有編譯器都會有的,只要有這三個功能模塊,基本上就可以滿足一款語言的編譯工作。
詞法分析器主要是將源文件轉換為機器需要的格式語言,并且對源文件語法做檢查,起到高級編程語言的轉換和檢查作用。
語義分析器主要的作用是將已經轉換成的符合詞法規定的一系列的詞語按照語言結構的要求轉換成一系列的語法結構,并進行結構化分析,形成中間代碼。
優化器顧名思義,就是對應用語言的代碼進行優化,提升代碼的效率,將一些不是致命的錯誤進行優化。
除此之外,高級編程語言,還需要將語義分析器分析的結構X語言,轉換為匯編語言和目標代碼,這部分一般叫匯編。
高級語言一般都是片段式的,完成一個目標功能的代碼,往往存在於多個文件當中,在編譯的時候,需要將這些文件整合,這一步叫做鏈接。
而他需要在編譯器當中添加預編譯功能,這麼做的目的,就是能夠讓程序員能夠在編寫代碼的時候,就可以檢查出錯誤。
內容未完,下一頁繼續閱讀