示例#1
0
 def visitExp5(self, ctx: MPParser.Exp5Context):
     if ctx.literals():
         return self.visit(ctx.literals())
     elif ctx.arrayvar():
         return self.visit(ctx.arrayvar())
     elif ctx.callnosemi():
         return self.visit(ctx.callnosemi())
     elif ctx.ID():
         return Id(ctx.ID().getText())
 def visitExp5(self, ctx: MPParser.Exp5Context):
     if ctx.literal():
         return self.visit(ctx.literal())
     elif ctx.ID():
         return Id(ctx.ID().getText())
     elif ctx.funcallExp():
         return self.visit(ctx.funcallExp())
     elif ctx.indexExpression():
         return self.visit(
             ctx.indexExpression())  # self.visit(ctx.indexExpression())
     elif ctx.LB() and ctx.RB():
         return self.visit(ctx.exp())
 def visitExp5(self, ctx:MPParser.Exp5Context):
     if ctx.getChildCount() == 3:
         return self.visit(ctx.expr())
     elif ctx.ID():
         return Id(ctx.ID().getText())
     elif ctx.invoke():
         return self.visit(ctx.invoke())
     elif ctx.indexExpr():
         return self.visit(ctx.indexExpr())
     elif ctx.INTLIT():
         return IntLiteral(int(ctx.INTLIT().getText()))
     elif ctx.REALLIT():
         return FloatLiteral(float(ctx.REALLIT().getText()))
     elif ctx.BOOLLIT():
         return BooleanLiteral(tobool(ctx.BOOLLIT().getText()))
     elif ctx.STRINGLIT():
         return StringLiteral(ctx.STRINGLIT().getText())