示例#1
0
 def visitExp5(self, ctx: MPParser.Exp5Context):
     if (ctx.NOT()):
         return UnaryOp(ctx.NOT().getText(), self.visit(ctx.exp5()))
     elif (ctx.SUBNE()):
         return UnaryOp("-", self.visit(ctx.exp5()))
     else:
         return self.visit(ctx.exp6())
示例#2
0
    def visitExp5(self, ctx: MPParser.Exp5Context):
        if ctx.getChildCount() == 1:
            return self.visit(ctx.exp6())
        exp5 = self.visit(ctx.exp5())
        exp = self.visit(ctx.exp())

        return ArrayCell(exp5, exp)
示例#3
0
 def visitExp5(self, ctx: MPParser.Exp5Context):
     if ctx.getChildCount() == 1:
         return self.visit(ctx.exp6())
     else:
         return UnaryOp(ctx.getChild(0).getText(), self.visit(ctx.exp5()))
示例#4
0
 def visitExp5(self, ctx:MPParser.Exp5Context):
     if ctx.LSB():
         return ArrayCell(self.visit(ctx.exp5()), self.visit(ctx.expression()))
     else: return self.visit(ctx.exp6())
 def visitExp5(self, ctx: MPParser.Exp5Context):
     '''exp5: exp5 LSB exp RSB | exp6;'''
     return ArrayCell(self.visit(ctx.exp5()), self.visit(
         ctx.exp())) if ctx.getChildCount() == 4 else self.visit(ctx.exp6())