正在加载图片...
分析树和属性值() 假设我们需要知道一个表达式的类型。以及对 应代码将它的值存放在何处,我们就需要两个 属性;type, place; 产生式规则:E→>E1+T 语义规则:(假设只有 int/float类型) E type = if(El. type=--=T type) T type else float E place= new Tempplaceo;/回一个新的内存位置; 产生式规则:F→id F type= lookup Table(id lex value)->type F place lookupldTable(id lex value)->address分析树和属性值(1) • 假设我们需要知道一个表达式的类型,以及对 应代码将它的值存放在何处,我们就需要两个 属性:type,place; • 产生式规则:E→E1+T • 语义规则:(假设只有int/float类型) – E.type = if (E1 .type==T.type) T.type else float – E.place = newTempPlace(); //返回一个新的内存位置; • 产生式规则:F→id – F.type = lookupIDTable(id.lexValue)->type; – F.place = lookupIDTable(id.lexValue)->address;
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有