示例#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))
示例#2
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())
 def visitExp9(self,ctx:MCParser.Exp9Context):
     if ctx.getChildCount() == 1:
         return self.visit(ctx.exp10())
     else:
         return self.visit(ctx.expression())
示例#4
0
 def visitExp9(self, ctx: MCParser.Exp9Context):
     return self.visit(
         ctx.operands()) if ctx.getChildCount() == 1 else self.visit(
             ctx.exp())
示例#5
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())