📜  声明

📅  最后修改于: 2020-12-06 07:33:05             🧑  作者: Mango

声明书

遇到声明时,我们需要为声明的变量安排存储空间。

对于过程中的每个本地名称,我们创建一个ST(符号表)条目,其中包含:

  • 名称的类型
  • 名称需要多少存储空间

生产:

  D →    integer, id
     D  →   real, id
     D  →   D1, id

声明的合适过渡方案是:

Production rule Semantic action
D → integer, id ENTER (id.PLACE, integer)
  D.ATTR = integer
D → real, id ENTER (id.PLACE, real)
  D.ATTR = real
D → D1, id ENTER (id.PLACE, D1.ATTR)
  D.ATTR = D1.ATTR

ENTER用于进入符号表, ATTR用于跟踪数据类型。