为下列变量声明语句文法设计一个SDD,为标识符id确定数据类型,并将数据类型填入其对应符号表项中(调用过程addType)。 D→TV V→id,V| id T→float 给出详细的具有一个综合属性的
时间: 2024-05-20 10:12:26 浏览: 170
行人检测数据集.zip
SDD设计如下:
1. D → TV { addType(V.type) }
2. V → id { $$ = $1; }
3. T → float { $$ = float; }
其中,$1表示继承属性,$$表示综合属性。
对于句型D → TV,该SDD执行了一个动作addType(V.type),将变量V的类型加入符号表中。这个动作是一个语义动作,用于建立符号表,记录变量名和对应的数据类型。
对于句型V → id,该SDD使用了继承属性$1表示V的类型,将id作为综合属性$$返回。这个动作是一个语法动作,用于获取变量名。
对于句型T → float,该SDD使用综合属性$$返回float类型。这个动作是一个语法动作,用于获取类型信息。
例如,对于语句"D→float id",用该SDD可以得到如下的符号表:
| 变量名 | 数据类型 |
| ------ | ------- |
| id | float |
阅读全文