def visitLiteral(self, ctx: BKITParser.Return_stmtContext):
     if ctx.INTLIT():
         value = ctx.INTLIT().getText()
         return IntLiteral(
             int(
                 value, 16 if ('x' in value) or ('X' in value) else 8 if
                 ('o' in value) or ('O' in value) else 10))
     elif ctx.FLOATLIT():
         return FloatLiteral(float(ctx.FLOATLIT().getText()))
     elif ctx.BOOLEANLIT():
         return BooleanLiteral(ctx.BOOLEANLIT().getText() == 'True')
     elif ctx.STRINGLIT():
         return StringLiteral(ctx.STRINGLIT().getText())
     elif ctx.arraylit():
         return ctx.arraylit().accept(self)
Exemplo n.º 2
0
 def visitReturn_stmt(self, ctx:BKITParser.Return_stmtContext):
     temp = None
     if ctx.exp():
         temp = self.visitExp(ctx.exp())
     return Return(temp)
Exemplo n.º 3
0
 def visitReturn_stmt(self, ctx:BKITParser.Return_stmtContext):
     return Return(self.visitExpr(ctx.expr()) if ctx.expr() else None)
Exemplo n.º 4
0
 def visitReturn_stmt(self, ctx: BKITParser.Return_stmtContext):
     if ctx.expression():
         return Return(ctx.expression().accept(self))
     return Return(None)
Exemplo n.º 5
0
 def visitReturn_stmt(self, ctx: BKITParser.Return_stmtContext):
     if ctx.getChildCount() == 3:
         return Return(self.visit(ctx.relation()))
     else:
         return Return(None)
 def visitReturn_stmt(self, ctx: BKITParser.Return_stmtContext):
     expr = None
     if ctx.expression():
         expr = ctx.expression().accept(self)
     return Return(expr)
Exemplo n.º 7
0
 def visitReturn_stmt(self, ctx: BKITParser.Return_stmtContext):
     val = None
     if ctx.expr():
         val = ctx.expr().accept(self)
     return Return(val)
 def visitArraylit(self, ctx: BKITParser.Return_stmtContext):
     return ArrayLiteral(
         list(map(lambda literal: literal.accept(self), ctx.literal())))
 def visitReturn_stmt(
         self,
         ctx: BKITParser.Return_stmtContext):  # return Return() object
     return Return(
         None if not ctx.expression() else ctx.expression().accept(self))
Exemplo n.º 10
0
 def visitReturn_stmt(self, ctx: BKITParser.Return_stmtContext):
     if ctx.exp():
         return Return(self.visit(ctx.exp()))
     else:
         return Return(None)