pon 23 mar 2026 21:36:08 CET e
test10.p26
typ ii = int
fun main():int =
let fun c():int = 1 + 2
fun b():ii = 5 * 4 + 7 + 9
in
c() * b() + 100
end
|
|
| A0: AtomType INT |
| 1:10-1:12 |
|
|
|
| A39: DefFunDefn main |
| 3:1-8:7 |
|
|
| A2: AtomType INT |
| 3:12-3:14 |
|
|
|
|
|
| A32: Nodes<Defn> |
| 4:9-5:34 |
|
| A10: DefFunDefn c |
| 4:9-4:27 |
|
|
| A3: AtomType INT |
| 4:17-4:19 |
|
|
|
| A8: Nodes<Expr> |
| 4:23-4:27 |
|
| A6: BinExpr ADD |
| 4:23-4:27 |
|
|
|
|
|
|
|
| A22: DefFunDefn b |
| 5:9-5:34 |
|
|
| A11: NameType ii |
| 5:17-5:18 |
| defAt: A1 @ 1:1-1:12 |
|
|
|
| A20: Nodes<Expr> |
| 5:22-5:34 |
|
| A18: BinExpr ADD |
| 5:22-5:34 |
|
| A16: BinExpr ADD |
| 5:22-5:30 |
|
| A14: BinExpr MUL |
| 5:22-5:26 |
|
| A12: AtomExpr 5 |
| 5:22-5:22 |
|
|
| A13: AtomExpr 4 |
| 5:26-5:26 |
|
|
|
| A15: AtomExpr 7 |
| 5:30-5:30 |
|
|
|
| A17: AtomExpr 9 |
| 5:34-5:34 |
|
|
|
|
|
|
|
|
| A33: Nodes<Expr> |
| 7:9-7:23 |
|
| A31: BinExpr ADD |
| 7:9-7:23 |
|
| A29: BinExpr MUL |
| 7:9-7:17 |
|
|
| A23: NameExpr c |
| 7:9-7:9 |
| defAt: A10 @ 4:9-4:27 |
|
|
|
|
|
| A26: NameExpr b |
| 7:15-7:15 |
| defAt: A22 @ 5:9-5:34 |
|
|
|
|
|
| A30: AtomExpr 100 |
| 7:21-7:23 |
|
|
|
|
|
|
|
|
|
|
test11.p26
fun f(a:int, b:int):int=
a + b,
let var a:int var b:int in
a = 0,
b = 0,
a + b
end
| A29: Nodes<Defn> |
| 4:1-10:7 |
|
| A28: DefFunDefn f |
| 4:1-10:7 |
|
| A25: Nodes<ParDefn> |
| 4:6-4:19 |
|
|
| A0: AtomType INT |
| 4:9-4:11 |
|
|
|
|
| A2: AtomType INT |
| 4:16-4:18 |
|
|
|
|
| A4: AtomType INT |
| 4:21-4:23 |
|
|
|
| A26: Nodes<Expr> |
| 5:5-10:7 |
|
|
| A5: NameExpr a |
| 5:5-5:5 |
| defAt: A1 @ 4:7-4:11 |
|
|
| A6: NameExpr b |
| 5:9-5:9 |
| defAt: A3 @ 4:14-4:18 |
|
|
|
|
| A21: Nodes<Defn> |
| 6:9-6:27 |
|
|
| A8: AtomType INT |
| 6:15-6:17 |
|
|
|
|
| A10: AtomType INT |
| 6:25-6:27 |
|
|
|
|
|
| A22: Nodes<Expr> |
| 7:9-9:13 |
|
|
| A12: NameExpr a |
| 7:9-7:9 |
| defAt: A9 @ 6:9-6:17 |
|
|
| A13: AtomExpr 0 |
| 7:13-7:13 |
|
|
|
|
| A15: NameExpr b |
| 8:9-8:9 |
| defAt: A11 @ 6:19-6:27 |
|
|
| A16: AtomExpr 0 |
| 8:13-8:13 |
|
|
|
| A20: BinExpr ADD |
| 9:9-9:13 |
|
| A18: NameExpr a |
| 9:9-9:9 |
| defAt: A9 @ 6:9-6:17 |
|
|
| A19: NameExpr b |
| 9:13-9:13 |
| defAt: A11 @ 6:19-6:27 |
|
|
|
|
|
|
|
|
|
|
test12.p26
typ i = int
typ c = char
typ b = bool
fun bb(b1:int, b2:int): b =
let
fun bbb(d1:i, d2:i) : i = d1 + d2
in
let fun aa() : c = 'a'
fun aaa(f:i) : i = 5 * 4 + 7 + 9 % 110
in
aaa(8) * bbb(2, 3)
end,
b1 >= b2
end
| A70: Nodes<Defn> |
| 1:1-15:6 |
|
|
| A0: AtomType INT |
| 1:9-1:11 |
|
|
|
|
| A2: AtomType CHAR |
| 2:9-2:12 |
|
|
|
|
| A4: AtomType BOOL |
| 3:9-3:12 |
|
|
|
| A69: DefFunDefn bb |
| 5:1-15:6 |
|
| A66: Nodes<ParDefn> |
| 5:7-5:22 |
|
|
| A6: AtomType INT |
| 5:11-5:13 |
|
|
|
|
| A8: AtomType INT |
| 5:19-5:21 |
|
|
|
|
| A10: NameType b |
| 5:25-5:25 |
| defAt: A5 @ 3:1-3:12 |
|
|
|
| A67: Nodes<Expr> |
| 6:5-15:6 |
|
|
| A62: Nodes<Defn> |
| 7:9-7:41 |
|
| A22: DefFunDefn bbb |
| 7:9-7:41 |
|
| A19: Nodes<ParDefn> |
| 7:16-7:27 |
|
| A12: ParDefn d1 |
| 7:17-7:20 |
|
| A11: NameType i |
| 7:20-7:20 |
| defAt: A1 @ 1:1-1:11 |
|
|
|
| A14: ParDefn d2 |
| 7:23-7:26 |
|
| A13: NameType i |
| 7:26-7:26 |
| defAt: A1 @ 1:1-1:11 |
|
|
|
|
| A15: NameType i |
| 7:31-7:31 |
| defAt: A1 @ 1:1-1:11 |
|
|
|
| A20: Nodes<Expr> |
| 7:35-7:41 |
|
| A18: BinExpr ADD |
| 7:35-7:41 |
|
| A16: NameExpr d1 |
| 7:35-7:36 |
| defAt: A12 @ 7:17-7:20 |
|
|
| A17: NameExpr d2 |
| 7:40-7:41 |
| defAt: A14 @ 7:23-7:26 |
|
|
|
|
|
|
|
|
| A63: Nodes<Expr> |
| 9:9-14:12 |
|
|
| A55: Nodes<Defn> |
| 9:13-10:50 |
|
| A28: DefFunDefn aa |
| 9:13-9:30 |
|
|
| A23: NameType c |
| 9:24-9:24 |
| defAt: A3 @ 2:1-2:12 |
|
|
|
| A26: Nodes<Expr> |
| 9:28-9:30 |
|
| A24: AtomExpr 'a' |
| 9:28-9:30 |
|
|
|
|
|
| A44: DefFunDefn aaa |
| 10:13-10:50 |
|
| A41: Nodes<ParDefn> |
| 10:20-10:24 |
|
| A30: ParDefn f |
| 10:21-10:23 |
|
| A29: NameType i |
| 10:23-10:23 |
| defAt: A1 @ 1:1-1:11 |
|
|
|
|
| A31: NameType i |
| 10:28-10:28 |
| defAt: A1 @ 1:1-1:11 |
|
|
|
| A42: Nodes<Expr> |
| 10:32-10:50 |
|
| A40: BinExpr ADD |
| 10:32-10:50 |
|
| A36: BinExpr ADD |
| 10:32-10:40 |
|
| A34: BinExpr MUL |
| 10:32-10:36 |
|
| A32: AtomExpr 5 |
| 10:32-10:32 |
|
|
| A33: AtomExpr 4 |
| 10:36-10:36 |
|
|
|
| A35: AtomExpr 7 |
| 10:40-10:40 |
|
|
|
| A39: BinExpr MOD |
| 10:44-10:50 |
|
| A37: AtomExpr 9 |
| 10:44-10:44 |
|
|
| A38: AtomExpr 110 |
| 10:48-10:50 |
|
|
|
|
|
|
|
|
|
| A56: Nodes<Expr> |
| 12:13-12:30 |
|
| A54: BinExpr MUL |
| 12:13-12:30 |
|
| A48: CallExpr |
| 12:13-12:18 |
|
| A45: NameExpr aaa |
| 12:13-12:15 |
| defAt: A44 @ 10:13-10:50 |
|
|
| A47: Nodes<Expr> |
| 12:16-12:18 |
|
| A46: AtomExpr 8 |
| 12:17-12:17 |
|
|
|
|
| A53: CallExpr |
| 12:22-12:30 |
|
| A49: NameExpr bbb |
| 12:22-12:24 |
| defAt: A22 @ 7:9-7:41 |
|
|
| A52: Nodes<Expr> |
| 12:25-12:30 |
|
| A50: AtomExpr 2 |
| 12:26-12:26 |
|
|
| A51: AtomExpr 3 |
| 12:29-12:29 |
|
|
|
|
|
|
|
|
| A61: BinExpr GEQ |
| 14:5-14:12 |
|
| A59: NameExpr b1 |
| 14:5-14:6 |
| defAt: A7 @ 5:8-5:13 |
|
|
| A60: NameExpr b2 |
| 14:11-14:12 |
| defAt: A9 @ 5:16-5:21 |
|
|
|
|
|
|
|
|
|
|
test13.p26
typ vv = void
fun f1(p1:(i:int, j:int)):int
fun f2(p2:{i:int, j:int}):char
fun f3(p3:{s1: {s21:{i:int, j: int}, s22:{i:int, j:int}}, s2:(i:int, j: int)}):bool
fun f4(p4:vv):vv
| A57: Nodes<Defn> |
| 1:2-6:17 |
|
|
| A0: AtomType VOID |
| 1:11-1:14 |
|
|
|
| A11: ExtFunDefn f1 |
| 3:2-3:30 |
|
| A10: Nodes<ParDefn> |
| 3:8-3:26 |
|
|
|
| A6: Nodes<CompDefn> |
| 3:13-3:24 |
|
|
| A2: AtomType INT |
| 3:15-3:17 |
|
|
|
|
| A4: AtomType INT |
| 3:22-3:24 |
|
|
|
|
|
|
|
| A9: AtomType INT |
| 3:28-3:30 |
|
|
|
| A21: ExtFunDefn f2 |
| 4:2-4:31 |
|
| A20: Nodes<ParDefn> |
| 4:8-4:26 |
|
|
|
| A16: Nodes<CompDefn> |
| 4:13-4:24 |
|
| A13: CompDefn i |
| 4:13-4:17 |
|
| A12: AtomType INT |
| 4:15-4:17 |
|
|
|
| A15: CompDefn j |
| 4:20-4:24 |
|
| A14: AtomType INT |
| 4:22-4:24 |
|
|
|
|
|
|
|
| A19: AtomType CHAR |
| 4:28-4:31 |
|
|
|
| A51: ExtFunDefn f3 |
| 5:2-5:84 |
|
| A50: Nodes<ParDefn> |
| 5:8-5:79 |
|
|
|
| A46: Nodes<CompDefn> |
| 5:13-5:77 |
|
| A38: CompDefn s1 |
| 5:13-5:57 |
|
|
| A36: Nodes<CompDefn> |
| 5:18-5:56 |
|
| A28: CompDefn s21 |
| 5:18-5:36 |
|
|
| A26: Nodes<CompDefn> |
| 5:23-5:35 |
|
| A23: CompDefn i |
| 5:23-5:27 |
|
| A22: AtomType INT |
| 5:25-5:27 |
|
|
|
| A25: CompDefn j |
| 5:30-5:35 |
|
| A24: AtomType INT |
| 5:33-5:35 |
|
|
|
|
|
|
| A35: CompDefn s22 |
| 5:39-5:56 |
|
|
| A33: Nodes<CompDefn> |
| 5:44-5:55 |
|
| A30: CompDefn i |
| 5:44-5:48 |
|
| A29: AtomType INT |
| 5:46-5:48 |
|
|
|
| A32: CompDefn j |
| 5:51-5:55 |
|
| A31: AtomType INT |
| 5:53-5:55 |
|
|
|
|
|
|
|
|
|
| A45: CompDefn s2 |
| 5:60-5:77 |
|
|
| A43: Nodes<CompDefn> |
| 5:64-5:76 |
|
| A40: CompDefn i |
| 5:64-5:68 |
|
| A39: AtomType INT |
| 5:66-5:68 |
|
|
|
| A42: CompDefn j |
| 5:71-5:76 |
|
| A41: AtomType INT |
| 5:74-5:76 |
|
|
|
|
|
|
|
|
|
|
| A49: AtomType BOOL |
| 5:81-5:84 |
|
|
|
| A56: ExtFunDefn f4 |
| 6:2-6:17 |
|
| A55: Nodes<ParDefn> |
| 6:8-6:14 |
|
|
| A52: NameType vv |
| 6:12-6:13 |
| defAt: A1 @ 1:2-1:14 |
|
|
|
|
| A54: NameType vv |
| 6:16-6:17 |
| defAt: A1 @ 1:2-1:14 |
|
|
|
|
test14.p26
fun dec100(p:int):int =
while p > 0 do
p = p - 1
end,
let var a : int in
a = 1,
while a < 100 do
a = a + 1
end,
dec100(a)
end
| A42: Nodes<Defn> |
| 1:1-11:7 |
|
| A41: DefFunDefn dec100 |
| 1:1-11:7 |
|
| A38: Nodes<ParDefn> |
| 1:11-1:17 |
|
|
| A0: AtomType INT |
| 1:14-1:16 |
|
|
|
|
| A2: AtomType INT |
| 1:19-1:21 |
|
|
|
| A39: Nodes<Expr> |
| 2:5-11:7 |
|
|
| A5: BinExpr GTH |
| 2:11-2:15 |
|
| A3: NameExpr p |
| 2:11-2:11 |
| defAt: A1 @ 1:12-1:16 |
|
|
|
|
|
| A11: Nodes<Expr> |
| 3:9-3:17 |
|
|
| A6: NameExpr p |
| 3:9-3:9 |
| defAt: A1 @ 1:12-1:16 |
|
|
| A9: BinExpr SUB |
| 3:13-3:17 |
|
| A7: NameExpr p |
| 3:13-3:13 |
| defAt: A1 @ 1:12-1:16 |
|
|
|
|
|
|
|
|
|
| A34: Nodes<Defn> |
| 5:9-5:19 |
|
|
| A14: AtomType INT |
| 5:17-5:19 |
|
|
|
|
|
| A35: Nodes<Expr> |
| 6:9-10:17 |
|
|
| A16: NameExpr a |
| 6:9-6:9 |
| defAt: A15 @ 5:9-5:19 |
|
|
| A17: AtomExpr 1 |
| 6:13-6:13 |
|
|
|
|
| A21: BinExpr LTH |
| 7:15-7:21 |
|
| A19: NameExpr a |
| 7:15-7:15 |
| defAt: A15 @ 5:9-5:19 |
|
|
| A20: AtomExpr 100 |
| 7:19-7:21 |
|
|
|
|
| A27: Nodes<Expr> |
| 8:13-8:21 |
|
|
| A22: NameExpr a |
| 8:13-8:13 |
| defAt: A15 @ 5:9-5:19 |
|
|
| A25: BinExpr ADD |
| 8:17-8:21 |
|
| A23: NameExpr a |
| 8:17-8:17 |
| defAt: A15 @ 5:9-5:19 |
|
|
| A24: AtomExpr 1 |
| 8:21-8:21 |
|
|
|
|
|
|
|
|
| A30: NameExpr dec100 |
| 10:9-10:14 |
| defAt: A41 @ 1:1-11:7 |
|
|
| A32: Nodes<Expr> |
| 10:15-10:17 |
|
| A31: NameExpr a |
| 10:16-10:16 |
| defAt: A15 @ 5:9-5:19 |
|
|
|
|
|
|
|
|
|
|
|
test15.p26
typ b = bool
fun main() : b =
let var b1 : b var b2 : b in
if b1 and b2 or b1 or b2 then
b2 and b1 and true or false
else
let var b1 : b var b2 : b in
if b1 and b2 or b1 or b2 then
b2 and b1 and true or false
else
let var b1 : b var b2 : b in
if b1 and b2 or b1 or b2 then
b2 and b1 and true or false
else
(let var b1 : b var b2 : b in
if b1 and b2 or b1 or b2 then
b2 and b1 and true or false
else
false
end
end,
let var b1 : b var b2 : b in
if b1 and b2 or b1 or b2 then
b2 and b1 and true or false
else
false
end
end)
end
end
end
end
end
end
| A146: Nodes<Defn> |
| 1:1-34:7 |
|
|
| A0: AtomType BOOL |
| 1:9-1:12 |
|
|
|
| A145: DefFunDefn main |
| 2:1-34:7 |
|
|
| A2: NameType b |
| 2:14-2:14 |
| defAt: A1 @ 1:1-1:12 |
|
|
|
| A143: Nodes<Expr> |
| 3:5-34:7 |
|
|
| A138: Nodes<Defn> |
| 3:9-3:29 |
|
|
| A3: NameType b |
| 3:18-3:18 |
| defAt: A1 @ 1:1-1:12 |
|
|
|
|
| A5: NameType b |
| 3:29-3:29 |
| defAt: A1 @ 1:1-1:12 |
|
|
|
|
|
| A139: Nodes<Expr> |
| 4:9-33:11 |
|
| A137: IfThenElseExpr |
| 4:9-33:11 |
|
| A13: BinExpr OR |
| 4:12-4:32 |
|
| A11: BinExpr OR |
| 4:12-4:26 |
|
| A9: BinExpr AND |
| 4:12-4:20 |
|
| A7: NameExpr b1 |
| 4:12-4:13 |
| defAt: A4 @ 3:9-3:18 |
|
|
| A8: NameExpr b2 |
| 4:19-4:20 |
| defAt: A6 @ 3:20-3:29 |
|
|
|
| A10: NameExpr b1 |
| 4:25-4:26 |
| defAt: A4 @ 3:9-3:18 |
|
|
|
| A12: NameExpr b2 |
| 4:31-4:32 |
| defAt: A6 @ 3:20-3:29 |
|
|
|
|
| A133: Nodes<Expr> |
| 5:13-5:39 |
|
| A20: BinExpr OR |
| 5:13-5:39 |
|
| A18: BinExpr AND |
| 5:13-5:30 |
|
| A16: BinExpr AND |
| 5:13-5:21 |
|
| A14: NameExpr b2 |
| 5:13-5:14 |
| defAt: A6 @ 3:20-3:29 |
|
|
| A15: NameExpr b1 |
| 5:20-5:21 |
| defAt: A4 @ 3:9-3:18 |
|
|
|
| A17: AtomExpr true |
| 5:27-5:30 |
|
|
|
| A19: AtomExpr false |
| 5:35-5:39 |
|
|
|
|
|
|
| A135: Nodes<Expr> |
| 7:13-32:15 |
|
|
| A129: Nodes<Defn> |
| 7:17-7:37 |
|
| A22: VarDefn b1 |
| 7:17-7:26 |
|
| A21: NameType b |
| 7:26-7:26 |
| defAt: A1 @ 1:1-1:12 |
|
|
|
| A24: VarDefn b2 |
| 7:28-7:37 |
|
| A23: NameType b |
| 7:37-7:37 |
| defAt: A1 @ 1:1-1:12 |
|
|
|
|
|
| A130: Nodes<Expr> |
| 8:17-31:19 |
|
| A128: IfThenElseExpr |
| 8:17-31:19 |
|
| A31: BinExpr OR |
| 8:20-8:40 |
|
| A29: BinExpr OR |
| 8:20-8:34 |
|
| A27: BinExpr AND |
| 8:20-8:28 |
|
| A25: NameExpr b1 |
| 8:20-8:21 |
| defAt: A22 @ 7:17-7:26 |
|
|
| A26: NameExpr b2 |
| 8:27-8:28 |
| defAt: A24 @ 7:28-7:37 |
|
|
|
| A28: NameExpr b1 |
| 8:33-8:34 |
| defAt: A22 @ 7:17-7:26 |
|
|
|
| A30: NameExpr b2 |
| 8:39-8:40 |
| defAt: A24 @ 7:28-7:37 |
|
|
|
|
| A124: Nodes<Expr> |
| 9:21-9:47 |
|
| A38: BinExpr OR |
| 9:21-9:47 |
|
| A36: BinExpr AND |
| 9:21-9:38 |
|
| A34: BinExpr AND |
| 9:21-9:29 |
|
| A32: NameExpr b2 |
| 9:21-9:22 |
| defAt: A24 @ 7:28-7:37 |
|
|
| A33: NameExpr b1 |
| 9:28-9:29 |
| defAt: A22 @ 7:17-7:26 |
|
|
|
| A35: AtomExpr true |
| 9:35-9:38 |
|
|
|
| A37: AtomExpr false |
| 9:43-9:47 |
|
|
|
|
|
|
| A126: Nodes<Expr> |
| 11:21-30:23 |
|
| A123: LetExpr |
| 11:21-30:23 |
|
| A120: Nodes<Defn> |
| 11:25-11:45 |
|
| A40: VarDefn b1 |
| 11:25-11:34 |
|
| A39: NameType b |
| 11:34-11:34 |
| defAt: A1 @ 1:1-1:12 |
|
|
|
| A42: VarDefn b2 |
| 11:36-11:45 |
|
| A41: NameType b |
| 11:45-11:45 |
| defAt: A1 @ 1:1-1:12 |
|
|
|
|
|
| A121: Nodes<Expr> |
| 12:25-29:27 |
|
| A119: IfThenElseExpr |
| 12:25-29:27 |
|
| A49: BinExpr OR |
| 12:28-12:48 |
|
| A47: BinExpr OR |
| 12:28-12:42 |
|
| A45: BinExpr AND |
| 12:28-12:36 |
|
| A43: NameExpr b1 |
| 12:28-12:29 |
| defAt: A40 @ 11:25-11:34 |
|
|
| A44: NameExpr b2 |
| 12:35-12:36 |
| defAt: A42 @ 11:36-11:45 |
|
|
|
| A46: NameExpr b1 |
| 12:41-12:42 |
| defAt: A40 @ 11:25-11:34 |
|
|
|
| A48: NameExpr b2 |
| 12:47-12:48 |
| defAt: A42 @ 11:36-11:45 |
|
|
|
|
| A115: Nodes<Expr> |
| 13:29-13:55 |
|
| A56: BinExpr OR |
| 13:29-13:55 |
|
| A54: BinExpr AND |
| 13:29-13:46 |
|
| A52: BinExpr AND |
| 13:29-13:37 |
|
| A50: NameExpr b2 |
| 13:29-13:30 |
| defAt: A42 @ 11:36-11:45 |
|
|
| A51: NameExpr b1 |
| 13:36-13:37 |
| defAt: A40 @ 11:25-11:34 |
|
|
|
| A53: AtomExpr true |
| 13:43-13:46 |
|
|
|
| A55: AtomExpr false |
| 13:51-13:55 |
|
|
|
|
|
|
| A117: Nodes<Expr> |
| 15:29-28:32 |
|
|
| A113: Nodes<Expr> |
| 15:29-28:32 |
|
|
| A81: Nodes<Defn> |
| 15:34-15:54 |
|
| A58: VarDefn b1 |
| 15:34-15:43 |
|
| A57: NameType b |
| 15:43-15:43 |
| defAt: A1 @ 1:1-1:12 |
|
|
|
| A60: VarDefn b2 |
| 15:45-15:54 |
|
| A59: NameType b |
| 15:54-15:54 |
| defAt: A1 @ 1:1-1:12 |
|
|
|
|
|
| A82: Nodes<Expr> |
| 16:33-20:35 |
|
| A80: IfThenElseExpr |
| 16:33-20:35 |
|
| A67: BinExpr OR |
| 16:36-16:56 |
|
| A65: BinExpr OR |
| 16:36-16:50 |
|
| A63: BinExpr AND |
| 16:36-16:44 |
|
| A61: NameExpr b1 |
| 16:36-16:37 |
| defAt: A58 @ 15:34-15:43 |
|
|
| A62: NameExpr b2 |
| 16:43-16:44 |
| defAt: A60 @ 15:45-15:54 |
|
|
|
| A64: NameExpr b1 |
| 16:49-16:50 |
| defAt: A58 @ 15:34-15:43 |
|
|
|
| A66: NameExpr b2 |
| 16:55-16:56 |
| defAt: A60 @ 15:45-15:54 |
|
|
|
|
| A76: Nodes<Expr> |
| 17:37-17:63 |
|
| A74: BinExpr OR |
| 17:37-17:63 |
|
| A72: BinExpr AND |
| 17:37-17:54 |
|
| A70: BinExpr AND |
| 17:37-17:45 |
|
| A68: NameExpr b2 |
| 17:37-17:38 |
| defAt: A60 @ 15:45-15:54 |
|
|
| A69: NameExpr b1 |
| 17:44-17:45 |
| defAt: A58 @ 15:34-15:43 |
|
|
|
| A71: AtomExpr true |
| 17:51-17:54 |
|
|
|
| A73: AtomExpr false |
| 17:59-17:63 |
|
|
|
|
|
|
| A78: Nodes<Expr> |
| 19:37-19:41 |
|
| A75: AtomExpr false |
| 19:37-19:41 |
|
|
|
|
|
|
|
|
| A112: LetExpr |
| 22:29-28:31 |
|
| A109: Nodes<Defn> |
| 22:33-22:53 |
|
| A86: VarDefn b1 |
| 22:33-22:42 |
|
| A85: NameType b |
| 22:42-22:42 |
| defAt: A1 @ 1:1-1:12 |
|
|
|
| A88: VarDefn b2 |
| 22:44-22:53 |
|
| A87: NameType b |
| 22:53-22:53 |
| defAt: A1 @ 1:1-1:12 |
|
|
|
|
|
| A110: Nodes<Expr> |
| 23:33-27:35 |
|
| A108: IfThenElseExpr |
| 23:33-27:35 |
|
| A95: BinExpr OR |
| 23:36-23:56 |
|
| A93: BinExpr OR |
| 23:36-23:50 |
|
| A91: BinExpr AND |
| 23:36-23:44 |
|
| A89: NameExpr b1 |
| 23:36-23:37 |
| defAt: A86 @ 22:33-22:42 |
|
|
| A90: NameExpr b2 |
| 23:43-23:44 |
| defAt: A88 @ 22:44-22:53 |
|
|
|
| A92: NameExpr b1 |
| 23:49-23:50 |
| defAt: A86 @ 22:33-22:42 |
|
|
|
| A94: NameExpr b2 |
| 23:55-23:56 |
| defAt: A88 @ 22:44-22:53 |
|
|
|
|
| A104: Nodes<Expr> |
| 24:37-24:63 |
|
| A102: BinExpr OR |
| 24:37-24:63 |
|
| A100: BinExpr AND |
| 24:37-24:54 |
|
| A98: BinExpr AND |
| 24:37-24:45 |
|
| A96: NameExpr b2 |
| 24:37-24:38 |
| defAt: A88 @ 22:44-22:53 |
|
|
| A97: NameExpr b1 |
| 24:44-24:45 |
| defAt: A86 @ 22:33-22:42 |
|
|
|
| A99: AtomExpr true |
| 24:51-24:54 |
|
|
|
| A101: AtomExpr false |
| 24:59-24:63 |
|
|
|
|
|
|
| A106: Nodes<Expr> |
| 26:37-26:41 |
|
| A103: AtomExpr false |
| 26:37-26:41 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
test16.p26
var a: int
var b: int
fun main(): int =
a = 0,
b = 0,
while a < 100 do
while b < 100000 do
b = b + 2
end,
a = a + 1
end
| A37: Nodes<Defn> |
| 1:1-11:7 |
|
|
| A0: AtomType INT |
| 1:8-1:10 |
|
|
|
|
| A2: AtomType INT |
| 2:8-2:10 |
|
|
|
| A36: DefFunDefn main |
| 3:1-11:7 |
|
|
| A4: AtomType INT |
| 3:13-3:15 |
|
|
|
| A34: Nodes<Expr> |
| 4:5-11:7 |
|
|
| A5: NameExpr a |
| 4:5-4:5 |
| defAt: A1 @ 1:1-1:10 |
|
|
|
|
|
| A8: NameExpr b |
| 5:5-5:5 |
| defAt: A3 @ 2:1-2:10 |
|
|
|
|
|
| A13: BinExpr LTH |
| 6:11-6:17 |
|
| A11: NameExpr a |
| 6:11-6:11 |
| defAt: A1 @ 1:1-1:10 |
|
|
| A12: AtomExpr 100 |
| 6:15-6:17 |
|
|
|
|
| A30: Nodes<Expr> |
| 7:13-10:21 |
|
|
| A16: BinExpr LTH |
| 7:19-7:28 |
|
| A14: NameExpr b |
| 7:19-7:19 |
| defAt: A3 @ 2:1-2:10 |
|
|
| A15: AtomExpr 100000 |
| 7:23-7:28 |
|
|
|
|
| A22: Nodes<Expr> |
| 8:17-8:25 |
|
|
| A17: NameExpr b |
| 8:17-8:17 |
| defAt: A3 @ 2:1-2:10 |
|
|
| A20: BinExpr ADD |
| 8:21-8:25 |
|
| A18: NameExpr b |
| 8:21-8:21 |
| defAt: A3 @ 2:1-2:10 |
|
|
| A19: AtomExpr 2 |
| 8:25-8:25 |
|
|
|
|
|
|
|
| A29: AsgnExpr |
| 10:13-10:21 |
|
| A25: NameExpr a |
| 10:13-10:13 |
| defAt: A1 @ 1:1-1:10 |
|
|
| A28: BinExpr ADD |
| 10:17-10:21 |
|
| A26: NameExpr a |
| 10:17-10:17 |
| defAt: A1 @ 1:1-1:10 |
|
|
| A27: AtomExpr 1 |
| 10:21-10:21 |
|
|
|
|
|
|
|
|
|
|
|
test17.p26
fun h(): void = none
fun f(): void = h()
fun main():void =
f()
| A22: Nodes<Defn> |
| 2:1-10:7 |
|
| A5: DefFunDefn h |
| 2:1-2:20 |
|
|
| A0: AtomType VOID |
| 2:10-2:13 |
|
|
|
| A3: Nodes<Expr> |
| 2:17-2:20 |
|
| A1: AtomExpr none |
| 2:17-2:20 |
|
|
|
|
|
| A13: DefFunDefn f |
| 5:1-5:19 |
|
|
| A6: AtomType VOID |
| 5:10-5:13 |
|
|
|
| A11: Nodes<Expr> |
| 5:17-5:19 |
|
|
| A7: NameExpr h |
| 5:17-5:17 |
| defAt: A5 @ 2:1-2:20 |
|
|
|
|
|
|
|
| A21: DefFunDefn main |
| 9:1-10:7 |
|
|
| A14: AtomType VOID |
| 9:12-9:15 |
|
|
|
| A19: Nodes<Expr> |
| 10:5-10:7 |
|
|
| A15: NameExpr f |
| 10:5-10:5 |
| defAt: A13 @ 5:1-5:19 |
|
|
|
|
|
|
|
|
test18.p26
var i: int
var c: int
fun main():void =
i = 0,
c = 345325,
while i < c do
if i % 2 == 0 then
c = c - 1
end,
i = i + 1
end
| A39: Nodes<Defn> |
| 2:1-12:7 |
|
|
| A0: AtomType INT |
| 2:8-2:10 |
|
|
|
|
| A2: AtomType INT |
| 3:8-3:10 |
|
|
|
| A38: DefFunDefn main |
| 4:1-12:7 |
|
|
| A4: AtomType VOID |
| 4:12-4:15 |
|
|
|
| A36: Nodes<Expr> |
| 5:5-12:7 |
|
|
| A5: NameExpr i |
| 5:5-5:5 |
| defAt: A1 @ 2:1-2:10 |
|
|
|
|
|
| A8: NameExpr c |
| 6:5-6:5 |
| defAt: A3 @ 3:1-3:10 |
|
|
| A9: AtomExpr 345325 |
| 6:9-6:14 |
|
|
|
|
| A13: BinExpr LTH |
| 7:11-7:15 |
|
| A11: NameExpr i |
| 7:11-7:11 |
| defAt: A1 @ 2:1-2:10 |
|
|
| A12: NameExpr c |
| 7:15-7:15 |
| defAt: A3 @ 3:1-3:10 |
|
|
|
|
| A32: Nodes<Expr> |
| 8:9-11:17 |
|
| A26: IfThenExpr |
| 8:9-10:11 |
|
| A18: BinExpr EQU |
| 8:12-8:21 |
|
| A16: BinExpr MOD |
| 8:12-8:16 |
|
| A14: NameExpr i |
| 8:12-8:12 |
| defAt: A1 @ 2:1-2:10 |
|
|
| A15: AtomExpr 2 |
| 8:16-8:16 |
|
|
|
| A17: AtomExpr 0 |
| 8:21-8:21 |
|
|
|
|
| A24: Nodes<Expr> |
| 9:13-9:21 |
|
|
| A19: NameExpr c |
| 9:13-9:13 |
| defAt: A3 @ 3:1-3:10 |
|
|
| A22: BinExpr SUB |
| 9:17-9:21 |
|
| A20: NameExpr c |
| 9:17-9:17 |
| defAt: A3 @ 3:1-3:10 |
|
|
| A21: AtomExpr 1 |
| 9:21-9:21 |
|
|
|
|
|
|
|
|
| A27: NameExpr i |
| 11:9-11:9 |
| defAt: A1 @ 2:1-2:10 |
|
|
| A30: BinExpr ADD |
| 11:13-11:17 |
|
| A28: NameExpr i |
| 11:13-11:13 |
| defAt: A1 @ 2:1-2:10 |
|
|
| A29: AtomExpr 1 |
| 11:17-11:17 |
|
|
|
|
|
|
|
|
|
|
|
test19.p26
typ i = int
typ c = char
typ b = bool
var g1 : i
var g2 : i
fun ext(a : i, bb : i) : i
fun helper(x : i) : b =
x == 0
fun fib(n : i) : i =
if n == 0 then
0
else
if n == 1 then
1
else
fib(n - 1) + fib(n - 2)
end
end
fun main() : i =
let
var local1 : i
var local2 : i
typ li = i
fun inner(a : li, bb : li) : li =
let
var tmp : li
in
tmp = a + bb,
tmp * 2
end
in
g1 = 10,
g2 = 20,
local1 = fib(g1),
local2 = inner(g1, g2),
let
var shadow : b
var g1 : b
in
shadow = helper(local1),
g1 = shadow and true or false,
let
var deep : i
in
deep = ext(local1, local2),
if helper(deep) then
g2 = deep + 1
else
g2 = deep - 1
end,
while g2 > 0 do
if g2 % 2 == 0 then
g2 = g2 - 1
else
g2 = g2 * 2 - 3
end
end,
deep
end
end
end
| A204: Nodes<Defn> |
| 1:1-66:7 |
|
|
| A0: AtomType INT |
| 1:9-1:11 |
|
|
|
|
| A2: AtomType CHAR |
| 2:9-2:12 |
|
|
|
|
| A4: AtomType BOOL |
| 3:9-3:12 |
|
|
|
|
| A6: NameType i |
| 5:10-5:10 |
| defAt: A1 @ 1:1-1:11 |
|
|
|
|
| A8: NameType i |
| 6:10-6:10 |
| defAt: A1 @ 1:1-1:11 |
|
|
|
| A16: ExtFunDefn ext |
| 8:1-8:26 |
|
| A15: Nodes<ParDefn> |
| 8:8-8:22 |
|
|
| A10: NameType i |
| 8:13-8:13 |
| defAt: A1 @ 1:1-1:11 |
|
|
|
| A13: ParDefn bb |
| 8:16-8:21 |
|
| A12: NameType i |
| 8:21-8:21 |
| defAt: A1 @ 1:1-1:11 |
|
|
|
|
| A14: NameType i |
| 8:26-8:26 |
| defAt: A1 @ 1:1-1:11 |
|
|
|
| A26: DefFunDefn helper |
| 10:1-11:10 |
|
| A23: Nodes<ParDefn> |
| 10:11-10:17 |
|
| A18: ParDefn x |
| 10:12-10:16 |
|
| A17: NameType i |
| 10:16-10:16 |
| defAt: A1 @ 1:1-1:11 |
|
|
|
|
| A19: NameType b |
| 10:21-10:21 |
| defAt: A5 @ 3:1-3:12 |
|
|
|
| A24: Nodes<Expr> |
| 11:5-11:10 |
|
| A22: BinExpr EQU |
| 11:5-11:10 |
|
| A20: NameExpr x |
| 11:5-11:5 |
| defAt: A18 @ 10:12-10:16 |
|
|
| A21: AtomExpr 0 |
| 11:10-11:10 |
|
|
|
|
|
|
| A64: DefFunDefn fib |
| 13:1-22:7 |
|
| A61: Nodes<ParDefn> |
| 13:8-13:14 |
|
| A28: ParDefn n |
| 13:9-13:13 |
|
| A27: NameType i |
| 13:13-13:13 |
| defAt: A1 @ 1:1-1:11 |
|
|
|
|
| A29: NameType i |
| 13:18-13:18 |
| defAt: A1 @ 1:1-1:11 |
|
|
|
| A62: Nodes<Expr> |
| 14:5-22:7 |
|
| A60: IfThenElseExpr |
| 14:5-22:7 |
|
| A32: BinExpr EQU |
| 14:8-14:13 |
|
| A30: NameExpr n |
| 14:8-14:8 |
| defAt: A28 @ 13:9-13:13 |
|
|
| A31: AtomExpr 0 |
| 14:13-14:13 |
|
|
|
|
| A56: Nodes<Expr> |
| 15:9-15:9 |
|
| A33: AtomExpr 0 |
| 15:9-15:9 |
|
|
|
|
|
| A58: Nodes<Expr> |
| 17:9-21:11 |
|
| A55: IfThenElseExpr |
| 17:9-21:11 |
|
| A36: BinExpr EQU |
| 17:12-17:17 |
|
| A34: NameExpr n |
| 17:12-17:12 |
| defAt: A28 @ 13:9-13:13 |
|
|
| A35: AtomExpr 1 |
| 17:17-17:17 |
|
|
|
|
| A51: Nodes<Expr> |
| 18:13-18:13 |
|
| A37: AtomExpr 1 |
| 18:13-18:13 |
|
|
|
|
|
| A53: Nodes<Expr> |
| 20:13-20:35 |
|
| A50: BinExpr ADD |
| 20:13-20:35 |
|
| A43: CallExpr |
| 20:13-20:22 |
|
| A38: NameExpr fib |
| 20:13-20:15 |
| defAt: A64 @ 13:1-22:7 |
|
|
| A42: Nodes<Expr> |
| 20:16-20:22 |
|
| A41: BinExpr SUB |
| 20:17-20:21 |
|
| A39: NameExpr n |
| 20:17-20:17 |
| defAt: A28 @ 13:9-13:13 |
|
|
| A40: AtomExpr 1 |
| 20:21-20:21 |
|
|
|
|
|
| A49: CallExpr |
| 20:26-20:35 |
|
| A44: NameExpr fib |
| 20:26-20:28 |
| defAt: A64 @ 13:1-22:7 |
|
|
| A48: Nodes<Expr> |
| 20:29-20:35 |
|
| A47: BinExpr SUB |
| 20:30-20:34 |
|
| A45: NameExpr n |
| 20:30-20:30 |
| defAt: A28 @ 13:9-13:13 |
|
|
| A46: AtomExpr 2 |
| 20:34-20:34 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| A203: DefFunDefn main |
| 24:1-66:7 |
|
|
| A65: NameType i |
| 24:14-24:14 |
| defAt: A1 @ 1:1-1:11 |
|
|
|
| A201: Nodes<Expr> |
| 25:5-66:7 |
|
|
| A196: Nodes<Defn> |
| 26:9-35:15 |
|
| A67: VarDefn local1 |
| 26:9-26:22 |
|
| A66: NameType i |
| 26:22-26:22 |
| defAt: A1 @ 1:1-1:11 |
|
|
|
| A69: VarDefn local2 |
| 27:9-27:22 |
|
| A68: NameType i |
| 27:22-27:22 |
| defAt: A1 @ 1:1-1:11 |
|
|
|
| A71: TypDefn li |
| 28:9-28:18 |
|
| A70: NameType i |
| 28:18-28:18 |
| defAt: A1 @ 1:1-1:11 |
|
|
|
| A94: DefFunDefn inner |
| 29:9-35:15 |
|
| A91: Nodes<ParDefn> |
| 29:18-29:34 |
|
| A73: ParDefn a |
| 29:19-29:24 |
|
| A72: NameType li |
| 29:23-29:24 |
| defAt: A71 @ 28:9-28:18 |
|
|
|
| A75: ParDefn bb |
| 29:27-29:33 |
|
| A74: NameType li |
| 29:32-29:33 |
| defAt: A71 @ 28:9-28:18 |
|
|
|
|
| A76: NameType li |
| 29:38-29:39 |
| defAt: A71 @ 28:9-28:18 |
|
|
|
| A92: Nodes<Expr> |
| 30:13-35:15 |
|
|
| A87: Nodes<Defn> |
| 31:17-31:28 |
|
| A78: VarDefn tmp |
| 31:17-31:28 |
|
| A77: NameType li |
| 31:27-31:28 |
| defAt: A71 @ 28:9-28:18 |
|
|
|
|
|
| A88: Nodes<Expr> |
| 33:17-34:23 |
|
| A83: AsgnExpr |
| 33:17-33:28 |
|
| A79: NameExpr tmp |
| 33:17-33:19 |
| defAt: A78 @ 31:17-31:28 |
|
|
| A82: BinExpr ADD |
| 33:23-33:28 |
|
| A80: NameExpr a |
| 33:23-33:23 |
| defAt: A73 @ 29:19-29:24 |
|
|
| A81: NameExpr bb |
| 33:27-33:28 |
| defAt: A75 @ 29:27-29:33 |
|
|
|
|
| A86: BinExpr MUL |
| 34:17-34:23 |
|
| A84: NameExpr tmp |
| 34:17-34:19 |
| defAt: A78 @ 31:17-31:28 |
|
|
| A85: AtomExpr 2 |
| 34:23-34:23 |
|
|
|
|
|
|
|
|
|
|
|
| A197: Nodes<Expr> |
| 37:9-65:11 |
|
|
| A95: NameExpr g1 |
| 37:9-37:10 |
| defAt: A7 @ 5:1-5:10 |
|
|
| A96: AtomExpr 10 |
| 37:14-37:15 |
|
|
|
| A100: AsgnExpr |
| 38:9-38:15 |
|
| A98: NameExpr g2 |
| 38:9-38:10 |
| defAt: A9 @ 6:1-6:10 |
|
|
| A99: AtomExpr 20 |
| 38:14-38:15 |
|
|
|
| A106: AsgnExpr |
| 39:9-39:24 |
|
| A101: NameExpr local1 |
| 39:9-39:14 |
| defAt: A67 @ 26:9-26:22 |
|
|
| A105: CallExpr |
| 39:18-39:24 |
|
| A102: NameExpr fib |
| 39:18-39:20 |
| defAt: A64 @ 13:1-22:7 |
|
|
| A104: Nodes<Expr> |
| 39:21-39:24 |
|
| A103: NameExpr g1 |
| 39:22-39:23 |
| defAt: A7 @ 5:1-5:10 |
|
|
|
|
|
| A113: AsgnExpr |
| 40:9-40:30 |
|
| A107: NameExpr local2 |
| 40:9-40:14 |
| defAt: A69 @ 27:9-27:22 |
|
|
| A112: CallExpr |
| 40:18-40:30 |
|
| A108: NameExpr inner |
| 40:18-40:22 |
| defAt: A94 @ 29:9-35:15 |
|
|
| A111: Nodes<Expr> |
| 40:23-40:30 |
|
| A109: NameExpr g1 |
| 40:24-40:25 |
| defAt: A7 @ 5:1-5:10 |
|
|
| A110: NameExpr g2 |
| 40:28-40:29 |
| defAt: A9 @ 6:1-6:10 |
|
|
|
|
|
|
| A192: Nodes<Defn> |
| 42:13-43:22 |
|
| A115: VarDefn shadow |
| 42:13-42:26 |
|
| A114: NameType b |
| 42:26-42:26 |
| defAt: A5 @ 3:1-3:12 |
|
|
|
| A117: VarDefn g1 |
| 43:13-43:22 |
|
| A116: NameType b |
| 43:22-43:22 |
| defAt: A5 @ 3:1-3:12 |
|
|
|
|
|
| A193: Nodes<Expr> |
| 45:13-64:15 |
|
| A123: AsgnExpr |
| 45:13-45:35 |
|
| A118: NameExpr shadow |
| 45:13-45:18 |
| defAt: A115 @ 42:13-42:26 |
|
|
| A122: CallExpr |
| 45:22-45:35 |
|
| A119: NameExpr helper |
| 45:22-45:27 |
| defAt: A26 @ 10:1-11:10 |
|
|
| A121: Nodes<Expr> |
| 45:28-45:35 |
|
| A120: NameExpr local1 |
| 45:29-45:34 |
| defAt: A67 @ 26:9-26:22 |
|
|
|
|
|
| A130: AsgnExpr |
| 46:13-46:41 |
|
| A124: NameExpr g1 |
| 46:13-46:14 |
| defAt: A117 @ 43:13-43:22 |
|
|
| A129: BinExpr OR |
| 46:18-46:41 |
|
| A127: BinExpr AND |
| 46:18-46:32 |
|
| A125: NameExpr shadow |
| 46:18-46:23 |
| defAt: A115 @ 42:13-42:26 |
|
|
| A126: AtomExpr true |
| 46:29-46:32 |
|
|
|
| A128: AtomExpr false |
| 46:37-46:41 |
|
|
|
|
| A191: LetExpr |
| 47:13-64:15 |
|
| A188: Nodes<Defn> |
| 48:17-48:28 |
|
| A132: VarDefn deep |
| 48:17-48:28 |
|
| A131: NameType i |
| 48:28-48:28 |
| defAt: A1 @ 1:1-1:11 |
|
|
|
|
|
| A189: Nodes<Expr> |
| 50:17-63:20 |
|
| A139: AsgnExpr |
| 50:17-50:42 |
|
| A133: NameExpr deep |
| 50:17-50:20 |
| defAt: A132 @ 48:17-48:28 |
|
|
| A138: CallExpr |
| 50:24-50:42 |
|
| A134: NameExpr ext |
| 50:24-50:26 |
| defAt: A16 @ 8:1-8:26 |
|
|
| A137: Nodes<Expr> |
| 50:27-50:42 |
|
| A135: NameExpr local1 |
| 50:28-50:33 |
| defAt: A67 @ 26:9-26:22 |
|
|
| A136: NameExpr local2 |
| 50:36-50:41 |
| defAt: A69 @ 27:9-27:22 |
|
|
|
|
|
| A158: IfThenElseExpr |
| 51:17-55:19 |
|
| A143: CallExpr |
| 51:20-51:31 |
|
| A140: NameExpr helper |
| 51:20-51:25 |
| defAt: A26 @ 10:1-11:10 |
|
|
| A142: Nodes<Expr> |
| 51:26-51:31 |
|
| A141: NameExpr deep |
| 51:27-51:30 |
| defAt: A132 @ 48:17-48:28 |
|
|
|
|
|
| A154: Nodes<Expr> |
| 52:21-52:33 |
|
| A148: AsgnExpr |
| 52:21-52:33 |
|
| A144: NameExpr g2 |
| 52:21-52:22 |
| defAt: A9 @ 6:1-6:10 |
|
|
| A147: BinExpr ADD |
| 52:26-52:33 |
|
| A145: NameExpr deep |
| 52:26-52:29 |
| defAt: A132 @ 48:17-48:28 |
|
|
| A146: AtomExpr 1 |
| 52:33-52:33 |
|
|
|
|
|
|
|
| A156: Nodes<Expr> |
| 54:21-54:33 |
|
| A153: AsgnExpr |
| 54:21-54:33 |
|
| A149: NameExpr g2 |
| 54:21-54:22 |
| defAt: A9 @ 6:1-6:10 |
|
|
| A152: BinExpr SUB |
| 54:26-54:33 |
|
| A150: NameExpr deep |
| 54:26-54:29 |
| defAt: A132 @ 48:17-48:28 |
|
|
| A151: AtomExpr 1 |
| 54:33-54:33 |
|
|
|
|
|
|
|
| A186: WhileExpr |
| 56:17-62:19 |
|
| A161: BinExpr GTH |
| 56:23-56:28 |
|
| A159: NameExpr g2 |
| 56:23-56:24 |
| defAt: A9 @ 6:1-6:10 |
|
|
| A160: AtomExpr 0 |
| 56:28-56:28 |
|
|
|
|
| A184: Nodes<Expr> |
| 57:21-61:23 |
|
| A183: IfThenElseExpr |
| 57:21-61:23 |
|
| A166: BinExpr EQU |
| 57:24-57:34 |
|
| A164: BinExpr MOD |
| 57:24-57:29 |
|
| A162: NameExpr g2 |
| 57:24-57:25 |
| defAt: A9 @ 6:1-6:10 |
|
|
| A163: AtomExpr 2 |
| 57:29-57:29 |
|
|
|
| A165: AtomExpr 0 |
| 57:34-57:34 |
|
|
|
|
| A179: Nodes<Expr> |
| 58:25-58:35 |
|
| A171: AsgnExpr |
| 58:25-58:35 |
|
| A167: NameExpr g2 |
| 58:25-58:26 |
| defAt: A9 @ 6:1-6:10 |
|
|
| A170: BinExpr SUB |
| 58:30-58:35 |
|
| A168: NameExpr g2 |
| 58:30-58:31 |
| defAt: A9 @ 6:1-6:10 |
|
|
| A169: AtomExpr 1 |
| 58:35-58:35 |
|
|
|
|
|
|
|
| A181: Nodes<Expr> |
| 60:25-60:39 |
|
| A178: AsgnExpr |
| 60:25-60:39 |
|
| A172: NameExpr g2 |
| 60:25-60:26 |
| defAt: A9 @ 6:1-6:10 |
|
|
| A177: BinExpr SUB |
| 60:30-60:39 |
|
| A175: BinExpr MUL |
| 60:30-60:35 |
|
| A173: NameExpr g2 |
| 60:30-60:31 |
| defAt: A9 @ 6:1-6:10 |
|
|
| A174: AtomExpr 2 |
| 60:35-60:35 |
|
|
|
| A176: AtomExpr 3 |
| 60:39-60:39 |
|
|
|
|
|
|
|
|
|
|
| A187: NameExpr deep |
| 63:17-63:20 |
| defAt: A132 @ 48:17-48:28 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
test1.p26
// cikel
typ a = b
typ b = a
|
|
| A0: NameType b |
| 2:9-2:9 |
| defAt: A3 @ 3:1-3:9 |
|
|
|
|
| A2: NameType a |
| 3:9-3:9 |
| defAt: A1 @ 2:1-2:9 |
|
|
|
|
test20.p26
typ i = int
typ c = char
typ b = bool
typ pi = ^i
typ pb = ^b
var counter : i
var flag : b
var result : i
fun ext_print(x : i) : i
fun ext_read() : i
fun is_zero(n : i) : b =
n == 0
fun is_even(n : i) : b =
n % 2 == 0
fun abs_val(n : i) : i =
if n < 0 then
0 - n
else
n
end
fun max(a : i, b : i) : i =
if a > b then
a
else
b
end
fun min(a : i, b : i) : i =
if a < b then
a
else
b
end
fun pow(base : i, exp : i) : i =
if is_zero(exp) then
1
else
base * pow(base, exp - 1)
end
fun gcd(a : i, b : i) : i =
if is_zero(b) then
a
else
gcd(b, a % b)
end
fun fib(n : i) : i =
if n == 0 then
0
else
if n == 1 then
1
else
fib(n - 1) + fib(n - 2)
end
end
fun sum_to(n : i) : i =
if is_zero(n) then
0
else
n + sum_to(n - 1)
end
fun collatz(n : i) : i =
if n == 1 then
0
else
if is_even(n) then
1 + collatz(n / 2)
else
1 + collatz(3 * n + 1)
end
end
fun ackermann(m : i, n : i) : i =
if is_zero(m) then
n + 1
else
if is_zero(n) then
ackermann(m - 1, 1)
else
ackermann(m - 1, ackermann(m, n - 1))
end
end
fun digit_sum(n : i) : i =
if n < 10 then
n
else
n % 10 + digit_sum(n / 10)
end
fun is_palindrome(n : i, rev : i) : b =
if is_zero(n) then
n == rev
else
is_palindrome(n / 10, rev * 10 + n % 10)
end
fun count_bits(n : i) : i =
if is_zero(n) then
0
else
n % 2 + count_bits(n / 2)
end
fun main() : i =
let
var a : i
var bb : i
var cc : i
var dd : i
var e : i
var f : b
var g : b
typ li = i
typ lb = b
fun local_max(x : li, y : li) : li =
if x > y then
x
else
y
end
fun local_and(x : lb, y : lb) : lb =
x and y
fun triple(x : li) : li =
x * 3
fun compose(x : li) : li =
triple(triple(x))
in
counter = 0,
result = 0,
flag = true,
a = fib(10),
bb = pow(2, 8),
cc = gcd(bb, a),
dd = sum_to(100),
e = collatz(27),
f = is_even(a),
g = is_palindrome(12321, 0),
result = local_max(a, bb),
result = compose(result),
counter = ackermann(3, 2),
let
var shadow_a : i
var shadow_b : i
var shadow_f : b
var counter : i
var result : i
fun shadow_fib(n : i) : i =
if n == 0 then
0
else
if n == 1 then
1
else
shadow_fib(n - 1) + shadow_fib(n - 2)
end
end
fun accumulate(n : i, acc : i) : i =
if is_zero(n) then
acc
else
accumulate(n - 1, acc + n)
end
in
shadow_a = shadow_fib(15),
shadow_b = accumulate(50, 0),
shadow_f = local_and(f, g),
counter = digit_sum(shadow_a * shadow_b),
result = min(shadow_a, shadow_b),
while counter > 0 do
if is_even(counter) then
result = result + shadow_fib(counter)
else
result = result - digit_sum(counter)
end,
counter = counter - 1
end,
let
var deep1 : i
var deep2 : i
var deep3 : b
var deep4 : i
typ di = i
fun deep_pow(b : di, e : di) : di =
if is_zero(e) then
1
else
b * deep_pow(b, e - 1)
end
fun deep_collatz(n : di) : di =
if n == 1 then
0
else
if is_even(n) then
1 + deep_collatz(n / 2)
else
1 + deep_collatz(3 * n + 1)
end
end
fun toggle(x : lb) : lb =
if x then
false
else
true
end
in
deep1 = deep_pow(2, counter % 10),
deep2 = deep_collatz(abs_val(result) + 1),
deep3 = toggle(shadow_f),
deep4 = max(deep1, deep2),
flag = local_and(deep3, is_even(deep4)),
while deep4 > 0 do
if is_even(deep4) then
if deep4 > 100 then
deep4 = deep4 / 2
else
deep4 = deep4 - 1
end
else
if is_zero(deep4 % 3) then
deep4 = deep4 - 3
else
deep4 = deep4 * 2 - deep4 - 1
end
end
end,
let
var ultra1 : i
var ultra2 : b
var ultra3 : i
fun ultra_gcd(a : i, b : i) : i =
if is_zero(b) then
a
else
ultra_gcd(b, a % b)
end
fun ultra_sum(n : i) : i =
if is_zero(n) then
0
else
n + ultra_sum(n - 1)
end
fun ultra_bits(n : i) : i =
if is_zero(n) then
0
else
n % 2 + ultra_bits(n / 2)
end
in
ultra1 = ultra_gcd(deep1, deep2),
ultra2 = is_even(ultra1),
ultra3 = ultra_sum(ultra_bits(deep4 + ultra1)),
counter = ultra3 + count_bits(ultra1),
result = ext_print(counter),
flag = local_and(ultra2, deep3),
while ultra3 > 0 do
ultra1 = ultra_gcd(ultra3, ultra1 + 1),
ultra3 = ultra3 - 1
end,
ext_print(result),
ultra3
end
end
end
end
| A1068: Nodes<Defn> |
| 1:1-276:7 |
|
|
| A0: AtomType INT |
| 1:9-1:11 |
|
|
|
|
| A2: AtomType CHAR |
| 2:9-2:12 |
|
|
|
|
| A4: AtomType BOOL |
| 3:9-3:12 |
|
|
|
|
|
| A6: NameType i |
| 4:11-4:11 |
| defAt: A1 @ 1:1-1:11 |
|
|
|
|
|
|
| A9: NameType b |
| 5:11-5:11 |
| defAt: A5 @ 3:1-3:12 |
|
|
|
|
| A13: VarDefn counter |
| 7:1-7:15 |
|
| A12: NameType i |
| 7:15-7:15 |
| defAt: A1 @ 1:1-1:11 |
|
|
|
| A15: VarDefn flag |
| 8:1-8:12 |
|
| A14: NameType b |
| 8:12-8:12 |
| defAt: A5 @ 3:1-3:12 |
|
|
|
| A17: VarDefn result |
| 9:1-9:14 |
|
| A16: NameType i |
| 9:14-9:14 |
| defAt: A1 @ 1:1-1:11 |
|
|
|
| A22: ExtFunDefn ext_print |
| 11:1-11:24 |
|
| A21: Nodes<ParDefn> |
| 11:14-11:20 |
|
| A19: ParDefn x |
| 11:15-11:19 |
|
| A18: NameType i |
| 11:19-11:19 |
| defAt: A1 @ 1:1-1:11 |
|
|
|
|
| A20: NameType i |
| 11:24-11:24 |
| defAt: A1 @ 1:1-1:11 |
|
|
|
| A25: ExtFunDefn ext_read |
| 12:1-12:18 |
|
|
| A23: NameType i |
| 12:18-12:18 |
| defAt: A1 @ 1:1-1:11 |
|
|
|
| A35: DefFunDefn is_zero |
| 14:1-15:10 |
|
| A32: Nodes<ParDefn> |
| 14:12-14:18 |
|
| A27: ParDefn n |
| 14:13-14:17 |
|
| A26: NameType i |
| 14:17-14:17 |
| defAt: A1 @ 1:1-1:11 |
|
|
|
|
| A28: NameType b |
| 14:22-14:22 |
| defAt: A5 @ 3:1-3:12 |
|
|
|
| A33: Nodes<Expr> |
| 15:5-15:10 |
|
| A31: BinExpr EQU |
| 15:5-15:10 |
|
| A29: NameExpr n |
| 15:5-15:5 |
| defAt: A27 @ 14:13-14:17 |
|
|
| A30: AtomExpr 0 |
| 15:10-15:10 |
|
|
|
|
|
|
| A47: DefFunDefn is_even |
| 17:1-18:14 |
|
| A44: Nodes<ParDefn> |
| 17:12-17:18 |
|
| A37: ParDefn n |
| 17:13-17:17 |
|
| A36: NameType i |
| 17:17-17:17 |
| defAt: A1 @ 1:1-1:11 |
|
|
|
|
| A38: NameType b |
| 17:22-17:22 |
| defAt: A5 @ 3:1-3:12 |
|
|
|
| A45: Nodes<Expr> |
| 18:5-18:14 |
|
| A43: BinExpr EQU |
| 18:5-18:14 |
|
| A41: BinExpr MOD |
| 18:5-18:9 |
|
| A39: NameExpr n |
| 18:5-18:5 |
| defAt: A37 @ 17:13-17:17 |
|
|
| A40: AtomExpr 2 |
| 18:9-18:9 |
|
|
|
| A42: AtomExpr 0 |
| 18:14-18:14 |
|
|
|
|
|
|
| A66: DefFunDefn abs_val |
| 20:1-25:7 |
|
| A63: Nodes<ParDefn> |
| 20:12-20:18 |
|
| A49: ParDefn n |
| 20:13-20:17 |
|
| A48: NameType i |
| 20:17-20:17 |
| defAt: A1 @ 1:1-1:11 |
|
|
|
|
| A50: NameType i |
| 20:22-20:22 |
| defAt: A1 @ 1:1-1:11 |
|
|
|
| A64: Nodes<Expr> |
| 21:5-25:7 |
|
| A62: IfThenElseExpr |
| 21:5-25:7 |
|
| A53: BinExpr LTH |
| 21:8-21:12 |
|
| A51: NameExpr n |
| 21:8-21:8 |
| defAt: A49 @ 20:13-20:17 |
|
|
| A52: AtomExpr 0 |
| 21:12-21:12 |
|
|
|
|
| A58: Nodes<Expr> |
| 22:9-22:13 |
|
| A56: BinExpr SUB |
| 22:9-22:13 |
|
| A54: AtomExpr 0 |
| 22:9-22:9 |
|
|
| A55: NameExpr n |
| 22:13-22:13 |
| defAt: A49 @ 20:13-20:17 |
|
|
|
|
|
|
| A60: Nodes<Expr> |
| 24:9-24:9 |
|
| A57: NameExpr n |
| 24:9-24:9 |
| defAt: A49 @ 20:13-20:17 |
|
|
|
|
|
|
|
|
| A85: DefFunDefn max |
| 27:1-32:7 |
|
| A82: Nodes<ParDefn> |
| 27:8-27:21 |
|
| A68: ParDefn a |
| 27:9-27:13 |
|
| A67: NameType i |
| 27:13-27:13 |
| defAt: A1 @ 1:1-1:11 |
|
|
|
| A70: ParDefn b |
| 27:16-27:20 |
|
| A69: NameType i |
| 27:20-27:20 |
| defAt: A1 @ 1:1-1:11 |
|
|
|
|
| A71: NameType i |
| 27:25-27:25 |
| defAt: A1 @ 1:1-1:11 |
|
|
|
| A83: Nodes<Expr> |
| 28:5-32:7 |
|
| A81: IfThenElseExpr |
| 28:5-32:7 |
|
| A74: BinExpr GTH |
| 28:8-28:12 |
|
| A72: NameExpr a |
| 28:8-28:8 |
| defAt: A68 @ 27:9-27:13 |
|
|
| A73: NameExpr b |
| 28:12-28:12 |
| defAt: A70 @ 27:16-27:20 |
|
|
|
|
| A77: Nodes<Expr> |
| 29:9-29:9 |
|
| A75: NameExpr a |
| 29:9-29:9 |
| defAt: A68 @ 27:9-27:13 |
|
|
|
|
|
| A79: Nodes<Expr> |
| 31:9-31:9 |
|
| A76: NameExpr b |
| 31:9-31:9 |
| defAt: A70 @ 27:16-27:20 |
|
|
|
|
|
|
|
|
| A104: DefFunDefn min |
| 34:1-39:7 |
|
| A101: Nodes<ParDefn> |
| 34:8-34:21 |
|
| A87: ParDefn a |
| 34:9-34:13 |
|
| A86: NameType i |
| 34:13-34:13 |
| defAt: A1 @ 1:1-1:11 |
|
|
|
| A89: ParDefn b |
| 34:16-34:20 |
|
| A88: NameType i |
| 34:20-34:20 |
| defAt: A1 @ 1:1-1:11 |
|
|
|
|
| A90: NameType i |
| 34:25-34:25 |
| defAt: A1 @ 1:1-1:11 |
|
|
|
| A102: Nodes<Expr> |
| 35:5-39:7 |
|
| A100: IfThenElseExpr |
| 35:5-39:7 |
|
| A93: BinExpr LTH |
| 35:8-35:12 |
|
| A91: NameExpr a |
| 35:8-35:8 |
| defAt: A87 @ 34:9-34:13 |
|
|
| A92: NameExpr b |
| 35:12-35:12 |
| defAt: A89 @ 34:16-34:20 |
|
|
|
|
| A96: Nodes<Expr> |
| 36:9-36:9 |
|
| A94: NameExpr a |
| 36:9-36:9 |
| defAt: A87 @ 34:9-34:13 |
|
|
|
|
|
| A98: Nodes<Expr> |
| 38:9-38:9 |
|
| A95: NameExpr b |
| 38:9-38:9 |
| defAt: A89 @ 34:16-34:20 |
|
|
|
|
|
|
|
|
| A132: DefFunDefn pow |
| 41:1-46:7 |
|
| A129: Nodes<ParDefn> |
| 41:8-41:26 |
|
| A106: ParDefn base |
| 41:9-41:16 |
|
| A105: NameType i |
| 41:16-41:16 |
| defAt: A1 @ 1:1-1:11 |
|
|
|
| A108: ParDefn exp |
| 41:19-41:25 |
|
| A107: NameType i |
| 41:25-41:25 |
| defAt: A1 @ 1:1-1:11 |
|
|
|
|
| A109: NameType i |
| 41:30-41:30 |
| defAt: A1 @ 1:1-1:11 |
|
|
|
| A130: Nodes<Expr> |
| 42:5-46:7 |
|
| A128: IfThenElseExpr |
| 42:5-46:7 |
|
| A113: CallExpr |
| 42:8-42:19 |
|
| A110: NameExpr is_zero |
| 42:8-42:14 |
| defAt: A35 @ 14:1-15:10 |
|
|
| A112: Nodes<Expr> |
| 42:15-42:19 |
|
| A111: NameExpr exp |
| 42:16-42:18 |
| defAt: A108 @ 41:19-41:25 |
|
|
|
|
|
| A124: Nodes<Expr> |
| 43:9-43:9 |
|
| A114: AtomExpr 1 |
| 43:9-43:9 |
|
|
|
|
|
| A126: Nodes<Expr> |
| 45:9-45:33 |
|
| A123: BinExpr MUL |
| 45:9-45:33 |
|
| A115: NameExpr base |
| 45:9-45:12 |
| defAt: A106 @ 41:9-41:16 |
|
|
| A122: CallExpr |
| 45:16-45:33 |
|
| A116: NameExpr pow |
| 45:16-45:18 |
| defAt: A132 @ 41:1-46:7 |
|
|
| A121: Nodes<Expr> |
| 45:19-45:33 |
|
| A117: NameExpr base |
| 45:20-45:23 |
| defAt: A106 @ 41:9-41:16 |
|
|
| A120: BinExpr SUB |
| 45:26-45:32 |
|
| A118: NameExpr exp |
| 45:26-45:28 |
| defAt: A108 @ 41:19-41:25 |
|
|
| A119: AtomExpr 1 |
| 45:32-45:32 |
|
|
|
|
|
|
|
|
|
|
|
|
| A158: DefFunDefn gcd |
| 48:1-53:7 |
|
| A155: Nodes<ParDefn> |
| 48:8-48:21 |
|
| A134: ParDefn a |
| 48:9-48:13 |
|
| A133: NameType i |
| 48:13-48:13 |
| defAt: A1 @ 1:1-1:11 |
|
|
|
| A136: ParDefn b |
| 48:16-48:20 |
|
| A135: NameType i |
| 48:20-48:20 |
| defAt: A1 @ 1:1-1:11 |
|
|
|
|
| A137: NameType i |
| 48:25-48:25 |
| defAt: A1 @ 1:1-1:11 |
|
|
|
| A156: Nodes<Expr> |
| 49:5-53:7 |
|
| A154: IfThenElseExpr |
| 49:5-53:7 |
|
| A141: CallExpr |
| 49:8-49:17 |
|
| A138: NameExpr is_zero |
| 49:8-49:14 |
| defAt: A35 @ 14:1-15:10 |
|
|
| A140: Nodes<Expr> |
| 49:15-49:17 |
|
| A139: NameExpr b |
| 49:16-49:16 |
| defAt: A136 @ 48:16-48:20 |
|
|
|
|
|
| A150: Nodes<Expr> |
| 50:9-50:9 |
|
| A142: NameExpr a |
| 50:9-50:9 |
| defAt: A134 @ 48:9-48:13 |
|
|
|
|
|
| A152: Nodes<Expr> |
| 52:9-52:21 |
|
| A149: CallExpr |
| 52:9-52:21 |
|
| A143: NameExpr gcd |
| 52:9-52:11 |
| defAt: A158 @ 48:1-53:7 |
|
|
| A148: Nodes<Expr> |
| 52:12-52:21 |
|
| A144: NameExpr b |
| 52:13-52:13 |
| defAt: A136 @ 48:16-48:20 |
|
|
| A147: BinExpr MOD |
| 52:16-52:20 |
|
| A145: NameExpr a |
| 52:16-52:16 |
| defAt: A134 @ 48:9-48:13 |
|
|
| A146: NameExpr b |
| 52:20-52:20 |
| defAt: A136 @ 48:16-48:20 |
|
|
|
|
|
|
|
|
|
|
|
| A196: DefFunDefn fib |
| 55:1-64:7 |
|
| A193: Nodes<ParDefn> |
| 55:8-55:14 |
|
| A160: ParDefn n |
| 55:9-55:13 |
|
| A159: NameType i |
| 55:13-55:13 |
| defAt: A1 @ 1:1-1:11 |
|
|
|
|
| A161: NameType i |
| 55:18-55:18 |
| defAt: A1 @ 1:1-1:11 |
|
|
|
| A194: Nodes<Expr> |
| 56:5-64:7 |
|
| A192: IfThenElseExpr |
| 56:5-64:7 |
|
| A164: BinExpr EQU |
| 56:8-56:13 |
|
| A162: NameExpr n |
| 56:8-56:8 |
| defAt: A160 @ 55:9-55:13 |
|
|
| A163: AtomExpr 0 |
| 56:13-56:13 |
|
|
|
|
| A188: Nodes<Expr> |
| 57:9-57:9 |
|
| A165: AtomExpr 0 |
| 57:9-57:9 |
|
|
|
|
|
| A190: Nodes<Expr> |
| 59:9-63:11 |
|
| A187: IfThenElseExpr |
| 59:9-63:11 |
|
| A168: BinExpr EQU |
| 59:12-59:17 |
|
| A166: NameExpr n |
| 59:12-59:12 |
| defAt: A160 @ 55:9-55:13 |
|
|
| A167: AtomExpr 1 |
| 59:17-59:17 |
|
|
|
|
| A183: Nodes<Expr> |
| 60:13-60:13 |
|
| A169: AtomExpr 1 |
| 60:13-60:13 |
|
|
|
|
|
| A185: Nodes<Expr> |
| 62:13-62:35 |
|
| A182: BinExpr ADD |
| 62:13-62:35 |
|
| A175: CallExpr |
| 62:13-62:22 |
|
| A170: NameExpr fib |
| 62:13-62:15 |
| defAt: A196 @ 55:1-64:7 |
|
|
| A174: Nodes<Expr> |
| 62:16-62:22 |
|
| A173: BinExpr SUB |
| 62:17-62:21 |
|
| A171: NameExpr n |
| 62:17-62:17 |
| defAt: A160 @ 55:9-55:13 |
|
|
| A172: AtomExpr 1 |
| 62:21-62:21 |
|
|
|
|
|
| A181: CallExpr |
| 62:26-62:35 |
|
| A176: NameExpr fib |
| 62:26-62:28 |
| defAt: A196 @ 55:1-64:7 |
|
|
| A180: Nodes<Expr> |
| 62:29-62:35 |
|
| A179: BinExpr SUB |
| 62:30-62:34 |
|
| A177: NameExpr n |
| 62:30-62:30 |
| defAt: A160 @ 55:9-55:13 |
|
|
| A178: AtomExpr 2 |
| 62:34-62:34 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| A221: DefFunDefn sum_to |
| 66:1-71:7 |
|
| A218: Nodes<ParDefn> |
| 66:11-66:17 |
|
| A198: ParDefn n |
| 66:12-66:16 |
|
| A197: NameType i |
| 66:16-66:16 |
| defAt: A1 @ 1:1-1:11 |
|
|
|
|
| A199: NameType i |
| 66:21-66:21 |
| defAt: A1 @ 1:1-1:11 |
|
|
|
| A219: Nodes<Expr> |
| 67:5-71:7 |
|
| A217: IfThenElseExpr |
| 67:5-71:7 |
|
| A203: CallExpr |
| 67:8-67:17 |
|
| A200: NameExpr is_zero |
| 67:8-67:14 |
| defAt: A35 @ 14:1-15:10 |
|
|
| A202: Nodes<Expr> |
| 67:15-67:17 |
|
| A201: NameExpr n |
| 67:16-67:16 |
| defAt: A198 @ 66:12-66:16 |
|
|
|
|
|
| A213: Nodes<Expr> |
| 68:9-68:9 |
|
| A204: AtomExpr 0 |
| 68:9-68:9 |
|
|
|
|
|
| A215: Nodes<Expr> |
| 70:9-70:25 |
|
| A212: BinExpr ADD |
| 70:9-70:25 |
|
| A205: NameExpr n |
| 70:9-70:9 |
| defAt: A198 @ 66:12-66:16 |
|
|
| A211: CallExpr |
| 70:13-70:25 |
|
| A206: NameExpr sum_to |
| 70:13-70:18 |
| defAt: A221 @ 66:1-71:7 |
|
|
| A210: Nodes<Expr> |
| 70:19-70:25 |
|
| A209: BinExpr SUB |
| 70:20-70:24 |
|
| A207: NameExpr n |
| 70:20-70:20 |
| defAt: A198 @ 66:12-66:16 |
|
|
| A208: AtomExpr 1 |
| 70:24-70:24 |
|
|
|
|
|
|
|
|
|
|
|
|
| A264: DefFunDefn collatz |
| 73:1-82:7 |
|
| A261: Nodes<ParDefn> |
| 73:12-73:18 |
|
| A223: ParDefn n |
| 73:13-73:17 |
|
| A222: NameType i |
| 73:17-73:17 |
| defAt: A1 @ 1:1-1:11 |
|
|
|
|
| A224: NameType i |
| 73:22-73:22 |
| defAt: A1 @ 1:1-1:11 |
|
|
|
| A262: Nodes<Expr> |
| 74:5-82:7 |
|
| A260: IfThenElseExpr |
| 74:5-82:7 |
|
| A227: BinExpr EQU |
| 74:8-74:13 |
|
| A225: NameExpr n |
| 74:8-74:8 |
| defAt: A223 @ 73:13-73:17 |
|
|
| A226: AtomExpr 1 |
| 74:13-74:13 |
|
|
|
|
| A256: Nodes<Expr> |
| 75:9-75:9 |
|
| A228: AtomExpr 0 |
| 75:9-75:9 |
|
|
|
|
|
| A258: Nodes<Expr> |
| 77:9-81:11 |
|
| A255: IfThenElseExpr |
| 77:9-81:11 |
|
| A232: CallExpr |
| 77:12-77:21 |
|
| A229: NameExpr is_even |
| 77:12-77:18 |
| defAt: A47 @ 17:1-18:14 |
|
|
| A231: Nodes<Expr> |
| 77:19-77:21 |
|
| A230: NameExpr n |
| 77:20-77:20 |
| defAt: A223 @ 73:13-73:17 |
|
|
|
|
|
| A251: Nodes<Expr> |
| 78:13-78:30 |
|
| A240: BinExpr ADD |
| 78:13-78:30 |
|
| A233: AtomExpr 1 |
| 78:13-78:13 |
|
|
| A239: CallExpr |
| 78:17-78:30 |
|
| A234: NameExpr collatz |
| 78:17-78:23 |
| defAt: A264 @ 73:1-82:7 |
|
|
| A238: Nodes<Expr> |
| 78:24-78:30 |
|
| A237: BinExpr DIV |
| 78:25-78:29 |
|
| A235: NameExpr n |
| 78:25-78:25 |
| defAt: A223 @ 73:13-73:17 |
|
|
| A236: AtomExpr 2 |
| 78:29-78:29 |
|
|
|
|
|
|
|
|
|
| A253: Nodes<Expr> |
| 80:13-80:34 |
|
| A250: BinExpr ADD |
| 80:13-80:34 |
|
| A241: AtomExpr 1 |
| 80:13-80:13 |
|
|
| A249: CallExpr |
| 80:17-80:34 |
|
| A242: NameExpr collatz |
| 80:17-80:23 |
| defAt: A264 @ 73:1-82:7 |
|
|
| A248: Nodes<Expr> |
| 80:24-80:34 |
|
| A247: BinExpr ADD |
| 80:25-80:33 |
|
| A245: BinExpr MUL |
| 80:25-80:29 |
|
| A243: AtomExpr 3 |
| 80:25-80:25 |
|
|
| A244: NameExpr n |
| 80:29-80:29 |
| defAt: A223 @ 73:13-73:17 |
|
|
|
| A246: AtomExpr 1 |
| 80:33-80:33 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| A314: DefFunDefn ackermann |
| 84:1-93:7 |
|
| A311: Nodes<ParDefn> |
| 84:14-84:27 |
|
| A266: ParDefn m |
| 84:15-84:19 |
|
| A265: NameType i |
| 84:19-84:19 |
| defAt: A1 @ 1:1-1:11 |
|
|
|
| A268: ParDefn n |
| 84:22-84:26 |
|
| A267: NameType i |
| 84:26-84:26 |
| defAt: A1 @ 1:1-1:11 |
|
|
|
|
| A269: NameType i |
| 84:31-84:31 |
| defAt: A1 @ 1:1-1:11 |
|
|
|
| A312: Nodes<Expr> |
| 85:5-93:7 |
|
| A310: IfThenElseExpr |
| 85:5-93:7 |
|
| A273: CallExpr |
| 85:8-85:17 |
|
| A270: NameExpr is_zero |
| 85:8-85:14 |
| defAt: A35 @ 14:1-15:10 |
|
|
| A272: Nodes<Expr> |
| 85:15-85:17 |
|
| A271: NameExpr m |
| 85:16-85:16 |
| defAt: A266 @ 84:15-84:19 |
|
|
|
|
|
| A306: Nodes<Expr> |
| 86:9-86:13 |
|
| A276: BinExpr ADD |
| 86:9-86:13 |
|
| A274: NameExpr n |
| 86:9-86:9 |
| defAt: A268 @ 84:22-84:26 |
|
|
| A275: AtomExpr 1 |
| 86:13-86:13 |
|
|
|
|
|
|
| A308: Nodes<Expr> |
| 88:9-92:11 |
|
| A305: IfThenElseExpr |
| 88:9-92:11 |
|
| A280: CallExpr |
| 88:12-88:21 |
|
| A277: NameExpr is_zero |
| 88:12-88:18 |
| defAt: A35 @ 14:1-15:10 |
|
|
| A279: Nodes<Expr> |
| 88:19-88:21 |
|
| A278: NameExpr n |
| 88:20-88:20 |
| defAt: A268 @ 84:22-84:26 |
|
|
|
|
|
| A301: Nodes<Expr> |
| 89:13-89:31 |
|
| A287: CallExpr |
| 89:13-89:31 |
|
| A281: NameExpr ackermann |
| 89:13-89:21 |
| defAt: A314 @ 84:1-93:7 |
|
|
| A286: Nodes<Expr> |
| 89:22-89:31 |
|
| A284: BinExpr SUB |
| 89:23-89:27 |
|
| A282: NameExpr m |
| 89:23-89:23 |
| defAt: A266 @ 84:15-84:19 |
|
|
| A283: AtomExpr 1 |
| 89:27-89:27 |
|
|
|
| A285: AtomExpr 1 |
| 89:30-89:30 |
|
|
|
|
|
|
|
| A303: Nodes<Expr> |
| 91:13-91:49 |
|
| A300: CallExpr |
| 91:13-91:49 |
|
| A288: NameExpr ackermann |
| 91:13-91:21 |
| defAt: A314 @ 84:1-93:7 |
|
|
| A299: Nodes<Expr> |
| 91:22-91:49 |
|
| A291: BinExpr SUB |
| 91:23-91:27 |
|
| A289: NameExpr m |
| 91:23-91:23 |
| defAt: A266 @ 84:15-84:19 |
|
|
| A290: AtomExpr 1 |
| 91:27-91:27 |
|
|
|
| A298: CallExpr |
| 91:30-91:48 |
|
| A292: NameExpr ackermann |
| 91:30-91:38 |
| defAt: A314 @ 84:1-93:7 |
|
|
| A297: Nodes<Expr> |
| 91:39-91:48 |
|
| A293: NameExpr m |
| 91:40-91:40 |
| defAt: A266 @ 84:15-84:19 |
|
|
| A296: BinExpr SUB |
| 91:43-91:47 |
|
| A294: NameExpr n |
| 91:43-91:43 |
| defAt: A268 @ 84:22-84:26 |
|
|
| A295: AtomExpr 1 |
| 91:47-91:47 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| A340: DefFunDefn digit_sum |
| 95:1-100:7 |
|
| A337: Nodes<ParDefn> |
| 95:14-95:20 |
|
| A316: ParDefn n |
| 95:15-95:19 |
|
| A315: NameType i |
| 95:19-95:19 |
| defAt: A1 @ 1:1-1:11 |
|
|
|
|
| A317: NameType i |
| 95:24-95:24 |
| defAt: A1 @ 1:1-1:11 |
|
|
|
| A338: Nodes<Expr> |
| 96:5-100:7 |
|
| A336: IfThenElseExpr |
| 96:5-100:7 |
|
| A320: BinExpr LTH |
| 96:8-96:13 |
|
| A318: NameExpr n |
| 96:8-96:8 |
| defAt: A316 @ 95:15-95:19 |
|
|
| A319: AtomExpr 10 |
| 96:12-96:13 |
|
|
|
|
| A332: Nodes<Expr> |
| 97:9-97:9 |
|
| A321: NameExpr n |
| 97:9-97:9 |
| defAt: A316 @ 95:15-95:19 |
|
|
|
|
|
| A334: Nodes<Expr> |
| 99:9-99:34 |
|
| A331: BinExpr ADD |
| 99:9-99:34 |
|
| A324: BinExpr MOD |
| 99:9-99:14 |
|
| A322: NameExpr n |
| 99:9-99:9 |
| defAt: A316 @ 95:15-95:19 |
|
|
| A323: AtomExpr 10 |
| 99:13-99:14 |
|
|
|
| A330: CallExpr |
| 99:18-99:34 |
|
| A325: NameExpr digit_sum |
| 99:18-99:26 |
| defAt: A340 @ 95:1-100:7 |
|
|
| A329: Nodes<Expr> |
| 99:27-99:34 |
|
| A328: BinExpr DIV |
| 99:28-99:33 |
|
| A326: NameExpr n |
| 99:28-99:28 |
| defAt: A316 @ 95:15-95:19 |
|
|
| A327: AtomExpr 10 |
| 99:32-99:33 |
|
|
|
|
|
|
|
|
|
|
|
|
| A374: DefFunDefn is_palindrome |
| 102:1-107:7 |
|
| A371: Nodes<ParDefn> |
| 102:18-102:33 |
|
| A342: ParDefn n |
| 102:19-102:23 |
|
| A341: NameType i |
| 102:23-102:23 |
| defAt: A1 @ 1:1-1:11 |
|
|
|
| A344: ParDefn rev |
| 102:26-102:32 |
|
| A343: NameType i |
| 102:32-102:32 |
| defAt: A1 @ 1:1-1:11 |
|
|
|
|
| A345: NameType b |
| 102:37-102:37 |
| defAt: A5 @ 3:1-3:12 |
|
|
|
| A372: Nodes<Expr> |
| 103:5-107:7 |
|
| A370: IfThenElseExpr |
| 103:5-107:7 |
|
| A349: CallExpr |
| 103:8-103:17 |
|
| A346: NameExpr is_zero |
| 103:8-103:14 |
| defAt: A35 @ 14:1-15:10 |
|
|
| A348: Nodes<Expr> |
| 103:15-103:17 |
|
| A347: NameExpr n |
| 103:16-103:16 |
| defAt: A342 @ 102:19-102:23 |
|
|
|
|
|
| A366: Nodes<Expr> |
| 104:9-104:16 |
|
| A352: BinExpr EQU |
| 104:9-104:16 |
|
| A350: NameExpr n |
| 104:9-104:9 |
| defAt: A342 @ 102:19-102:23 |
|
|
| A351: NameExpr rev |
| 104:14-104:16 |
| defAt: A344 @ 102:26-102:32 |
|
|
|
|
|
|
| A368: Nodes<Expr> |
| 106:9-106:48 |
|
| A365: CallExpr |
| 106:9-106:48 |
|
| A353: NameExpr is_palindrome |
| 106:9-106:21 |
| defAt: A374 @ 102:1-107:7 |
|
|
| A364: Nodes<Expr> |
| 106:22-106:48 |
|
| A356: BinExpr DIV |
| 106:23-106:28 |
|
| A354: NameExpr n |
| 106:23-106:23 |
| defAt: A342 @ 102:19-102:23 |
|
|
| A355: AtomExpr 10 |
| 106:27-106:28 |
|
|
|
| A363: BinExpr ADD |
| 106:31-106:47 |
|
| A359: BinExpr MUL |
| 106:31-106:38 |
|
| A357: NameExpr rev |
| 106:31-106:33 |
| defAt: A344 @ 102:26-102:32 |
|
|
| A358: AtomExpr 10 |
| 106:37-106:38 |
|
|
|
| A362: BinExpr MOD |
| 106:42-106:47 |
|
| A360: NameExpr n |
| 106:42-106:42 |
| defAt: A342 @ 102:19-102:23 |
|
|
| A361: AtomExpr 10 |
| 106:46-106:47 |
|
|
|
|
|
|
|
|
|
|
|
|
| A401: DefFunDefn count_bits |
| 109:1-114:7 |
|
| A398: Nodes<ParDefn> |
| 109:15-109:21 |
|
| A376: ParDefn n |
| 109:16-109:20 |
|
| A375: NameType i |
| 109:20-109:20 |
| defAt: A1 @ 1:1-1:11 |
|
|
|
|
| A377: NameType i |
| 109:25-109:25 |
| defAt: A1 @ 1:1-1:11 |
|
|
|
| A399: Nodes<Expr> |
| 110:5-114:7 |
|
| A397: IfThenElseExpr |
| 110:5-114:7 |
|
| A381: CallExpr |
| 110:8-110:17 |
|
| A378: NameExpr is_zero |
| 110:8-110:14 |
| defAt: A35 @ 14:1-15:10 |
|
|
| A380: Nodes<Expr> |
| 110:15-110:17 |
|
| A379: NameExpr n |
| 110:16-110:16 |
| defAt: A376 @ 109:16-109:20 |
|
|
|
|
|
| A393: Nodes<Expr> |
| 111:9-111:9 |
|
| A382: AtomExpr 0 |
| 111:9-111:9 |
|
|
|
|
|
| A395: Nodes<Expr> |
| 113:9-113:33 |
|
| A392: BinExpr ADD |
| 113:9-113:33 |
|
| A385: BinExpr MOD |
| 113:9-113:13 |
|
| A383: NameExpr n |
| 113:9-113:9 |
| defAt: A376 @ 109:16-109:20 |
|
|
| A384: AtomExpr 2 |
| 113:13-113:13 |
|
|
|
| A391: CallExpr |
| 113:17-113:33 |
|
| A386: NameExpr count_bits |
| 113:17-113:26 |
| defAt: A401 @ 109:1-114:7 |
|
|
| A390: Nodes<Expr> |
| 113:27-113:33 |
|
| A389: BinExpr DIV |
| 113:28-113:32 |
|
| A387: NameExpr n |
| 113:28-113:28 |
| defAt: A376 @ 109:16-109:20 |
|
|
| A388: AtomExpr 2 |
| 113:32-113:32 |
|
|
|
|
|
|
|
|
|
|
|
|
| A1067: DefFunDefn main |
| 116:1-276:7 |
|
|
| A402: NameType i |
| 116:14-116:14 |
| defAt: A1 @ 1:1-1:11 |
|
|
|
| A1065: Nodes<Expr> |
| 117:5-276:7 |
|
| A1063: LetExpr |
| 117:5-276:7 |
|
| A1060: Nodes<Defn> |
| 118:9-138:29 |
|
| A404: VarDefn a |
| 118:9-118:17 |
|
| A403: NameType i |
| 118:17-118:17 |
| defAt: A1 @ 1:1-1:11 |
|
|
|
| A406: VarDefn bb |
| 119:9-119:18 |
|
| A405: NameType i |
| 119:18-119:18 |
| defAt: A1 @ 1:1-1:11 |
|
|
|
| A408: VarDefn cc |
| 120:9-120:18 |
|
| A407: NameType i |
| 120:18-120:18 |
| defAt: A1 @ 1:1-1:11 |
|
|
|
| A410: VarDefn dd |
| 121:9-121:18 |
|
| A409: NameType i |
| 121:18-121:18 |
| defAt: A1 @ 1:1-1:11 |
|
|
|
| A412: VarDefn e |
| 122:9-122:17 |
|
| A411: NameType i |
| 122:17-122:17 |
| defAt: A1 @ 1:1-1:11 |
|
|
|
| A414: VarDefn f |
| 123:9-123:17 |
|
| A413: NameType b |
| 123:17-123:17 |
| defAt: A5 @ 3:1-3:12 |
|
|
|
| A416: VarDefn g |
| 124:9-124:17 |
|
| A415: NameType b |
| 124:17-124:17 |
| defAt: A5 @ 3:1-3:12 |
|
|
|
| A418: TypDefn li |
| 125:9-125:18 |
|
| A417: NameType i |
| 125:18-125:18 |
| defAt: A1 @ 1:1-1:11 |
|
|
|
| A420: TypDefn lb |
| 126:9-126:18 |
|
| A419: NameType b |
| 126:18-126:18 |
| defAt: A5 @ 3:1-3:12 |
|
|
|
| A439: DefFunDefn local_max |
| 127:9-132:15 |
|
| A436: Nodes<ParDefn> |
| 127:22-127:37 |
|
| A422: ParDefn x |
| 127:23-127:28 |
|
| A421: NameType li |
| 127:27-127:28 |
| defAt: A418 @ 125:9-125:18 |
|
|
|
| A424: ParDefn y |
| 127:31-127:36 |
|
| A423: NameType li |
| 127:35-127:36 |
| defAt: A418 @ 125:9-125:18 |
|
|
|
|
| A425: NameType li |
| 127:41-127:42 |
| defAt: A418 @ 125:9-125:18 |
|
|
| A438: Exprs |
| 128:13-132:15 |
|
| A437: Nodes<Expr> |
| 128:13-132:15 |
|
| A435: IfThenElseExpr |
| 128:13-132:15 |
|
| A428: BinExpr GTH |
| 128:16-128:20 |
|
| A426: NameExpr x |
| 128:16-128:16 |
| defAt: A422 @ 127:23-127:28 |
|
|
| A427: NameExpr y |
| 128:20-128:20 |
| defAt: A424 @ 127:31-127:36 |
|
|
|
| A432: Exprs |
| 129:17-129:17 |
|
| A431: Nodes<Expr> |
| 129:17-129:17 |
|
| A429: NameExpr x |
| 129:17-129:17 |
| defAt: A422 @ 127:23-127:28 |
|
|
|
|
| A434: Exprs |
| 131:17-131:17 |
|
| A433: Nodes<Expr> |
| 131:17-131:17 |
|
| A430: NameExpr y |
| 131:17-131:17 |
| defAt: A424 @ 127:31-127:36 |
|
|
|
|
|
|
|
|
| A451: DefFunDefn local_and |
| 133:9-134:19 |
|
| A448: Nodes<ParDefn> |
| 133:22-133:37 |
|
| A441: ParDefn x |
| 133:23-133:28 |
|
| A440: NameType lb |
| 133:27-133:28 |
| defAt: A420 @ 126:9-126:18 |
|
|
|
| A443: ParDefn y |
| 133:31-133:36 |
|
| A442: NameType lb |
| 133:35-133:36 |
| defAt: A420 @ 126:9-126:18 |
|
|
|
|
| A444: NameType lb |
| 133:41-133:42 |
| defAt: A420 @ 126:9-126:18 |
|
|
| A450: Exprs |
| 134:13-134:19 |
|
| A449: Nodes<Expr> |
| 134:13-134:19 |
|
| A447: BinExpr AND |
| 134:13-134:19 |
|
| A445: NameExpr x |
| 134:13-134:13 |
| defAt: A441 @ 133:23-133:28 |
|
|
| A446: NameExpr y |
| 134:19-134:19 |
| defAt: A443 @ 133:31-133:36 |
|
|
|
|
|
|
| A461: DefFunDefn triple |
| 135:9-136:17 |
|
| A458: Nodes<ParDefn> |
| 135:19-135:26 |
|
| A453: ParDefn x |
| 135:20-135:25 |
|
| A452: NameType li |
| 135:24-135:25 |
| defAt: A418 @ 125:9-125:18 |
|
|
|
|
| A454: NameType li |
| 135:30-135:31 |
| defAt: A418 @ 125:9-125:18 |
|
|
| A460: Exprs |
| 136:13-136:17 |
|
| A459: Nodes<Expr> |
| 136:13-136:17 |
|
| A457: BinExpr MUL |
| 136:13-136:17 |
|
| A455: NameExpr x |
| 136:13-136:13 |
| defAt: A453 @ 135:20-135:25 |
|
|
| A456: AtomExpr 3 |
| 136:17-136:17 |
|
|
|
|
|
|
| A475: DefFunDefn compose |
| 137:9-138:29 |
|
| A472: Nodes<ParDefn> |
| 137:20-137:27 |
|
| A463: ParDefn x |
| 137:21-137:26 |
|
| A462: NameType li |
| 137:25-137:26 |
| defAt: A418 @ 125:9-125:18 |
|
|
|
|
| A464: NameType li |
| 137:31-137:32 |
| defAt: A418 @ 125:9-125:18 |
|
|
| A474: Exprs |
| 138:13-138:29 |
|
| A473: Nodes<Expr> |
| 138:13-138:29 |
|
| A471: CallExpr |
| 138:13-138:29 |
|
| A465: NameExpr triple |
| 138:13-138:18 |
| defAt: A461 @ 135:9-136:17 |
|
|
| A470: Nodes<Expr> |
| 138:19-138:29 |
|
| A469: CallExpr |
| 138:20-138:28 |
|
| A466: NameExpr triple |
| 138:20-138:25 |
| defAt: A461 @ 135:9-136:17 |
|
|
| A468: Nodes<Expr> |
| 138:26-138:28 |
|
| A467: NameExpr x |
| 138:27-138:27 |
| defAt: A463 @ 137:21-137:26 |
|
|
|
|
|
|
|
|
|
|
| A1062: Exprs |
| 140:9-275:11 |
|
| A1061: Nodes<Expr> |
| 140:9-275:11 |
|
| A478: AsgnExpr |
| 140:9-140:19 |
|
| A476: NameExpr counter |
| 140:9-140:15 |
| defAt: A13 @ 7:1-7:15 |
|
|
| A477: AtomExpr 0 |
| 140:19-140:19 |
|
|
|
| A481: AsgnExpr |
| 141:9-141:18 |
|
| A479: NameExpr result |
| 141:9-141:14 |
| defAt: A17 @ 9:1-9:14 |
|
|
| A480: AtomExpr 0 |
| 141:18-141:18 |
|
|
|
| A484: AsgnExpr |
| 142:9-142:19 |
|
| A482: NameExpr flag |
| 142:9-142:12 |
| defAt: A15 @ 8:1-8:12 |
|
|
| A483: AtomExpr true |
| 142:16-142:19 |
|
|
|
| A490: AsgnExpr |
| 143:9-143:19 |
|
| A485: NameExpr a |
| 143:9-143:9 |
| defAt: A404 @ 118:9-118:17 |
|
|
| A489: CallExpr |
| 143:13-143:19 |
|
| A486: NameExpr fib |
| 143:13-143:15 |
| defAt: A196 @ 55:1-64:7 |
|
|
| A488: Nodes<Expr> |
| 143:16-143:19 |
|
| A487: AtomExpr 10 |
| 143:17-143:18 |
|
|
|
|
|
| A497: AsgnExpr |
| 144:9-144:22 |
|
| A491: NameExpr bb |
| 144:9-144:10 |
| defAt: A406 @ 119:9-119:18 |
|
|
| A496: CallExpr |
| 144:14-144:22 |
|
| A492: NameExpr pow |
| 144:14-144:16 |
| defAt: A132 @ 41:1-46:7 |
|
|
| A495: Nodes<Expr> |
| 144:17-144:22 |
|
| A493: AtomExpr 2 |
| 144:18-144:18 |
|
|
| A494: AtomExpr 8 |
| 144:21-144:21 |
|
|
|
|
|
| A504: AsgnExpr |
| 145:9-145:23 |
|
| A498: NameExpr cc |
| 145:9-145:10 |
| defAt: A408 @ 120:9-120:18 |
|
|
| A503: CallExpr |
| 145:14-145:23 |
|
| A499: NameExpr gcd |
| 145:14-145:16 |
| defAt: A158 @ 48:1-53:7 |
|
|
| A502: Nodes<Expr> |
| 145:17-145:23 |
|
| A500: NameExpr bb |
| 145:18-145:19 |
| defAt: A406 @ 119:9-119:18 |
|
|
| A501: NameExpr a |
| 145:22-145:22 |
| defAt: A404 @ 118:9-118:17 |
|
|
|
|
|
| A510: AsgnExpr |
| 146:9-146:24 |
|
| A505: NameExpr dd |
| 146:9-146:10 |
| defAt: A410 @ 121:9-121:18 |
|
|
| A509: CallExpr |
| 146:14-146:24 |
|
| A506: NameExpr sum_to |
| 146:14-146:19 |
| defAt: A221 @ 66:1-71:7 |
|
|
| A508: Nodes<Expr> |
| 146:20-146:24 |
|
| A507: AtomExpr 100 |
| 146:21-146:23 |
|
|
|
|
|
| A516: AsgnExpr |
| 147:9-147:23 |
|
| A511: NameExpr e |
| 147:9-147:9 |
| defAt: A412 @ 122:9-122:17 |
|
|
| A515: CallExpr |
| 147:13-147:23 |
|
| A512: NameExpr collatz |
| 147:13-147:19 |
| defAt: A264 @ 73:1-82:7 |
|
|
| A514: Nodes<Expr> |
| 147:20-147:23 |
|
| A513: AtomExpr 27 |
| 147:21-147:22 |
|
|
|
|
|
| A522: AsgnExpr |
| 148:9-148:22 |
|
| A517: NameExpr f |
| 148:9-148:9 |
| defAt: A414 @ 123:9-123:17 |
|
|
| A521: CallExpr |
| 148:13-148:22 |
|
| A518: NameExpr is_even |
| 148:13-148:19 |
| defAt: A47 @ 17:1-18:14 |
|
|
| A520: Nodes<Expr> |
| 148:20-148:22 |
|
| A519: NameExpr a |
| 148:21-148:21 |
| defAt: A404 @ 118:9-118:17 |
|
|
|
|
|
| A529: AsgnExpr |
| 149:9-149:35 |
|
| A523: NameExpr g |
| 149:9-149:9 |
| defAt: A416 @ 124:9-124:17 |
|
|
| A528: CallExpr |
| 149:13-149:35 |
|
| A524: NameExpr is_palindrome |
| 149:13-149:25 |
| defAt: A374 @ 102:1-107:7 |
|
|
| A527: Nodes<Expr> |
| 149:26-149:35 |
|
| A525: AtomExpr 12321 |
| 149:27-149:31 |
|
|
| A526: AtomExpr 0 |
| 149:34-149:34 |
|
|
|
|
|
| A536: AsgnExpr |
| 150:9-150:33 |
|
| A530: NameExpr result |
| 150:9-150:14 |
| defAt: A17 @ 9:1-9:14 |
|
|
| A535: CallExpr |
| 150:18-150:33 |
|
| A531: NameExpr local_max |
| 150:18-150:26 |
| defAt: A439 @ 127:9-132:15 |
|
|
| A534: Nodes<Expr> |
| 150:27-150:33 |
|
| A532: NameExpr a |
| 150:28-150:28 |
| defAt: A404 @ 118:9-118:17 |
|
|
| A533: NameExpr bb |
| 150:31-150:32 |
| defAt: A406 @ 119:9-119:18 |
|
|
|
|
|
| A542: AsgnExpr |
| 151:9-151:32 |
|
| A537: NameExpr result |
| 151:9-151:14 |
| defAt: A17 @ 9:1-9:14 |
|
|
| A541: CallExpr |
| 151:18-151:32 |
|
| A538: NameExpr compose |
| 151:18-151:24 |
| defAt: A475 @ 137:9-138:29 |
|
|
| A540: Nodes<Expr> |
| 151:25-151:32 |
|
| A539: NameExpr result |
| 151:26-151:31 |
| defAt: A17 @ 9:1-9:14 |
|
|
|
|
|
| A549: AsgnExpr |
| 152:9-152:33 |
|
| A543: NameExpr counter |
| 152:9-152:15 |
| defAt: A13 @ 7:1-7:15 |
|
|
| A548: CallExpr |
| 152:19-152:33 |
|
| A544: NameExpr ackermann |
| 152:19-152:27 |
| defAt: A314 @ 84:1-93:7 |
|
|
| A547: Nodes<Expr> |
| 152:28-152:33 |
|
| A545: AtomExpr 3 |
| 152:29-152:29 |
|
|
| A546: AtomExpr 2 |
| 152:32-152:32 |
|
|
|
|
|
| A1059: LetExpr |
| 153:9-275:11 |
|
| A1056: Nodes<Defn> |
| 154:13-174:19 |
|
| A551: VarDefn shadow_a |
| 154:13-154:28 |
|
| A550: NameType i |
| 154:28-154:28 |
| defAt: A1 @ 1:1-1:11 |
|
|
|
| A553: VarDefn shadow_b |
| 155:13-155:28 |
|
| A552: NameType i |
| 155:28-155:28 |
| defAt: A1 @ 1:1-1:11 |
|
|
|
| A555: VarDefn shadow_f |
| 156:13-156:28 |
|
| A554: NameType b |
| 156:28-156:28 |
| defAt: A5 @ 3:1-3:12 |
|
|
|
| A557: VarDefn counter |
| 157:13-157:27 |
|
| A556: NameType i |
| 157:27-157:27 |
| defAt: A1 @ 1:1-1:11 |
|
|
|
| A559: VarDefn result |
| 158:13-158:26 |
|
| A558: NameType i |
| 158:26-158:26 |
| defAt: A1 @ 1:1-1:11 |
|
|
|
| A597: DefFunDefn shadow_fib |
| 159:13-168:19 |
|
| A594: Nodes<ParDefn> |
| 159:27-159:33 |
|
| A561: ParDefn n |
| 159:28-159:32 |
|
| A560: NameType i |
| 159:32-159:32 |
| defAt: A1 @ 1:1-1:11 |
|
|
|
|
| A562: NameType i |
| 159:37-159:37 |
| defAt: A1 @ 1:1-1:11 |
|
|
| A596: Exprs |
| 160:17-168:19 |
|
| A595: Nodes<Expr> |
| 160:17-168:19 |
|
| A593: IfThenElseExpr |
| 160:17-168:19 |
|
| A565: BinExpr EQU |
| 160:20-160:25 |
|
| A563: NameExpr n |
| 160:20-160:20 |
| defAt: A561 @ 159:28-159:32 |
|
|
| A564: AtomExpr 0 |
| 160:25-160:25 |
|
|
|
| A590: Exprs |
| 161:21-161:21 |
|
| A589: Nodes<Expr> |
| 161:21-161:21 |
|
| A566: AtomExpr 0 |
| 161:21-161:21 |
|
|
|
|
| A592: Exprs |
| 163:21-167:23 |
|
| A591: Nodes<Expr> |
| 163:21-167:23 |
|
| A588: IfThenElseExpr |
| 163:21-167:23 |
|
| A569: BinExpr EQU |
| 163:24-163:29 |
|
| A567: NameExpr n |
| 163:24-163:24 |
| defAt: A561 @ 159:28-159:32 |
|
|
| A568: AtomExpr 1 |
| 163:29-163:29 |
|
|
|
| A585: Exprs |
| 164:25-164:25 |
|
| A584: Nodes<Expr> |
| 164:25-164:25 |
|
| A570: AtomExpr 1 |
| 164:25-164:25 |
|
|
|
|
| A587: Exprs |
| 166:25-166:61 |
|
| A586: Nodes<Expr> |
| 166:25-166:61 |
|
| A583: BinExpr ADD |
| 166:25-166:61 |
|
| A576: CallExpr |
| 166:25-166:41 |
|
| A571: NameExpr shadow_fib |
| 166:25-166:34 |
| defAt: A597 @ 159:13-168:19 |
|
|
| A575: Nodes<Expr> |
| 166:35-166:41 |
|
| A574: BinExpr SUB |
| 166:36-166:40 |
|
| A572: NameExpr n |
| 166:36-166:36 |
| defAt: A561 @ 159:28-159:32 |
|
|
| A573: AtomExpr 1 |
| 166:40-166:40 |
|
|
|
|
|
| A582: CallExpr |
| 166:45-166:61 |
|
| A577: NameExpr shadow_fib |
| 166:45-166:54 |
| defAt: A597 @ 159:13-168:19 |
|
|
| A581: Nodes<Expr> |
| 166:55-166:61 |
|
| A580: BinExpr SUB |
| 166:56-166:60 |
|
| A578: NameExpr n |
| 166:56-166:56 |
| defAt: A561 @ 159:28-159:32 |
|
|
| A579: AtomExpr 2 |
| 166:60-166:60 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| A625: DefFunDefn accumulate |
| 169:13-174:19 |
|
| A622: Nodes<ParDefn> |
| 169:27-169:42 |
|
| A599: ParDefn n |
| 169:28-169:32 |
|
| A598: NameType i |
| 169:32-169:32 |
| defAt: A1 @ 1:1-1:11 |
|
|
|
| A601: ParDefn acc |
| 169:35-169:41 |
|
| A600: NameType i |
| 169:41-169:41 |
| defAt: A1 @ 1:1-1:11 |
|
|
|
|
| A602: NameType i |
| 169:46-169:46 |
| defAt: A1 @ 1:1-1:11 |
|
|
| A624: Exprs |
| 170:17-174:19 |
|
| A623: Nodes<Expr> |
| 170:17-174:19 |
|
| A621: IfThenElseExpr |
| 170:17-174:19 |
|
| A606: CallExpr |
| 170:20-170:29 |
|
| A603: NameExpr is_zero |
| 170:20-170:26 |
| defAt: A35 @ 14:1-15:10 |
|
|
| A605: Nodes<Expr> |
| 170:27-170:29 |
|
| A604: NameExpr n |
| 170:28-170:28 |
| defAt: A599 @ 169:28-169:32 |
|
|
|
|
| A618: Exprs |
| 171:21-171:23 |
|
| A617: Nodes<Expr> |
| 171:21-171:23 |
|
| A607: NameExpr acc |
| 171:21-171:23 |
| defAt: A601 @ 169:35-169:41 |
|
|
|
|
| A620: Exprs |
| 173:21-173:46 |
|
| A619: Nodes<Expr> |
| 173:21-173:46 |
|
| A616: CallExpr |
| 173:21-173:46 |
|
| A608: NameExpr accumulate |
| 173:21-173:30 |
| defAt: A625 @ 169:13-174:19 |
|
|
| A615: Nodes<Expr> |
| 173:31-173:46 |
|
| A611: BinExpr SUB |
| 173:32-173:36 |
|
| A609: NameExpr n |
| 173:32-173:32 |
| defAt: A599 @ 169:28-169:32 |
|
|
| A610: AtomExpr 1 |
| 173:36-173:36 |
|
|
|
| A614: BinExpr ADD |
| 173:39-173:45 |
|
| A612: NameExpr acc |
| 173:39-173:41 |
| defAt: A601 @ 169:35-169:41 |
|
|
| A613: NameExpr n |
| 173:45-173:45 |
| defAt: A599 @ 169:28-169:32 |
|
|
|
|
|
|
|
|
|
|
|
|
| A1058: Exprs |
| 176:13-274:15 |
|
| A1057: Nodes<Expr> |
| 176:13-274:15 |
|
| A631: AsgnExpr |
| 176:13-176:37 |
|
| A626: NameExpr shadow_a |
| 176:13-176:20 |
| defAt: A551 @ 154:13-154:28 |
|
|
| A630: CallExpr |
| 176:24-176:37 |
|
| A627: NameExpr shadow_fib |
| 176:24-176:33 |
| defAt: A597 @ 159:13-168:19 |
|
|
| A629: Nodes<Expr> |
| 176:34-176:37 |
|
| A628: AtomExpr 15 |
| 176:35-176:36 |
|
|
|
|
|
| A638: AsgnExpr |
| 177:13-177:40 |
|
| A632: NameExpr shadow_b |
| 177:13-177:20 |
| defAt: A553 @ 155:13-155:28 |
|
|
| A637: CallExpr |
| 177:24-177:40 |
|
| A633: NameExpr accumulate |
| 177:24-177:33 |
| defAt: A625 @ 169:13-174:19 |
|
|
| A636: Nodes<Expr> |
| 177:34-177:40 |
|
| A634: AtomExpr 50 |
| 177:35-177:36 |
|
|
| A635: AtomExpr 0 |
| 177:39-177:39 |
|
|
|
|
|
| A645: AsgnExpr |
| 178:13-178:38 |
|
| A639: NameExpr shadow_f |
| 178:13-178:20 |
| defAt: A555 @ 156:13-156:28 |
|
|
| A644: CallExpr |
| 178:24-178:38 |
|
| A640: NameExpr local_and |
| 178:24-178:32 |
| defAt: A451 @ 133:9-134:19 |
|
|
| A643: Nodes<Expr> |
| 178:33-178:38 |
|
| A641: NameExpr f |
| 178:34-178:34 |
| defAt: A414 @ 123:9-123:17 |
|
|
| A642: NameExpr g |
| 178:37-178:37 |
| defAt: A416 @ 124:9-124:17 |
|
|
|
|
|
| A653: AsgnExpr |
| 179:13-179:52 |
|
| A646: NameExpr counter |
| 179:13-179:19 |
| defAt: A557 @ 157:13-157:27 |
|
|
| A652: CallExpr |
| 179:23-179:52 |
|
| A647: NameExpr digit_sum |
| 179:23-179:31 |
| defAt: A340 @ 95:1-100:7 |
|
|
| A651: Nodes<Expr> |
| 179:32-179:52 |
|
| A650: BinExpr MUL |
| 179:33-179:51 |
|
| A648: NameExpr shadow_a |
| 179:33-179:40 |
| defAt: A551 @ 154:13-154:28 |
|
|
| A649: NameExpr shadow_b |
| 179:44-179:51 |
| defAt: A553 @ 155:13-155:28 |
|
|
|
|
|
|
| A660: AsgnExpr |
| 180:13-180:44 |
|
| A654: NameExpr result |
| 180:13-180:18 |
| defAt: A559 @ 158:13-158:26 |
|
|
| A659: CallExpr |
| 180:22-180:44 |
|
| A655: NameExpr min |
| 180:22-180:24 |
| defAt: A104 @ 34:1-39:7 |
|
|
| A658: Nodes<Expr> |
| 180:25-180:44 |
|
| A656: NameExpr shadow_a |
| 180:26-180:33 |
| defAt: A551 @ 154:13-154:28 |
|
|
| A657: NameExpr shadow_b |
| 180:36-180:43 |
| defAt: A553 @ 155:13-155:28 |
|
|
|
|
|
| A696: WhileExpr |
| 181:13-188:15 |
|
| A663: BinExpr GTH |
| 181:19-181:29 |
|
| A661: NameExpr counter |
| 181:19-181:25 |
| defAt: A557 @ 157:13-157:27 |
|
|
| A662: AtomExpr 0 |
| 181:29-181:29 |
|
|
|
| A695: Exprs |
| 182:17-187:37 |
|
| A694: Nodes<Expr> |
| 182:17-187:37 |
|
| A688: IfThenElseExpr |
| 182:17-186:19 |
|
| A667: CallExpr |
| 182:20-182:35 |
|
| A664: NameExpr is_even |
| 182:20-182:26 |
| defAt: A47 @ 17:1-18:14 |
|
|
| A666: Nodes<Expr> |
| 182:27-182:35 |
|
| A665: NameExpr counter |
| 182:28-182:34 |
| defAt: A557 @ 157:13-157:27 |
|
|
|
|
| A685: Exprs |
| 183:21-183:57 |
|
| A684: Nodes<Expr> |
| 183:21-183:57 |
|
| A675: AsgnExpr |
| 183:21-183:57 |
|
| A668: NameExpr result |
| 183:21-183:26 |
| defAt: A559 @ 158:13-158:26 |
|
|
| A674: BinExpr ADD |
| 183:30-183:57 |
|
| A669: NameExpr result |
| 183:30-183:35 |
| defAt: A559 @ 158:13-158:26 |
|
|
| A673: CallExpr |
| 183:39-183:57 |
|
| A670: NameExpr shadow_fib |
| 183:39-183:48 |
| defAt: A597 @ 159:13-168:19 |
|
|
| A672: Nodes<Expr> |
| 183:49-183:57 |
|
| A671: NameExpr counter |
| 183:50-183:56 |
| defAt: A557 @ 157:13-157:27 |
|
|
|
|
|
|
|
|
| A687: Exprs |
| 185:21-185:56 |
|
| A686: Nodes<Expr> |
| 185:21-185:56 |
|
| A683: AsgnExpr |
| 185:21-185:56 |
|
| A676: NameExpr result |
| 185:21-185:26 |
| defAt: A559 @ 158:13-158:26 |
|
|
| A682: BinExpr SUB |
| 185:30-185:56 |
|
| A677: NameExpr result |
| 185:30-185:35 |
| defAt: A559 @ 158:13-158:26 |
|
|
| A681: CallExpr |
| 185:39-185:56 |
|
| A678: NameExpr digit_sum |
| 185:39-185:47 |
| defAt: A340 @ 95:1-100:7 |
|
|
| A680: Nodes<Expr> |
| 185:48-185:56 |
|
| A679: NameExpr counter |
| 185:49-185:55 |
| defAt: A557 @ 157:13-157:27 |
|
|
|
|
|
|
|
|
|
| A693: AsgnExpr |
| 187:17-187:37 |
|
| A689: NameExpr counter |
| 187:17-187:23 |
| defAt: A557 @ 157:13-157:27 |
|
|
| A692: BinExpr SUB |
| 187:27-187:37 |
|
| A690: NameExpr counter |
| 187:27-187:33 |
| defAt: A557 @ 157:13-157:27 |
|
|
| A691: AtomExpr 1 |
| 187:37-187:37 |
|
|
|
|
|
|
|
| A1055: LetExpr |
| 189:13-274:15 |
|
| A1052: Nodes<Defn> |
| 190:17-216:23 |
|
| A698: VarDefn deep1 |
| 190:17-190:29 |
|
| A697: NameType i |
| 190:29-190:29 |
| defAt: A1 @ 1:1-1:11 |
|
|
|
| A700: VarDefn deep2 |
| 191:17-191:29 |
|
| A699: NameType i |
| 191:29-191:29 |
| defAt: A1 @ 1:1-1:11 |
|
|
|
| A702: VarDefn deep3 |
| 192:17-192:29 |
|
| A701: NameType b |
| 192:29-192:29 |
| defAt: A5 @ 3:1-3:12 |
|
|
|
| A704: VarDefn deep4 |
| 193:17-193:29 |
|
| A703: NameType i |
| 193:29-193:29 |
| defAt: A1 @ 1:1-1:11 |
|
|
|
| A706: TypDefn di |
| 194:17-194:26 |
|
| A705: NameType i |
| 194:26-194:26 |
| defAt: A1 @ 1:1-1:11 |
|
|
|
| A734: DefFunDefn deep_pow |
| 195:17-200:23 |
|
| A731: Nodes<ParDefn> |
| 195:29-195:44 |
|
| A708: ParDefn b |
| 195:30-195:35 |
|
| A707: NameType di |
| 195:34-195:35 |
| defAt: A706 @ 194:17-194:26 |
|
|
|
| A710: ParDefn e |
| 195:38-195:43 |
|
| A709: NameType di |
| 195:42-195:43 |
| defAt: A706 @ 194:17-194:26 |
|
|
|
|
| A711: NameType di |
| 195:48-195:49 |
| defAt: A706 @ 194:17-194:26 |
|
|
| A733: Exprs |
| 196:21-200:23 |
|
| A732: Nodes<Expr> |
| 196:21-200:23 |
|
| A730: IfThenElseExpr |
| 196:21-200:23 |
|
| A715: CallExpr |
| 196:24-196:33 |
|
| A712: NameExpr is_zero |
| 196:24-196:30 |
| defAt: A35 @ 14:1-15:10 |
|
|
| A714: Nodes<Expr> |
| 196:31-196:33 |
|
| A713: NameExpr e |
| 196:32-196:32 |
| defAt: A710 @ 195:38-195:43 |
|
|
|
|
| A727: Exprs |
| 197:25-197:25 |
|
| A726: Nodes<Expr> |
| 197:25-197:25 |
|
| A716: AtomExpr 1 |
| 197:25-197:25 |
|
|
|
|
| A729: Exprs |
| 199:25-199:46 |
|
| A728: Nodes<Expr> |
| 199:25-199:46 |
|
| A725: BinExpr MUL |
| 199:25-199:46 |
|
| A717: NameExpr b |
| 199:25-199:25 |
| defAt: A708 @ 195:30-195:35 |
|
|
| A724: CallExpr |
| 199:29-199:46 |
|
| A718: NameExpr deep_pow |
| 199:29-199:36 |
| defAt: A734 @ 195:17-200:23 |
|
|
| A723: Nodes<Expr> |
| 199:37-199:46 |
|
| A719: NameExpr b |
| 199:38-199:38 |
| defAt: A708 @ 195:30-195:35 |
|
|
| A722: BinExpr SUB |
| 199:41-199:45 |
|
| A720: NameExpr e |
| 199:41-199:41 |
| defAt: A710 @ 195:38-195:43 |
|
|
| A721: AtomExpr 1 |
| 199:45-199:45 |
|
|
|
|
|
|
|
|
|
|
|
|
| A777: DefFunDefn deep_collatz |
| 201:17-210:23 |
|
| A774: Nodes<ParDefn> |
| 201:33-201:40 |
|
| A736: ParDefn n |
| 201:34-201:39 |
|
| A735: NameType di |
| 201:38-201:39 |
| defAt: A706 @ 194:17-194:26 |
|
|
|
|
| A737: NameType di |
| 201:44-201:45 |
| defAt: A706 @ 194:17-194:26 |
|
|
| A776: Exprs |
| 202:21-210:23 |
|
| A775: Nodes<Expr> |
| 202:21-210:23 |
|
| A773: IfThenElseExpr |
| 202:21-210:23 |
|
| A740: BinExpr EQU |
| 202:24-202:29 |
|
| A738: NameExpr n |
| 202:24-202:24 |
| defAt: A736 @ 201:34-201:39 |
|
|
| A739: AtomExpr 1 |
| 202:29-202:29 |
|
|
|
| A770: Exprs |
| 203:25-203:25 |
|
| A769: Nodes<Expr> |
| 203:25-203:25 |
|
| A741: AtomExpr 0 |
| 203:25-203:25 |
|
|
|
|
| A772: Exprs |
| 205:25-209:27 |
|
| A771: Nodes<Expr> |
| 205:25-209:27 |
|
| A768: IfThenElseExpr |
| 205:25-209:27 |
|
| A745: CallExpr |
| 205:28-205:37 |
|
| A742: NameExpr is_even |
| 205:28-205:34 |
| defAt: A47 @ 17:1-18:14 |
|
|
| A744: Nodes<Expr> |
| 205:35-205:37 |
|
| A743: NameExpr n |
| 205:36-205:36 |
| defAt: A736 @ 201:34-201:39 |
|
|
|
|
| A765: Exprs |
| 206:29-206:51 |
|
| A764: Nodes<Expr> |
| 206:29-206:51 |
|
| A753: BinExpr ADD |
| 206:29-206:51 |
|
| A746: AtomExpr 1 |
| 206:29-206:29 |
|
|
| A752: CallExpr |
| 206:33-206:51 |
|
| A747: NameExpr deep_collatz |
| 206:33-206:44 |
| defAt: A777 @ 201:17-210:23 |
|
|
| A751: Nodes<Expr> |
| 206:45-206:51 |
|
| A750: BinExpr DIV |
| 206:46-206:50 |
|
| A748: NameExpr n |
| 206:46-206:46 |
| defAt: A736 @ 201:34-201:39 |
|
|
| A749: AtomExpr 2 |
| 206:50-206:50 |
|
|
|
|
|
|
|
|
| A767: Exprs |
| 208:29-208:55 |
|
| A766: Nodes<Expr> |
| 208:29-208:55 |
|
| A763: BinExpr ADD |
| 208:29-208:55 |
|
| A754: AtomExpr 1 |
| 208:29-208:29 |
|
|
| A762: CallExpr |
| 208:33-208:55 |
|
| A755: NameExpr deep_collatz |
| 208:33-208:44 |
| defAt: A777 @ 201:17-210:23 |
|
|
| A761: Nodes<Expr> |
| 208:45-208:55 |
|
| A760: BinExpr ADD |
| 208:46-208:54 |
|
| A758: BinExpr MUL |
| 208:46-208:50 |
|
| A756: AtomExpr 3 |
| 208:46-208:46 |
|
|
| A757: NameExpr n |
| 208:50-208:50 |
| defAt: A736 @ 201:34-201:39 |
|
|
|
| A759: AtomExpr 1 |
| 208:54-208:54 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| A792: DefFunDefn toggle |
| 211:17-216:23 |
|
| A789: Nodes<ParDefn> |
| 211:27-211:34 |
|
| A779: ParDefn x |
| 211:28-211:33 |
|
| A778: NameType lb |
| 211:32-211:33 |
| defAt: A420 @ 126:9-126:18 |
|
|
|
|
| A780: NameType lb |
| 211:38-211:39 |
| defAt: A420 @ 126:9-126:18 |
|
|
| A791: Exprs |
| 212:21-216:23 |
|
| A790: Nodes<Expr> |
| 212:21-216:23 |
|
| A788: IfThenElseExpr |
| 212:21-216:23 |
|
| A781: NameExpr x |
| 212:24-212:24 |
| defAt: A779 @ 211:28-211:33 |
|
|
| A785: Exprs |
| 213:25-213:29 |
|
| A784: Nodes<Expr> |
| 213:25-213:29 |
|
| A782: AtomExpr false |
| 213:25-213:29 |
|
|
|
|
| A787: Exprs |
| 215:25-215:28 |
|
| A786: Nodes<Expr> |
| 215:25-215:28 |
|
| A783: AtomExpr true |
| 215:25-215:28 |
|
|
|
|
|
|
|
|
|
| A1054: Exprs |
| 218:17-273:19 |
|
| A1053: Nodes<Expr> |
| 218:17-273:19 |
|
| A801: AsgnExpr |
| 218:17-218:49 |
|
| A793: NameExpr deep1 |
| 218:17-218:21 |
| defAt: A698 @ 190:17-190:29 |
|
|
| A800: CallExpr |
| 218:25-218:49 |
|
| A794: NameExpr deep_pow |
| 218:25-218:32 |
| defAt: A734 @ 195:17-200:23 |
|
|
| A799: Nodes<Expr> |
| 218:33-218:49 |
|
| A795: AtomExpr 2 |
| 218:34-218:34 |
|
|
| A798: BinExpr MOD |
| 218:37-218:48 |
|
| A796: NameExpr counter |
| 218:37-218:43 |
| defAt: A557 @ 157:13-157:27 |
|
|
| A797: AtomExpr 10 |
| 218:47-218:48 |
|
|
|
|
|
|
| A812: AsgnExpr |
| 219:17-219:57 |
|
| A802: NameExpr deep2 |
| 219:17-219:21 |
| defAt: A700 @ 191:17-191:29 |
|
|
| A811: CallExpr |
| 219:25-219:57 |
|
| A803: NameExpr deep_collatz |
| 219:25-219:36 |
| defAt: A777 @ 201:17-210:23 |
|
|
| A810: Nodes<Expr> |
| 219:37-219:57 |
|
| A809: BinExpr ADD |
| 219:38-219:56 |
|
| A807: CallExpr |
| 219:38-219:52 |
|
| A804: NameExpr abs_val |
| 219:38-219:44 |
| defAt: A66 @ 20:1-25:7 |
|
|
| A806: Nodes<Expr> |
| 219:45-219:52 |
|
| A805: NameExpr result |
| 219:46-219:51 |
| defAt: A559 @ 158:13-158:26 |
|
|
|
|
| A808: AtomExpr 1 |
| 219:56-219:56 |
|
|
|
|
|
|
| A818: AsgnExpr |
| 220:17-220:40 |
|
| A813: NameExpr deep3 |
| 220:17-220:21 |
| defAt: A702 @ 192:17-192:29 |
|
|
| A817: CallExpr |
| 220:25-220:40 |
|
| A814: NameExpr toggle |
| 220:25-220:30 |
| defAt: A792 @ 211:17-216:23 |
|
|
| A816: Nodes<Expr> |
| 220:31-220:40 |
|
| A815: NameExpr shadow_f |
| 220:32-220:39 |
| defAt: A555 @ 156:13-156:28 |
|
|
|
|
|
| A825: AsgnExpr |
| 221:17-221:41 |
|
| A819: NameExpr deep4 |
| 221:17-221:21 |
| defAt: A704 @ 193:17-193:29 |
|
|
| A824: CallExpr |
| 221:25-221:41 |
|
| A820: NameExpr max |
| 221:25-221:27 |
| defAt: A85 @ 27:1-32:7 |
|
|
| A823: Nodes<Expr> |
| 221:28-221:41 |
|
| A821: NameExpr deep1 |
| 221:29-221:33 |
| defAt: A698 @ 190:17-190:29 |
|
|
| A822: NameExpr deep2 |
| 221:36-221:40 |
| defAt: A700 @ 191:17-191:29 |
|
|
|
|
|
| A835: AsgnExpr |
| 222:17-222:55 |
|
| A826: NameExpr flag |
| 222:17-222:20 |
| defAt: A15 @ 8:1-8:12 |
|
|
| A834: CallExpr |
| 222:24-222:55 |
|
| A827: NameExpr local_and |
| 222:24-222:32 |
| defAt: A451 @ 133:9-134:19 |
|
|
| A833: Nodes<Expr> |
| 222:33-222:55 |
|
| A828: NameExpr deep3 |
| 222:34-222:38 |
| defAt: A702 @ 192:17-192:29 |
|
|
| A832: CallExpr |
| 222:41-222:54 |
|
| A829: NameExpr is_even |
| 222:41-222:47 |
| defAt: A47 @ 17:1-18:14 |
|
|
| A831: Nodes<Expr> |
| 222:48-222:54 |
|
| A830: NameExpr deep4 |
| 222:49-222:53 |
| defAt: A704 @ 193:17-193:29 |
|
|
|
|
|
|
|
| A893: WhileExpr |
| 223:17-237:19 |
|
| A838: BinExpr GTH |
| 223:23-223:31 |
|
| A836: NameExpr deep4 |
| 223:23-223:27 |
| defAt: A704 @ 193:17-193:29 |
|
|
| A837: AtomExpr 0 |
| 223:31-223:31 |
|
|
|
| A892: Exprs |
| 224:21-236:23 |
|
| A891: Nodes<Expr> |
| 224:21-236:23 |
|
| A890: IfThenElseExpr |
| 224:21-236:23 |
|
| A842: CallExpr |
| 224:24-224:37 |
|
| A839: NameExpr is_even |
| 224:24-224:30 |
| defAt: A47 @ 17:1-18:14 |
|
|
| A841: Nodes<Expr> |
| 224:31-224:37 |
|
| A840: NameExpr deep4 |
| 224:32-224:36 |
| defAt: A704 @ 193:17-193:29 |
|
|
|
|
| A887: Exprs |
| 225:25-229:27 |
|
| A886: Nodes<Expr> |
| 225:25-229:27 |
|
| A860: IfThenElseExpr |
| 225:25-229:27 |
|
| A845: BinExpr GTH |
| 225:28-225:38 |
|
| A843: NameExpr deep4 |
| 225:28-225:32 |
| defAt: A704 @ 193:17-193:29 |
|
|
| A844: AtomExpr 100 |
| 225:36-225:38 |
|
|
|
| A857: Exprs |
| 226:29-226:45 |
|
| A856: Nodes<Expr> |
| 226:29-226:45 |
|
| A850: AsgnExpr |
| 226:29-226:45 |
|
| A846: NameExpr deep4 |
| 226:29-226:33 |
| defAt: A704 @ 193:17-193:29 |
|
|
| A849: BinExpr DIV |
| 226:37-226:45 |
|
| A847: NameExpr deep4 |
| 226:37-226:41 |
| defAt: A704 @ 193:17-193:29 |
|
|
| A848: AtomExpr 2 |
| 226:45-226:45 |
|
|
|
|
|
|
| A859: Exprs |
| 228:29-228:45 |
|
| A858: Nodes<Expr> |
| 228:29-228:45 |
|
| A855: AsgnExpr |
| 228:29-228:45 |
|
| A851: NameExpr deep4 |
| 228:29-228:33 |
| defAt: A704 @ 193:17-193:29 |
|
|
| A854: BinExpr SUB |
| 228:37-228:45 |
|
| A852: NameExpr deep4 |
| 228:37-228:41 |
| defAt: A704 @ 193:17-193:29 |
|
|
| A853: AtomExpr 1 |
| 228:45-228:45 |
|
|
|
|
|
|
|
|
|
| A889: Exprs |
| 231:25-235:27 |
|
| A888: Nodes<Expr> |
| 231:25-235:27 |
|
| A885: IfThenElseExpr |
| 231:25-235:27 |
|
| A866: CallExpr |
| 231:28-231:45 |
|
| A861: NameExpr is_zero |
| 231:28-231:34 |
| defAt: A35 @ 14:1-15:10 |
|
|
| A865: Nodes<Expr> |
| 231:35-231:45 |
|
| A864: BinExpr MOD |
| 231:36-231:44 |
|
| A862: NameExpr deep4 |
| 231:36-231:40 |
| defAt: A704 @ 193:17-193:29 |
|
|
| A863: AtomExpr 3 |
| 231:44-231:44 |
|
|
|
|
|
| A882: Exprs |
| 232:29-232:45 |
|
| A881: Nodes<Expr> |
| 232:29-232:45 |
|
| A871: AsgnExpr |
| 232:29-232:45 |
|
| A867: NameExpr deep4 |
| 232:29-232:33 |
| defAt: A704 @ 193:17-193:29 |
|
|
| A870: BinExpr SUB |
| 232:37-232:45 |
|
| A868: NameExpr deep4 |
| 232:37-232:41 |
| defAt: A704 @ 193:17-193:29 |
|
|
| A869: AtomExpr 3 |
| 232:45-232:45 |
|
|
|
|
|
|
| A884: Exprs |
| 234:29-234:57 |
|
| A883: Nodes<Expr> |
| 234:29-234:57 |
|
| A880: AsgnExpr |
| 234:29-234:57 |
|
| A872: NameExpr deep4 |
| 234:29-234:33 |
| defAt: A704 @ 193:17-193:29 |
|
|
| A879: BinExpr SUB |
| 234:37-234:57 |
|
| A877: BinExpr SUB |
| 234:37-234:53 |
|
| A875: BinExpr MUL |
| 234:37-234:45 |
|
| A873: NameExpr deep4 |
| 234:37-234:41 |
| defAt: A704 @ 193:17-193:29 |
|
|
| A874: AtomExpr 2 |
| 234:45-234:45 |
|
|
|
| A876: NameExpr deep4 |
| 234:49-234:53 |
| defAt: A704 @ 193:17-193:29 |
|
|
|
| A878: AtomExpr 1 |
| 234:57-234:57 |
|
|
|
|
|
|
|
|
|
|
|
|
|
| A1051: LetExpr |
| 238:17-273:19 |
|
| A1048: Nodes<Defn> |
| 239:21-259:27 |
|
| A895: VarDefn ultra1 |
| 239:21-239:34 |
|
| A894: NameType i |
| 239:34-239:34 |
| defAt: A1 @ 1:1-1:11 |
|
|
|
| A897: VarDefn ultra2 |
| 240:21-240:34 |
|
| A896: NameType b |
| 240:34-240:34 |
| defAt: A5 @ 3:1-3:12 |
|
|
|
| A899: VarDefn ultra3 |
| 241:21-241:34 |
|
| A898: NameType i |
| 241:34-241:34 |
| defAt: A1 @ 1:1-1:11 |
|
|
|
| A925: DefFunDefn ultra_gcd |
| 242:21-247:27 |
|
| A922: Nodes<ParDefn> |
| 242:34-242:47 |
|
| A901: ParDefn a |
| 242:35-242:39 |
|
| A900: NameType i |
| 242:39-242:39 |
| defAt: A1 @ 1:1-1:11 |
|
|
|
| A903: ParDefn b |
| 242:42-242:46 |
|
| A902: NameType i |
| 242:46-242:46 |
| defAt: A1 @ 1:1-1:11 |
|
|
|
|
| A904: NameType i |
| 242:51-242:51 |
| defAt: A1 @ 1:1-1:11 |
|
|
| A924: Exprs |
| 243:25-247:27 |
|
| A923: Nodes<Expr> |
| 243:25-247:27 |
|
| A921: IfThenElseExpr |
| 243:25-247:27 |
|
| A908: CallExpr |
| 243:28-243:37 |
|
| A905: NameExpr is_zero |
| 243:28-243:34 |
| defAt: A35 @ 14:1-15:10 |
|
|
| A907: Nodes<Expr> |
| 243:35-243:37 |
|
| A906: NameExpr b |
| 243:36-243:36 |
| defAt: A903 @ 242:42-242:46 |
|
|
|
|
| A918: Exprs |
| 244:29-244:29 |
|
| A917: Nodes<Expr> |
| 244:29-244:29 |
|
| A909: NameExpr a |
| 244:29-244:29 |
| defAt: A901 @ 242:35-242:39 |
|
|
|
|
| A920: Exprs |
| 246:29-246:47 |
|
| A919: Nodes<Expr> |
| 246:29-246:47 |
|
| A916: CallExpr |
| 246:29-246:47 |
|
| A910: NameExpr ultra_gcd |
| 246:29-246:37 |
| defAt: A925 @ 242:21-247:27 |
|
|
| A915: Nodes<Expr> |
| 246:38-246:47 |
|
| A911: NameExpr b |
| 246:39-246:39 |
| defAt: A903 @ 242:42-242:46 |
|
|
| A914: BinExpr MOD |
| 246:42-246:46 |
|
| A912: NameExpr a |
| 246:42-246:42 |
| defAt: A901 @ 242:35-242:39 |
|
|
| A913: NameExpr b |
| 246:46-246:46 |
| defAt: A903 @ 242:42-242:46 |
|
|
|
|
|
|
|
|
|
|
|
| A950: DefFunDefn ultra_sum |
| 248:21-253:27 |
|
| A947: Nodes<ParDefn> |
| 248:34-248:40 |
|
| A927: ParDefn n |
| 248:35-248:39 |
|
| A926: NameType i |
| 248:39-248:39 |
| defAt: A1 @ 1:1-1:11 |
|
|
|
|
| A928: NameType i |
| 248:44-248:44 |
| defAt: A1 @ 1:1-1:11 |
|
|
| A949: Exprs |
| 249:25-253:27 |
|
| A948: Nodes<Expr> |
| 249:25-253:27 |
|
| A946: IfThenElseExpr |
| 249:25-253:27 |
|
| A932: CallExpr |
| 249:28-249:37 |
|
| A929: NameExpr is_zero |
| 249:28-249:34 |
| defAt: A35 @ 14:1-15:10 |
|
|
| A931: Nodes<Expr> |
| 249:35-249:37 |
|
| A930: NameExpr n |
| 249:36-249:36 |
| defAt: A927 @ 248:35-248:39 |
|
|
|
|
| A943: Exprs |
| 250:29-250:29 |
|
| A942: Nodes<Expr> |
| 250:29-250:29 |
|
| A933: AtomExpr 0 |
| 250:29-250:29 |
|
|
|
|
| A945: Exprs |
| 252:29-252:48 |
|
| A944: Nodes<Expr> |
| 252:29-252:48 |
|
| A941: BinExpr ADD |
| 252:29-252:48 |
|
| A934: NameExpr n |
| 252:29-252:29 |
| defAt: A927 @ 248:35-248:39 |
|
|
| A940: CallExpr |
| 252:33-252:48 |
|
| A935: NameExpr ultra_sum |
| 252:33-252:41 |
| defAt: A950 @ 248:21-253:27 |
|
|
| A939: Nodes<Expr> |
| 252:42-252:48 |
|
| A938: BinExpr SUB |
| 252:43-252:47 |
|
| A936: NameExpr n |
| 252:43-252:43 |
| defAt: A927 @ 248:35-248:39 |
|
|
| A937: AtomExpr 1 |
| 252:47-252:47 |
|
|
|
|
|
|
|
|
|
|
|
|
| A977: DefFunDefn ultra_bits |
| 254:21-259:27 |
|
| A974: Nodes<ParDefn> |
| 254:35-254:41 |
|
| A952: ParDefn n |
| 254:36-254:40 |
|
| A951: NameType i |
| 254:40-254:40 |
| defAt: A1 @ 1:1-1:11 |
|
|
|
|
| A953: NameType i |
| 254:45-254:45 |
| defAt: A1 @ 1:1-1:11 |
|
|
| A976: Exprs |
| 255:25-259:27 |
|
| A975: Nodes<Expr> |
| 255:25-259:27 |
|
| A973: IfThenElseExpr |
| 255:25-259:27 |
|
| A957: CallExpr |
| 255:28-255:37 |
|
| A954: NameExpr is_zero |
| 255:28-255:34 |
| defAt: A35 @ 14:1-15:10 |
|
|
| A956: Nodes<Expr> |
| 255:35-255:37 |
|
| A955: NameExpr n |
| 255:36-255:36 |
| defAt: A952 @ 254:36-254:40 |
|
|
|
|
| A970: Exprs |
| 256:29-256:29 |
|
| A969: Nodes<Expr> |
| 256:29-256:29 |
|
| A958: AtomExpr 0 |
| 256:29-256:29 |
|
|
|
|
| A972: Exprs |
| 258:29-258:53 |
|
| A971: Nodes<Expr> |
| 258:29-258:53 |
|
| A968: BinExpr ADD |
| 258:29-258:53 |
|
| A961: BinExpr MOD |
| 258:29-258:33 |
|
| A959: NameExpr n |
| 258:29-258:29 |
| defAt: A952 @ 254:36-254:40 |
|
|
| A960: AtomExpr 2 |
| 258:33-258:33 |
|
|
|
| A967: CallExpr |
| 258:37-258:53 |
|
| A962: NameExpr ultra_bits |
| 258:37-258:46 |
| defAt: A977 @ 254:21-259:27 |
|
|
| A966: Nodes<Expr> |
| 258:47-258:53 |
|
| A965: BinExpr DIV |
| 258:48-258:52 |
|
| A963: NameExpr n |
| 258:48-258:48 |
| defAt: A952 @ 254:36-254:40 |
|
|
| A964: AtomExpr 2 |
| 258:52-258:52 |
|
|
|
|
|
|
|
|
|
|
|
|
|
| A1050: Exprs |
| 261:21-272:26 |
|
| A1049: Nodes<Expr> |
| 261:21-272:26 |
|
| A984: AsgnExpr |
| 261:21-261:52 |
|
| A978: NameExpr ultra1 |
| 261:21-261:26 |
| defAt: A895 @ 239:21-239:34 |
|
|
| A983: CallExpr |
| 261:30-261:52 |
|
| A979: NameExpr ultra_gcd |
| 261:30-261:38 |
| defAt: A925 @ 242:21-247:27 |
|
|
| A982: Nodes<Expr> |
| 261:39-261:52 |
|
| A980: NameExpr deep1 |
| 261:40-261:44 |
| defAt: A698 @ 190:17-190:29 |
|
|
| A981: NameExpr deep2 |
| 261:47-261:51 |
| defAt: A700 @ 191:17-191:29 |
|
|
|
|
|
| A990: AsgnExpr |
| 262:21-262:44 |
|
| A985: NameExpr ultra2 |
| 262:21-262:26 |
| defAt: A897 @ 240:21-240:34 |
|
|
| A989: CallExpr |
| 262:30-262:44 |
|
| A986: NameExpr is_even |
| 262:30-262:36 |
| defAt: A47 @ 17:1-18:14 |
|
|
| A988: Nodes<Expr> |
| 262:37-262:44 |
|
| A987: NameExpr ultra1 |
| 262:38-262:43 |
| defAt: A895 @ 239:21-239:34 |
|
|
|
|
|
| A1001: AsgnExpr |
| 263:21-263:66 |
|
| A991: NameExpr ultra3 |
| 263:21-263:26 |
| defAt: A899 @ 241:21-241:34 |
|
|
| A1000: CallExpr |
| 263:30-263:66 |
|
| A992: NameExpr ultra_sum |
| 263:30-263:38 |
| defAt: A950 @ 248:21-253:27 |
|
|
| A999: Nodes<Expr> |
| 263:39-263:66 |
|
| A998: CallExpr |
| 263:40-263:65 |
|
| A993: NameExpr ultra_bits |
| 263:40-263:49 |
| defAt: A977 @ 254:21-259:27 |
|
|
| A997: Nodes<Expr> |
| 263:50-263:65 |
|
| A996: BinExpr ADD |
| 263:51-263:64 |
|
| A994: NameExpr deep4 |
| 263:51-263:55 |
| defAt: A704 @ 193:17-193:29 |
|
|
| A995: NameExpr ultra1 |
| 263:59-263:64 |
| defAt: A895 @ 239:21-239:34 |
|
|
|
|
|
|
|
|
| A1009: AsgnExpr |
| 264:21-264:57 |
|
| A1002: NameExpr counter |
| 264:21-264:27 |
| defAt: A557 @ 157:13-157:27 |
|
|
| A1008: BinExpr ADD |
| 264:31-264:57 |
|
| A1003: NameExpr ultra3 |
| 264:31-264:36 |
| defAt: A899 @ 241:21-241:34 |
|
|
| A1007: CallExpr |
| 264:40-264:57 |
|
| A1004: NameExpr count_bits |
| 264:40-264:49 |
| defAt: A401 @ 109:1-114:7 |
|
|
| A1006: Nodes<Expr> |
| 264:50-264:57 |
|
| A1005: NameExpr ultra1 |
| 264:51-264:56 |
| defAt: A895 @ 239:21-239:34 |
|
|
|
|
|
|
| A1015: AsgnExpr |
| 265:21-265:47 |
|
| A1010: NameExpr result |
| 265:21-265:26 |
| defAt: A559 @ 158:13-158:26 |
|
|
| A1014: CallExpr |
| 265:30-265:47 |
|
| A1011: NameExpr ext_print |
| 265:30-265:38 |
| defAt: A22 @ 11:1-11:24 |
|
|
| A1013: Nodes<Expr> |
| 265:39-265:47 |
|
| A1012: NameExpr counter |
| 265:40-265:46 |
| defAt: A557 @ 157:13-157:27 |
|
|
|
|
|
| A1022: AsgnExpr |
| 266:21-266:51 |
|
| A1016: NameExpr flag |
| 266:21-266:24 |
| defAt: A15 @ 8:1-8:12 |
|
|
| A1021: CallExpr |
| 266:28-266:51 |
|
| A1017: NameExpr local_and |
| 266:28-266:36 |
| defAt: A451 @ 133:9-134:19 |
|
|
| A1020: Nodes<Expr> |
| 266:37-266:51 |
|
| A1018: NameExpr ultra2 |
| 266:38-266:43 |
| defAt: A897 @ 240:21-240:34 |
|
|
| A1019: NameExpr deep3 |
| 266:46-266:50 |
| defAt: A702 @ 192:17-192:29 |
|
|
|
|
|
| A1042: WhileExpr |
| 267:21-270:23 |
|
| A1025: BinExpr GTH |
| 267:27-267:36 |
|
| A1023: NameExpr ultra3 |
| 267:27-267:32 |
| defAt: A899 @ 241:21-241:34 |
|
|
| A1024: AtomExpr 0 |
| 267:36-267:36 |
|
|
|
| A1041: Exprs |
| 268:25-269:43 |
|
| A1040: Nodes<Expr> |
| 268:25-269:43 |
|
| A1034: AsgnExpr |
| 268:25-268:62 |
|
| A1026: NameExpr ultra1 |
| 268:25-268:30 |
| defAt: A895 @ 239:21-239:34 |
|
|
| A1033: CallExpr |
| 268:34-268:62 |
|
| A1027: NameExpr ultra_gcd |
| 268:34-268:42 |
| defAt: A925 @ 242:21-247:27 |
|
|
| A1032: Nodes<Expr> |
| 268:43-268:62 |
|
| A1028: NameExpr ultra3 |
| 268:44-268:49 |
| defAt: A899 @ 241:21-241:34 |
|
|
| A1031: BinExpr ADD |
| 268:52-268:61 |
|
| A1029: NameExpr ultra1 |
| 268:52-268:57 |
| defAt: A895 @ 239:21-239:34 |
|
|
| A1030: AtomExpr 1 |
| 268:61-268:61 |
|
|
|
|
|
|
| A1039: AsgnExpr |
| 269:25-269:43 |
|
| A1035: NameExpr ultra3 |
| 269:25-269:30 |
| defAt: A899 @ 241:21-241:34 |
|
|
| A1038: BinExpr SUB |
| 269:34-269:43 |
|
| A1036: NameExpr ultra3 |
| 269:34-269:39 |
| defAt: A899 @ 241:21-241:34 |
|
|
| A1037: AtomExpr 1 |
| 269:43-269:43 |
|
|
|
|
|
|
|
| A1046: CallExpr |
| 271:21-271:37 |
|
| A1043: NameExpr ext_print |
| 271:21-271:29 |
| defAt: A22 @ 11:1-11:24 |
|
|
| A1045: Nodes<Expr> |
| 271:30-271:37 |
|
| A1044: NameExpr result |
| 271:31-271:36 |
| defAt: A559 @ 158:13-158:26 |
|
|
|
|
| A1047: NameExpr ultra3 |
| 272:21-272:26 |
| defAt: A899 @ 241:21-241:34 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
test2.p26
// Slivnikov primer
typ a = int
fun f(x:a) : int =
let
typ a = char
var y : a
in
(x + y, 3)
end
|
|
| A0: AtomType INT |
| 2:9-2:11 |
|
|
|
| A22: DefFunDefn f |
| 3:1-9:7 |
|
| A19: Nodes<ParDefn> |
| 3:6-3:10 |
|
|
| A2: NameType a |
| 3:9-3:9 |
| defAt: A1 @ 2:1-2:11 |
|
|
|
|
| A4: AtomType INT |
| 3:14-3:16 |
|
|
|
|
|
| A15: Nodes<Defn> |
| 5:9-6:17 |
|
|
| A5: AtomType CHAR |
| 5:17-5:20 |
|
|
|
|
| A7: NameType a |
| 6:17-6:17 |
| defAt: A6 @ 5:9-5:20 |
|
|
|
|
|
| A16: Nodes<Expr> |
| 8:9-8:18 |
|
|
| A13: Nodes<Expr> |
| 8:9-8:18 |
|
| A11: BinExpr ADD |
| 8:10-8:14 |
|
| A9: NameExpr x |
| 8:10-8:10 |
| defAt: A3 @ 3:7-3:9 |
|
|
| A10: NameExpr y |
| 8:14-8:14 |
| defAt: A8 @ 6:9-6:17 |
|
|
|
| A12: AtomExpr 3 |
| 8:17-8:17 |
|
|
|
|
|
|
|
|
|
|
|
test3.p26
// Slivnikov primer
var i : int
typ s = (i:int, j:int)
typ s1 = s
typ s2 = s1
var a:s2
|
|
| A0: AtomType INT |
| 2:9-2:11 |
|
|
|
|
|
| A6: Nodes<CompDefn> |
| 3:10-3:21 |
|
|
| A2: AtomType INT |
| 3:12-3:14 |
|
|
|
|
| A4: AtomType INT |
| 3:19-3:21 |
|
|
|
|
|
|
|
| A9: NameType s |
| 4:10-4:10 |
| defAt: A8 @ 3:1-3:22 |
|
|
|
|
| A11: NameType s1 |
| 5:10-5:11 |
| defAt: A10 @ 4:1-4:10 |
|
|
|
|
| A13: NameType s2 |
| 6:7-6:8 |
| defAt: A12 @ 5:1-5:11 |
|
|
|
|
test4.p26
// cikel, ampak s kazalci
typ t1 = (i:int, n: ^t2)
typ t2 = (j:int, n: ^t1)
| A16: Nodes<Defn> |
| 2:1-3:24 |
|
|
|
| A5: Nodes<CompDefn> |
| 2:11-2:23 |
|
|
| A0: AtomType INT |
| 2:13-2:15 |
|
|
|
|
|
| A2: NameType t2 |
| 2:22-2:23 |
| defAt: A15 @ 3:1-3:24 |
|
|
|
|
|
|
|
|
|
| A13: Nodes<CompDefn> |
| 3:11-3:23 |
|
|
| A8: AtomType INT |
| 3:13-3:15 |
|
|
|
| A12: CompDefn n |
| 3:18-3:23 |
|
|
| A10: NameType t1 |
| 3:22-3:23 |
| defAt: A7 @ 2:1-2:24 |
|
|
|
|
|
|
|
|
test5.p26
// ciklicne definicije
typ t1 = (i:int, n: t2)
typ t2 = (j:int, n: t1)
fun a():int = b()
fun b():int = a()
| A30: Nodes<Defn> |
| 2:1-6:17 |
|
|
|
| A4: Nodes<CompDefn> |
| 2:11-2:22 |
|
|
| A0: AtomType INT |
| 2:13-2:15 |
|
|
|
|
| A2: NameType t2 |
| 2:21-2:22 |
| defAt: A13 @ 3:1-3:23 |
|
|
|
|
|
|
|
|
| A11: Nodes<CompDefn> |
| 3:11-3:22 |
|
|
| A7: AtomType INT |
| 3:13-3:15 |
|
|
|
| A10: CompDefn n |
| 3:18-3:22 |
|
| A9: NameType t1 |
| 3:21-3:22 |
| defAt: A6 @ 2:1-2:23 |
|
|
|
|
|
|
| A21: DefFunDefn a |
| 5:1-5:17 |
|
|
| A14: AtomType INT |
| 5:9-5:11 |
|
|
|
| A19: Nodes<Expr> |
| 5:15-5:17 |
|
|
| A15: NameExpr b |
| 5:15-5:15 |
| defAt: A29 @ 6:1-6:17 |
|
|
|
|
|
|
|
| A29: DefFunDefn b |
| 6:1-6:17 |
|
|
| A22: AtomType INT |
| 6:9-6:11 |
|
|
|
| A27: Nodes<Expr> |
| 6:15-6:17 |
|
|
| A23: NameExpr a |
| 6:15-6:15 |
| defAt: A21 @ 5:1-5:17 |
|
|
|
|
|
|
|
|
test6.p26
// ciklicne definicije
typ a = b
typ b = d
typ c = a
typ d = a
|
|
| A0: NameType b |
| 2:9-2:9 |
| defAt: A3 @ 3:1-3:9 |
|
|
|
|
| A2: NameType d |
| 3:9-3:9 |
| defAt: A7 @ 5:1-5:9 |
|
|
|
|
| A4: NameType a |
| 4:9-4:9 |
| defAt: A1 @ 2:1-2:9 |
|
|
|
|
| A6: NameType a |
| 5:9-5:9 |
| defAt: A1 @ 2:1-2:9 |
|
|
|
|
test7.p26
// vzajemna rekurzija
typ list = (first: int, rest:list)
|
| A6: TypDefn list |
| 2:1-2:34 |
|
|
| A4: Nodes<CompDefn> |
| 2:13-2:33 |
|
| A1: CompDefn first |
| 2:13-2:22 |
|
| A0: AtomType INT |
| 2:20-2:22 |
|
|
|
| A3: CompDefn rest |
| 2:25-2:33 |
|
| A2: NameType list |
| 2:30-2:33 |
| defAt: A6 @ 2:1-2:34 |
|
|
|
|
|
|
|
test8.p26
fun main():bool =
let
typ a=int
var c:a
in
c = 2,
c * c > c + c
end,
let
var c:b
typ b=int
in
c = 1,
c * c > c + c
end
| A41: Nodes<Defn> |
| 1:1-15:7 |
|
| A40: DefFunDefn main |
| 1:1-15:7 |
|
|
| A0: AtomType BOOL |
| 1:12-1:15 |
|
|
|
| A38: Nodes<Expr> |
| 2:5-15:7 |
|
|
| A15: Nodes<Defn> |
| 3:9-4:15 |
|
|
| A1: AtomType INT |
| 3:15-3:17 |
|
|
|
|
| A3: NameType a |
| 4:15-4:15 |
| defAt: A2 @ 3:9-3:17 |
|
|
|
|
|
| A16: Nodes<Expr> |
| 6:9-7:21 |
|
|
| A5: NameExpr c |
| 6:9-6:9 |
| defAt: A4 @ 4:9-4:15 |
|
|
|
|
| A14: BinExpr GTH |
| 7:9-7:21 |
|
| A10: BinExpr MUL |
| 7:9-7:13 |
|
| A8: NameExpr c |
| 7:9-7:9 |
| defAt: A4 @ 4:9-4:15 |
|
|
| A9: NameExpr c |
| 7:13-7:13 |
| defAt: A4 @ 4:9-4:15 |
|
|
|
| A13: BinExpr ADD |
| 7:17-7:21 |
|
| A11: NameExpr c |
| 7:17-7:17 |
| defAt: A4 @ 4:9-4:15 |
|
|
| A12: NameExpr c |
| 7:21-7:21 |
| defAt: A4 @ 4:9-4:15 |
|
|
|
|
|
|
|
|
| A33: Nodes<Defn> |
| 10:9-11:17 |
|
| A20: VarDefn c |
| 10:9-10:15 |
|
| A19: NameType b |
| 10:15-10:15 |
| defAt: A22 @ 11:9-11:17 |
|
|
|
| A22: TypDefn b |
| 11:9-11:17 |
|
| A21: AtomType INT |
| 11:15-11:17 |
|
|
|
|
|
| A34: Nodes<Expr> |
| 13:9-14:21 |
|
|
| A23: NameExpr c |
| 13:9-13:9 |
| defAt: A20 @ 10:9-10:15 |
|
|
| A24: AtomExpr 1 |
| 13:13-13:13 |
|
|
|
| A32: BinExpr GTH |
| 14:9-14:21 |
|
| A28: BinExpr MUL |
| 14:9-14:13 |
|
| A26: NameExpr c |
| 14:9-14:9 |
| defAt: A20 @ 10:9-10:15 |
|
|
| A27: NameExpr c |
| 14:13-14:13 |
| defAt: A20 @ 10:9-10:15 |
|
|
|
| A31: BinExpr ADD |
| 14:17-14:21 |
|
| A29: NameExpr c |
| 14:17-14:17 |
| defAt: A20 @ 10:9-10:15 |
|
|
| A30: NameExpr c |
| 14:21-14:21 |
| defAt: A20 @ 10:9-10:15 |
|
|
|
|
|
|
|
|
|
|
|
test9.p26
// vnaprejsnje deklaracije
typ a = b
typ b = int
fun f() : int = g()
fun g() : int = 1
| A18: Nodes<Defn> |
| 2:1-7:17 |
|
|
| A0: NameType b |
| 2:9-2:9 |
| defAt: A3 @ 3:1-3:11 |
|
|
|
|
| A2: AtomType INT |
| 3:9-3:11 |
|
|
|
| A11: DefFunDefn f |
| 6:1-6:19 |
|
|
| A4: AtomType INT |
| 6:11-6:13 |
|
|
|
| A9: Nodes<Expr> |
| 6:17-6:19 |
|
|
| A5: NameExpr g |
| 6:17-6:17 |
| defAt: A17 @ 7:1-7:17 |
|
|
|
|
|
|
|
| A17: DefFunDefn g |
| 7:1-7:17 |
|
|
| A12: AtomType INT |
| 7:11-7:13 |
|
|
|
| A15: Nodes<Expr> |
| 7:17-7:17 |
|
| A13: AtomExpr 1 |
| 7:17-7:17 |
|
|
|
|
|
|