Ejemplo n.º 1
0
 def visitVardecl(self, ctx: BKITParser.VardeclContext):
     # return [VarDecl(ctx.ids().accept(self), ctx.mptype().accept(self))]
     # return list of ids
     return [
         VarDecl(id,
                 ctx.mptype().accept(self)) for id in ctx.ids().accept(self)
     ]
Ejemplo n.º 2
0
 def visitVardecl(self, ctx: BKITParser.VardeclContext):
     if ctx.ids():
         var_type = self.visitMptype(ctx.mptype())
         return list(
             map(lambda x: VarDecl(x, var_type),
                 self.visitIds(ctx.ids())))[::-1]
     else:
         return []
Ejemplo n.º 3
0
 def visitVardecl(self, ctx: BKITParser.VardeclContext):
     mptype = self.visit(ctx.mptype())
     ids = self.visit(ctx.ids())
     vardecl_list = list(map(lambda id: VarDecl(id, mptype), ids))
     return vardecl_list
Ejemplo n.º 4
0
 def visitVardecl(self, ctx: BKITParser.VardeclContext):
     return self.visitIds(ctx.ids()) + self.visitMptype(ctx.mptype()) + 1
Ejemplo n.º 5
0
 def visitVardecl(self, ctx: BKITParser.VardeclContext):
     return self.visit(ctx.varlist())
Ejemplo n.º 6
0
    def visitVardecl(self, ctx: BKITParser.VardeclContext):
        # [Id(a),Id(b)] # [Id(a)]
        ids = ctx.ids().accept(self)

        return list(map(lambda id: (VarDecl(id, ctx.mptype().accept(self))), ids))