天天看點

編譯原理——語義分析概述

語義分析的主要任務

>收集辨別符的屬性資訊

>>種屬(Kind):簡單變量,複合變量(數組,記錄,...),過程,...

>>類型(Type):整型,實型,字元型,布爾型,指針型,...

>>存儲位置,長度

>>值

>>作用域

>>參數和傳回值資訊:參數個數,參數類型,參數傳遞方式,傳回值類型

(符号表是用于存放辨別符的屬性資訊的資料結構)

>語義檢查

>>變量或過程未經聲明就使用

>>變量或過程名重複聲明

>>運算分量類型不比對

>>操作符與操作數之間的類型不比對

  1. 數組下标不是整數
  2. 對非數組變量使用數組通路操作符
  3. 對非過程名使用過程調用操作符
  4. 過程調用的參數類型或數目不比對
  5. 函數傳回類型有誤

繼續閱讀