小型pascal编译器C语言代码,Pascal简单编译器
生活随笔
收集整理的這篇文章主要介紹了
小型pascal编译器C语言代码,Pascal简单编译器
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
0
172
2018-08-21 22:49
本文設計了一個簡單的編譯器,包括編譯器較完整的前端和后端的設計,可以對 Pascal 文法的源程序進行詞法分析、語法分析、語義分析、并生成四元式中間代碼,最后能生成目標代碼。 文法包括變量和常量的聲明,多維數組、結構體的聲明和調用,過程函數和子函數的聲明和調用,算術運算,邏輯運算,賦值語句,條件選擇語句,循環語句。 在詞法分析中,掃描器依次掃描寫有源程序的文本文檔中的字符,按給出的有限狀態自動機轉換關系拼成單詞,生成 Token 序列,支持添加注釋信息,以及 Pascal 語言代碼中錯誤的位置信息。 本文用遞歸下降子程序的方法進行語法分析,同時進行語義分析。語義動作包括查填符號表系統,并借助符號表系統進行定義和重定義檢查,類型匹配校驗,數據的越界和溢出檢查,值單元存儲分配信息,子函數和過程函數的參數傳遞與校驗,并生成四元式中間代碼。 在編譯器后端中,基于 DAG 有向無環圖對基本塊內的四元式序列做了優化。 最后,生成了在單寄存器下經過寄存器分配優化的目標代碼。
如無法正常下載,請通過“查看聯系方式”或者APP掃碼,直接聯系作者開放下載權限
0
贊
總結
以上是生活随笔為你收集整理的小型pascal编译器C语言代码,Pascal简单编译器的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 使用Python3开发的一款Androi
- 下一篇: 机器学习中的敏感性和特异性的概念