コード例 #1
0
 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)
コード例 #2
0
ファイル: ASTGeneration.py プロジェクト: mazino2d/ppl-course
 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)
コード例 #3
0
 def visitProgram(self, ctx: MCParser.ProgramContext):
     List = []
     for x in ctx.declaration():
         mem = self.visit(x)
         List.extend(mem)
     return Program(List)