Ejemplo n.º 1
0
 def test_run_23(self):
     try:
         result = runLine(0, '"abc" < 1;')
     except RuntimeException as err:
         assert True
     else:
         assert False
Ejemplo n.º 2
0
def runPrompt():
    print("PyLox REPL environment")

    while True:
        clearError()
        line = input("> ").strip()

        if line == "quit" or line == "bye" or line == "exit":
            print("PyLox session terminated")
            break
        else:
            try:
                result = runLine(0, line)
                if result is not None:
                    printResult(result[0], result[1])
            except RuntimeException as err:
                if err.expr.token[3] > 0:
                    print("Runtime error: {0}".format(err.message))
                else:
                    print("Runtime error: {0} [Line {1}]".format(
                        err.message, err.expr.token[3]))
            except ParseException as err:
                print("Parse error: {0} [Line {1}]".format(
                    err.message, err.lineNo))
Ejemplo n.º 3
0
 def test_run_13(self):
     result = runLine(0, "3 + 8 / 2;")
     assert result[0] == 7
     assert result[1] == DataType.DOUBLE
Ejemplo n.º 4
0
 def test_run_11(self):
     result = runLine(0, "(3 + 8) * 2;")
     assert result[0] == 22
     assert result[1] == DataType.INTEGER
Ejemplo n.º 5
0
 def test_run_10(self):
     result = runLine(0, "3 + 8 * 2;")
     assert result[0] == 19
     assert result[1] == DataType.INTEGER
Ejemplo n.º 6
0
 def test_run_19(self):
     result = runLine(0, "false < true;")
     assert result[0] is True
     assert result[1] == DataType.BOOLEAN
Ejemplo n.º 7
0
 def test_run_1(self):
     result = runLine(0, "1;")
     assert result[0] == 1
     assert result[1] == DataType.INTEGER
Ejemplo n.º 8
0
 def test_run_16(self):
     result = runLine(0, "1 < 2;")
     assert result[0] is True
     assert result[1] == DataType.BOOLEAN
Ejemplo n.º 9
0
 def test_run_5(self):
     result = runLine(0, "-4.0;")
     assert result[0] == -4
     assert result[1] == DataType.DOUBLE
Ejemplo n.º 10
0
 def test_run_4(self):
     result = runLine(0, "(4);")
     assert result[0] == 4
     assert result[1] == DataType.INTEGER
Ejemplo n.º 11
0
 def test_run_3(self):
     result = runLine(0, '"This is true";')
     assert result[0] == 'This is true'
     assert result[1] == DataType.STRING
Ejemplo n.º 12
0
 def test_run_2(self):
     result = runLine(0, "true;")
     assert result[0] == True
     assert result[1] == DataType.BOOLEAN
Ejemplo n.º 13
0
 def test_run_26(self):
     result = runLine(0, '-(-2);')
     assert result[0] == 2
     assert result[1] == DataType.INTEGER
Ejemplo n.º 14
0
 def test_run_25(self):
     result = runLine(0, '"bca" != "abc";')
     assert result[0] is True
     assert result[1] == DataType.BOOLEAN
Ejemplo n.º 15
0
 def test_run_24(self):
     result = runLine(0, '"bca" == "abc";')
     assert result[0] is False
     assert result[1] == DataType.BOOLEAN
Ejemplo n.º 16
0
 def test_run_14(self):
     result = runLine(0, "(3 + 8) / -2;")
     assert result[0] == -5.5
     assert result[1] == DataType.DOUBLE
Ejemplo n.º 17
0
 def test_run_15(self):
     result = runLine(0, '"Hel" + "lo";')
     assert result[0] == "Hello"
     assert result[1] == DataType.STRING
Ejemplo n.º 18
0
 def test_run_6(self):
     result = runLine(0, "1 * 2;")
     assert result[0] == 2
     assert result[1] == DataType.INTEGER
Ejemplo n.º 19
0
 def test_run_17(self):
     result = runLine(0, "10 * 2 < 6 * 5;")
     assert result[0] is True
     assert result[1] == DataType.BOOLEAN
Ejemplo n.º 20
0
 def test_run_7(self):
     result = runLine(0, "3 * 2.0;")
     assert result[0] == 6
     assert result[1] == DataType.DOUBLE
Ejemplo n.º 21
0
 def test_run_18(self):
     result = runLine(0, "10 * 2 > 6 * 5;")
     assert result[0] is False
     assert result[1] == DataType.BOOLEAN
Ejemplo n.º 22
0
 def test_run_8(self):
     result = runLine(0, "3 * 8 / 2;")
     assert result[0] == 12
     assert result[1] == DataType.DOUBLE
Ejemplo n.º 23
0
 def test_run_9(self):
     result = runLine(0, "3 + 8;")
     assert result[0] == 11
     assert result[1] == DataType.INTEGER
Ejemplo n.º 24
0
 def test_run_20(self):
     result = runLine(0, "true < false;")
     assert result[0] is False
     assert result[1] == DataType.BOOLEAN