編譯原理總體介紹

程序執(zhí)行的方式

  • 先編譯后執(zhí)行
  • 邊解釋邊執(zhí)行

編譯過程

  • 識別單詞(拼寫正確
  • 語法檢查(順序格式
  • 語義理解(合理
  • 組織譯文(符合原文

工作邏輯

  • 分析階段
    • 詞法分析
    • 語法分析
    • 語義分析
  • 綜合階段
    • 中間代碼生成
    • 目標代碼生成
    • 優(yōu)化

詞法分析

  • 分析字符序列
  • 識別單詞:種別、屬性
  • 查詞法錯誤
  • 標識符等級

語法分析

  • 分析單詞序列
  • 識別語法結構
  • 查語法錯誤
  • 構造分析樹


    image.png

語義分析

  • 確認標識符的屬性

    • 類型、作用域等
  • 語義檢查

    • 運算的合法性、取值范圍等

    • 比如字符串+數(shù)字

  • 子程序的靜態(tài)綁定

    • 代碼存儲的相對地址
  • 變量的靜態(tài)綁定

    • 數(shù)據(jù)存儲的相對地址

生成中間代碼

  • 中間語言

    • 機器無關

    • 易于優(yōu)化與轉換

    image.png

代碼優(yōu)化

image.png

目標代碼生成

  • 中間代碼——>目標機的機器指令代碼或匯編代碼


    image.png

編譯程序的邏輯過程

image.png
?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

友情鏈接更多精彩內(nèi)容