예제 #1
0
 def visitExp9(self, ctx: MCParser.Exp9Context):
     if ctx.IDENTIFIER():
         return Id(ctx.IDENTIFIER().getText())
     elif (ctx.getChildCount() != 1):
         return self.visit(ctx.exp())
     else:
         return self.visit(ctx.getChild(0))
 def visitExp9(self,ctx:MCParser.Exp9Context):
     if ctx.getChildCount() == 1:
         return self.visit(ctx.exp10())
     else:
         return self.visit(ctx.expression())
 def visitExp9(self, ctx: MCParser.Exp9Context):
     if ctx.INTLIT():
         return IntLiteral(int(ctx.INTLIT().getText()))
     elif ctx.FLOATLIT():
         return FloatLiteral(float(ctx.FLOATLIT().getText()))
     elif ctx.BOOLLIT():
         return BooleanLiteral(tobool(ctx.BOOLLIT().getText()))
     elif ctx.STRINGLIT():
         return StringLiteral(tobool(ctx.STRINGLIT().getText()))
     elif ctx.ID():
         return Id(ctx.ID().getText())
     else:
         return self.visit(ctx.getChild(0))
예제 #4
0
 def visitExp9(self, ctx: MCParser.Exp9Context):
     if ctx.exp():
         return self.visit(ctx.exp())
     return self.visit(ctx.operand())
예제 #5
0
 def visitExp9(self, ctx: MCParser.Exp9Context):
     #exp9: '(' exp')' | operand;
     if ctx.operand():
         return self.visit(ctx.operand())
     else:
         return self.visit(ctx.exp())
예제 #6
0
 def visitExp9(self, ctx: MCParser.Exp9Context):
     return self.visit(
         ctx.operands()) if ctx.getChildCount() == 1 else self.visit(
             ctx.exp())
예제 #7
0
 def visitExp9(self, ctx: MCParser.Exp9Context):
     return self.visit(ctx.operand()) if ctx.operand() else self.visit(
         ctx.subexp())
예제 #8
0
 def visitExp9(self, ctx: MCParser.Exp9Context):
     # exp9: LB exp RB | operand;
     return self.visit(
         ctx.exp()) if ctx.getChildCount() == 3 else self.visit(
             ctx.operand())
예제 #9
0
 def visitExp9(self, ctx: MCParser.Exp9Context):
     #exp9: LB exp RB | (INTLIT | FLOATLIT | BOOLEANLIT | STRINGLIT | ID | invokeExp) ;
     if ctx.getChildCount() == 3:
         return self.visit(ctx.exp())
     else:
         if ctx.INTLIT():
             return IntLiteral(int(ctx.INTLIT().getText()))
         elif ctx.FLOATLIT():
             return FloatLiteral(float(ctx.FLOATLIT().getText()))
         elif ctx.BOOLEANLIT():
             return BooleanLiteral(bool("1")) if ctx.BOOLEANLIT().getText(
             ) == "true" else BooleanLiteral(bool(""))
         elif ctx.STRINGLIT():
             return StringLiteral(ctx.STRINGLIT().getText())
         elif ctx.ID():
             return Id(ctx.ID().getText())
         else:
             return self.visit(ctx.invokeExp())