コード例 #1
0
    def visitExp(self, ctx: MCParser.ExpContext):
        if ctx.ASSIGN():
            op = ctx.ASSIGN().getText()
            left = self.visit(ctx.term1())
            right = self.visit(ctx.exp())
            exp = BinaryOp(op, left, right)
        else:
            exp = self.visit(ctx.getChild(0))

        return exp
コード例 #2
0
 def visitExp(self, ctx:MCParser.ExpContext):
     if (ctx.getChildCount() == 1):
         return self.visit(ctx.exp1())
     left = self.visit(ctx.exp1())
     right = self.visit(ctx.exp())
     op = ctx.ASSIGN().getText()
     return BinaryOp(op,left,right)
コード例 #3
0
 def visitExp(self, ctx: MCParser.ExpContext):
     #exp: exp1 ASSIGN exp | exp1;
     if ctx.getChildCount() == 3:
         return BinaryOp(ctx.ASSIGN().getText(), self.visit(ctx.exp1()),
                         self.visit(ctx.exp()))
     else:
         return self.visit(ctx.exp1())
コード例 #4
0
 def visitExp(self, ctx: MCParser.ExpContext):
     if ctx.ASSIGN():
         return BinaryOp(ctx.ASSIGN().getText(), self.visit(ctx.exp1()),
                         self.visit(ctx.exp()))
     return self.visit(ctx.exp1())
コード例 #5
0
 def visitExp(self, ctx: MCParser.ExpContext):
     # exp: exp1 ASSIGN exp | exp1;
     return BinaryOp(ctx.ASSIGN().getText(), self.visit(ctx.exp1()),
                     self.visit(ctx.exp())) if ctx.ASSIGN() else self.visit(
                         ctx.exp1())
コード例 #6
0
 def visitExp(self, ctx: MCParser.ExpContext):
     if ctx.ASSIGN():
         return BinaryOp('=', self.visit(ctx.exp1()), self.visit(ctx.exp()))
     else:
         return self.visit(ctx.exp1())