天天看點

小型pascal編譯器C語言代碼,Pascal簡單編譯器

小型pascal編譯器C語言代碼,Pascal簡單編譯器
小型pascal編譯器C語言代碼,Pascal簡單編譯器

172

2018-08-21 22:49

本文設計了一個簡單的編譯器,包括編譯器較完整的前端和後端的設計,可以對 Pascal 文法的源程式進行詞法分析、文法分析、語義分析、并生成四元式中間代碼,最後能生成目标代碼。 文法包括變量和常量的聲明,多元數組、結構體的聲明和調用,過程函數和子函數的聲明和調用,算術運算,邏輯運算,指派語句,條件選擇語句,循環語句。 在詞法分析中,掃描器依次掃描寫有源程式的文本文檔中的字元,按給出的有限狀态自動機轉換關系拼成單詞,生成 Token 序列,支援添加注釋資訊,以及 Pascal 語言代碼中錯誤的位置資訊。 本文用遞歸下降子程式的方法進行文法分析,同時進行語義分析。語義動作包括查填符号表系統,并借助符号表系統進行定義和重定義檢查,類型比對校驗,資料的越界和溢出檢查,值單元存儲配置設定資訊,子函數和過程函數的參數傳遞與校驗,并生成四元式中間代碼。 在編譯器後端中,基于 DAG 有向無環圖對基本塊内的四元式序列做了優化。 最後,生成了在單寄存器下經過寄存器配置設定優化的目标代碼。

小型pascal編譯器C語言代碼,Pascal簡單編譯器

如無法正常下載下傳,請通過“檢視聯系方式”或者APP掃碼,直接聯系作者開放下載下傳權限

小型pascal編譯器C語言代碼,Pascal簡單編譯器