def visitVar_decl(self, ctx: MCParser.Var_declContext):
     type_ = ctx.primitivetype()
     return [(VarDecl(self.visitVar(_v)[0], self.visit(type_)) if len(
         self.visit(_v)) == 1 else VarDecl(
             self.visitVar(_v)[0],
             ArrayType(self.visitVar(_v)[1], self.visit(type_))))
             for _v in ctx.var()]
Esempio n. 2
0
 def visitVar_decl(self, ctx: MCParser.Var_declContext):
     a = self.visit(ctx.prmt_type())
     result = []
     for i in ctx.var_id():
         result += [VarDecl(i.single_id().ID().getText(),a)] if i.single_id() \
             else [VarDecl(i.arr_id().ID().getText(), ArrayType(int(i.arr_id().INTLIT().getText()),a))]
     return result
Esempio n. 3
0
 def visitVar_decl(self, ctx: MCParser.Var_declContext):
     return list(
         VarDecl(var.ID().getText(), self.visit(ctx.primary_type())) if (
             var.ID()) else VarDecl(
                 var.element().ID().getText(),
                 ArrayType(int(var.element().INTLIT().getText(
                 )), self.visit(ctx.primary_type()))) for var in ctx.var())
Esempio n. 4
0
 def visitVar_decl(self, ctx: MCParser.Var_declContext):
     typeID = self.visit(ctx.primitive_type())
     listID = self.visit(ctx.id_var_list())
     return [
         VarDecl(x[0], typeID) if len(x) == 1 else VarDecl(
             x[0], ArrayType(x[1], typeID)) for x in listID
     ]
Esempio n. 5
0
    def visitVar_decl(self, ctx: MCParser.Var_declContext):
        lst = []
        for x in ctx.one_id():
            if x.getChildCount() == 1:
                lst.append(VarDecl(x.ID().getText(), self.visit(ctx.prim_type())))
            else:
                lst.append(VarDecl(x.ID().getText(),ArrayType(int(x.INTLIT().getText()),self.visit(ctx.prim_type()))))

        return lst 
Esempio n. 6
0
 def visitVar_decl(self, ctx: MCParser.Var_declContext):
     lst = []
     for x in ctx.one_variable():
         if x.getChildCount() == 1:
             a = self.visit(ctx.primitive_type())
         else:
             a = ArrayType(int(x.INTLIT().getText()),
                           self.visit(ctx.primitive_type()))
         lst = lst + [VarDecl(x.ID().getText(), a)]
     return lst
Esempio n. 7
0
 def visitVar_decl(self, ctx: MCParser.Var_declContext):
     type = self.visit(ctx.primi_type())
     vardecls = []
     for i in ctx.id_list().identifier():
         if i.id_single():
             vardecls += [VarDecl(i.id_single().ID().getText(), type)]
         else:
             vardecls += [
                 VarDecl(
                     i.id_array().ID().getText(),
                     ArrayType(int(i.id_array().INTLIT().getText()), type))
             ]
     return vardecls
Esempio n. 8
0
 def visitVar_decl(self, ctx: MCParser.Var_declContext):
     res = []
     for x in ctx.var():
         if x.INTLIT():
             res.append(
                 VarDecl(
                     x.ID().getText(),
                     ArrayType(int(x.INTLIT().getText()),
                               self.visit(ctx.primitive_type()))))
         else:
             res.append(
                 VarDecl(x.ID().getText(),
                         self.visit(ctx.primitive_type())))
     return res
Esempio n. 9
0
 def visitVar_decl(self, ctx:MCParser.Var_declContext):
     primitive_type = self.visitPrimitive_type(ctx.primitive_type())
     IDList = self.visitIdlist(ctx.idlist())
     return [VarDecl(x[1], ArrayType(x[0], primitive_type)) if isinstance(x, tuple) else VarDecl(x, primitive_type) for x in IDList]