|
|
|
|
@ -852,3 +852,28 @@ |
|
|
|
|
)) |
|
|
|
|
) |
|
|
|
|
) |
|
|
|
|
|
|
|
|
|
(deftest test-fixup-02 |
|
|
|
|
(testing "Test 02 fixup" |
|
|
|
|
(is (= |
|
|
|
|
(fixup [ |
|
|
|
|
(symbol "{") |
|
|
|
|
(list 'x '= 20 (symbol ";") (symbol "}") (symbol ";") 'println! (symbol "(") "{}" (symbol ",") 'x (symbol ")") (symbol "}")) |
|
|
|
|
['fn 'main (symbol "(") (symbol ")") (symbol "{") 'let 'x (symbol ":") 'i64 (symbol ";") 'if false (symbol "{") 'x '= 10 (symbol ";") (symbol "}") 'else] |
|
|
|
|
:sin-errores |
|
|
|
|
[[0 1 2] [['main ['fn [() ()]] 2] ['x ['var-inmut 'i64] 0]]] |
|
|
|
|
1 |
|
|
|
|
[['CAL 2] 'HLT ['PUSHFI false] ['JC 5] ['JMP '?] ['PUSHFI 10] ['POP 0] ['JMP '?]] |
|
|
|
|
[[2 ['i64 nil]]] |
|
|
|
|
] 4) |
|
|
|
|
[ |
|
|
|
|
(symbol "{") |
|
|
|
|
(list 'x '= 20 (symbol ";") (symbol "}") (symbol ";") 'println! (symbol "(") "{}" (symbol ",") 'x (symbol ")") (symbol "}")) |
|
|
|
|
['fn 'main (symbol "(") (symbol ")") (symbol "{") 'let 'x (symbol ":") 'i64 (symbol ";") 'if false (symbol "{") 'x '= 10 (symbol ";") (symbol "}") 'else] |
|
|
|
|
:sin-errores |
|
|
|
|
[[0 1 2] [['main ['fn [() ()]] 2] ['x ['var-inmut 'i64] 0]]] |
|
|
|
|
1 [['CAL 2] 'HLT ['PUSHFI false] ['JC 5] ['JMP 8] ['PUSHFI 10] ['POP 0] ['JMP '?]] [[2 ['i64 nil]]]] |
|
|
|
|
|
|
|
|
|
)) |
|
|
|
|
) |
|
|
|
|
) |
|
|
|
|
|