示例#1
0
 def visitLiteral(self, ctx: MCParser.LiteralContext):
     if ctx.INTLIT():
         return IntLiteral(int(ctx.INTLIT().getText()))
     elif ctx.FLOATLIT():
         return FloatLiteral(float(ctx.FLOATLIT().getText()))
     elif ctx.STRINGLIT():
         return StringLiteral(str(ctx.STRINGLIT().getText()))
     elif ctx.BOOLLIT():
         return BooleanLiteral(bool("1")) if ctx.BOOLLIT().getText() == 'true' else BooleanLiteral(bool(""))
示例#2
0
 def visitLiteral(self, ctx: MCParser.LiteralContext):
     if ctx.INTLIT():
         return IntLiteral(int(ctx.INTLIT().getText()))
     elif ctx.FLOATLIT():
         return FloatLiteral(float(ctx.FLOATLIT().getText()))
     elif ctx.STRINGLIT():
         return StringLiteral(str(ctx.STRINGLIT().getText()))
     else:
         val = True if ctx.BOOLLIT().getText() == "true" else False
         return BooleanLiteral(val)
示例#3
0
 def visitLiteral(self, ctx:MCParser.LiteralContext):
     # literal : INTLIT | FLOATLIT | BOOLEANLIT | STRINGLIT;
     if ctx.INTLIT():
         return IntLiteral(int(ctx.INTLIT().getText()))
     elif ctx.FLOATLIT():
         return FloatLiteral(float(ctx.FLOATLIT().getText()))
     elif ctx.STRINGLIT():
         return StringLiteral(ctx.STRINGLIT().getText())
     elif ctx.BOOLEANLIT():
         return BooleanLiteral(ctx.BOOLEANLIT().getText())
示例#4
0
 def visitLiteral(self, ctx: MCParser.LiteralContext):
     if ctx.INTLIT():
         return IntLiteral(int(ctx.INTLIT().getText()))
     if ctx.FLOATLIT():
         return FloatLiteral(float(ctx.FLOATLIT().getText()))
     if ctx.STRINGLIT():
         return StringLiteral(ctx.STRINGLIT().getText())
     if ctx.BOOLLIT():
         if (ctx.BOOLLIT().getText() == 'true'):
             boollit = True
         else:
             boollit = False
         return BooleanLiteral(boollit)
示例#5
0
 def visitLiteral(self, ctx: MCParser.LiteralContext):
     # literal: INTLIT|FLOATLIT|BOOLLIT|STRINGLIT;
     if (ctx.INTLIT()):
         return IntLiteral(int(ctx.INTLIT().getText()))
     elif (ctx.FLOATLIT()):
         return FloatLiteral(float(ctx.FLOATLIT().getText()))
     elif (ctx.BOOLLIT()):
         text = ctx.BOOLLIT().getText().lower()
         if (text == 'true'):
             return BooleanLiteral(True)
         elif (text == 'false'):
             return BooleanLiteral(False)
     else:
         return StringLiteral(ctx.STRINGLIT().getText())