遇到声明时, 我们需要为声明的变量安排存储空间。
对于过程中的每个本地名称, 我们创建一个ST(符号表)条目, 其中包含:
- 名称的类型
- 名称需要多少存储空间
D →integer, idD→real, idD→D1, id
声明的合适过渡方案是:
生产规则 | 语义动作 |
---|---|
D→整数, id | ENTER(id.PLACE, 整数)D.ATTR =整数 |
D→实数, id | ENTER(id.PLACE, 实数)D.ATTR =实数 |
D→D1, id | ENTER(id.PLACE, D1.ATTR)D.ATTR = D1.ATTR |