def visitProcdecl(self, ctx: MPParser.ProcdeclContext): id = Id(ctx.ID().getText()) param = self.visit(ctx.paramdecl()) if ctx.paramdecl() else [] var = self.visit(ctx.vardecl()) if ctx.vardecl() else [] body = flatten([self.visit(ctx.compoundstm())]) return [FuncDecl(id, param, var, body)]
def visitProcdecl(self, ctx: MPParser.ProcdeclContext): para = self.visit(ctx.paramlist()) #varType= self.visit(ctx.vartype()) cpstate = self.visit(ctx.cpstate()) # print(cpstate) if ctx.varDeclare() is not None: return FuncDecl(Id(ctx.ID().getText()), para, self.visit(ctx.varDeclare()), cpstate) return FuncDecl(Id(ctx.ID().getText()), para, [], cpstate)
def visitProcdecl(self, ctx: MPParser.ProcdeclContext): local, cpstmt = self.visit(ctx.body()) return FuncDecl(Id(ctx.ID().getText()), [], local, cpstmt)
def visitProcdecl(self, ctx: MPParser.ProcdeclContext): return 6 + self.visit(ctx.body())
def visitProcdecl(self, ctx: MPParser.ProcdeclContext): cpstmt = self.visit(ctx.body()) return FuncDecl(Id(ctx.ID().getText()), self.visit(ctx.plist()) if ctx.plist() else [], self.visit(ctx.vardecl()) if ctx.vardecl() else [], cpstmt)
def visitProcdecl(self, ctx: MPParser.ProcdeclContext): local, cpstmt = self.visit( ctx.vardecl()) if ctx.vardecl() else [], self.visit( ctx.compoundstatement()) return FuncDecl(Id(ctx.ID().getText()), self.visit(ctx.pardec()), local, cpstmt)