示例#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(ctx.STRINGLIT().getText())
     elif ctx.BOOLLIT():
         value = True if ctx.BOOLLIT().getText() == "true" else False
         return BooleanLiteral(value)
     else:
         return Id(ctx.ID().getText())
示例#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()))
     elif ctx.BOOLLIT():
         return BooleanLiteral(bool("1")) if ctx.BOOLLIT().getText() == 'true' else BooleanLiteral(bool(""))
示例#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)
 def visitLiteral(self, ctx: MCParser.LiteralContext):
     if ctx.number():
         return self.visit(ctx.number())
     elif ctx.bool_lit():
         return self.visit(ctx.bool_lit())
     elif ctx.STRING_LITERAL():
         return StringLiteral(ctx.STRING_LITERAL().getText())
     return
示例#6
0
 def visitLiteral(self, ctx: MCParser.LiteralContext):
     if ctx.INTLIT():
         return IntLiteral(int(ctx.INTLIT().getText()))
     elif ctx.REAL():
         return FloatLiteral(float(ctx.REAL().getText()))
     elif ctx.BOOLLIT():
         if ctx.BOOLLIT().getText() == 'true':
             return BooleanLiteral(bool(True))
         else:
             return BooleanLiteral(bool(False))
     else:
         return StringLiteral(str(ctx.STRINGLIT().getText()))
示例#7
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())