Beispiel #1
0
 def visitExp6(self, ctx:MPParser.Exp6Context):
     if ctx.getChildCount() == 3:
         return self.visit(ctx.exp0())
     elif ctx.literals():
         return self.visit(ctx.literals())
     elif ctx.identifier():
         return self.visit(ctx.identifier())
     elif ctx.invocationExpression():
         return self.visit(ctx.invocationExpression())
     else:
         return self.visit(ctx.indexExpression())
Beispiel #2
0
 def visitExp6(self, ctx: MPParser.Exp6Context):
     if ctx.literals():
         return self.visit(ctx.literals())
     elif ctx.ID():
         return Id(ctx.ID().getText())
     elif ctx.call_exp():
         return self.visit(ctx.call_exp())
     # elif ctx.index_exp():
     #     return self.visit(ctx.index_exp())
     else:
         return self.visit(ctx.exp())
 def visitExp6(self, ctx: MPParser.Exp6Context):
     if ctx.getChildCount() == 1:
         return self.visit(ctx.exp7())
     else:
         return self.visit(ctx.exp())
Beispiel #4
0
 def visitExp6(self, ctx:MPParser.Exp6Context):
     if ctx.LB():
         return self.visit(ctx.expression())
     else: return self.visit(ctx.exp7())
Beispiel #5
0
 def visitExp6(self, ctx: MPParser.Exp6Context):
     if (ctx.factor()):
         return self.visit(ctx.factor())
     else:
         return self.visit(ctx.indexexpre())
Beispiel #6
0
 def visitExp6(self, ctx: MPParser.Exp6Context):
     if ctx.getChildCount() == 1:
         if ctx.ID():
             return Id(ctx.ID().getText())
         elif ctx.INTLIT():
             return IntLiteral(ctx.INTLIT().getText())
         elif ctx.BOOLEANLIT():
             boolit = ctx.BOOLEANLIT().getText().lower()
             if boolit == "true":
                 return BooleanLiteral(True)
             else:
                 return BooleanLiteral(False)
         elif ctx.REALLIT():
             return FloatLiteral(float(ctx.REALLIT().getText()))
         elif ctx.STRINGLIT():
             return StringLiteral(ctx.STRINGLIT().getText())
     elif ctx.getChildCount() == 3:
         return self.visit(ctx.exp())
     else:
         return CallExpr(Id(ctx.ID().getText()),
                         self.visit(ctx.invocationexp()))
 def visitExp6(self, ctx: MPParser.Exp6Context):
     '''exp6: LB exp RB | operand;'''
     return self.visit(
         ctx.exp()) if ctx.getChildCount() == 3 else self.visit(
             ctx.operand())