Esempio 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)
     ]
Esempio 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 []
Esempio 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
Esempio n. 4
0
 def visitVardecl(self, ctx: BKITParser.VardeclContext):
     return self.visitIds(ctx.ids()) + self.visitMptype(ctx.mptype()) + 1
Esempio n. 5
0
 def visitVardecl(self, ctx: BKITParser.VardeclContext):
     return self.visit(ctx.varlist())
Esempio 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))