예제 #1
0
파일: inference.py 프로젝트: SeanMooney/ray
 def visitClassDecl(self, node):
     name = node.children[0].children[0].value
     scope_type = "type_decl"
     scope = Scope(node,
                   scope_type=scope_type,
                   scope_name=name,
                   parent=self.scope)
     self.scope.scopes.setdefault(name, scope)
     sym = Symbol(node, scope, name, scope_type)
     type_def = Type_Def(node, name, sym.qualified_name, "scalar_type")
     self.type_defs.setdefault(sym.qualified_name, type_def)
     sym.type_def = type_def
     self.scope.symbols.setdefault(name, sym)
예제 #2
0
파일: inference.py 프로젝트: SeanMooney/ray
 def visitExternType(self, node):
     name = node.children[0].children[0].value
     scope_type = "extern_type"
     # TODO support external types with bodies.
     scope = Scope(node,
                   scope_type=scope_type,
                   scope_name=name,
                   parent=self.scope)
     self.scope.scopes.setdefault(name, scope)
     sym = Symbol(node, scope, name, scope_type)
     type_def = Type_Def(node, name, sym.qualified_name, "scalar_type")
     self.type_defs.setdefault(sym.qualified_name, type_def)
     sym.type_def = type_def
     self.scope.symbols.setdefault(name, sym)