def visitProgram(self, ctx: MCParser.ProgramContext): # return Program([FuncDecl(Id(ctx.ID().getText()), [], # self.visit(ctx.mctype()),Block([self.visit(ctx.body())] if ctx.body() else []))]) decl_list = [self.visit(x) for x in ctx.declaration()] res = functools.reduce( lambda x, y: x + y if isinstance(y, list) else x + [y], decl_list, []) return Program(res)
def visitProgram(self, ctx: MCParser.ProgramContext): decllist = list() for x in ctx.declaration(): decl = self.visitDeclaration(x) if isinstance(decl, list): decllist.extend(decl) else: decllist.append(decl) return Program(decllist)
def visitProgram(self, ctx: MCParser.ProgramContext): List = [] for x in ctx.declaration(): mem = self.visit(x) List.extend(mem) return Program(List)