| 1:1-1:3 |
TYP |
typ |
| 1:5-1:5 |
ID |
i |
| 1:7-1:7 |
EQUALS |
= |
| 1:9-1:11 |
INT |
int |
| 2:1-2:3 |
TYP |
typ |
| 2:5-2:5 |
ID |
c |
| 2:7-2:7 |
EQUALS |
= |
| 2:9-2:12 |
CHAR |
char |
| 3:1-3:3 |
TYP |
typ |
| 3:5-3:5 |
ID |
b |
| 3:7-3:7 |
EQUALS |
= |
| 3:9-3:12 |
BOOL |
bool |
| 5:1-5:3 |
VAR |
var |
| 5:5-5:6 |
ID |
g1 |
| 5:8-5:8 |
COLON |
: |
| 5:10-5:10 |
ID |
i |
| 6:1-6:3 |
VAR |
var |
| 6:5-6:6 |
ID |
g2 |
| 6:8-6:8 |
COLON |
: |
| 6:10-6:10 |
ID |
i |
| 8:1-8:3 |
FUN |
fun |
| 8:5-8:7 |
ID |
ext |
| 8:8-8:8 |
LBRACKET |
( |
| 8:9-8:9 |
ID |
a |
| 8:11-8:11 |
COLON |
: |
| 8:13-8:13 |
ID |
i |
| 8:14-8:14 |
COMMA |
, |
| 8:16-8:17 |
ID |
bb |
| 8:19-8:19 |
COLON |
: |
| 8:21-8:21 |
ID |
i |
| 8:22-8:22 |
RBRACKET |
) |
| 8:24-8:24 |
COLON |
: |
| 8:26-8:26 |
ID |
i |
| 10:1-10:3 |
FUN |
fun |
| 10:5-10:10 |
ID |
helper |
| 10:11-10:11 |
LBRACKET |
( |
| 10:12-10:12 |
ID |
x |
| 10:14-10:14 |
COLON |
: |
| 10:16-10:16 |
ID |
i |
| 10:17-10:17 |
RBRACKET |
) |
| 10:19-10:19 |
COLON |
: |
| 10:21-10:21 |
ID |
b |
| 10:23-10:23 |
EQUALS |
= |
| 11:5-11:5 |
ID |
x |
| 11:7-11:8 |
EEQUALS |
== |
| 11:10-11:10 |
NUM |
0 |
| 13:1-13:3 |
FUN |
fun |
| 13:5-13:7 |
ID |
fib |
| 13:8-13:8 |
LBRACKET |
( |
| 13:9-13:9 |
ID |
n |
| 13:11-13:11 |
COLON |
: |
| 13:13-13:13 |
ID |
i |
| 13:14-13:14 |
RBRACKET |
) |
| 13:16-13:16 |
COLON |
: |
| 13:18-13:18 |
ID |
i |
| 13:20-13:20 |
EQUALS |
= |
| 14:5-14:6 |
IF |
if |
| 14:8-14:8 |
ID |
n |
| 14:10-14:11 |
EEQUALS |
== |
| 14:13-14:13 |
NUM |
0 |
| 14:15-14:18 |
THEN |
then |
| 15:9-15:9 |
NUM |
0 |
| 16:5-16:8 |
ELSE |
else |
| 17:9-17:10 |
IF |
if |
| 17:12-17:12 |
ID |
n |
| 17:14-17:15 |
EEQUALS |
== |
| 17:17-17:17 |
NUM |
1 |
| 17:19-17:22 |
THEN |
then |
| 18:13-18:13 |
NUM |
1 |
| 19:9-19:12 |
ELSE |
else |
| 20:13-20:15 |
ID |
fib |
| 20:16-20:16 |
LBRACKET |
( |
| 20:17-20:17 |
ID |
n |
| 20:19-20:19 |
MINUS |
- |
| 20:21-20:21 |
NUM |
1 |
| 20:22-20:22 |
RBRACKET |
) |
| 20:24-20:24 |
PLUS |
+ |
| 20:26-20:28 |
ID |
fib |
| 20:29-20:29 |
LBRACKET |
( |
| 20:30-20:30 |
ID |
n |
| 20:32-20:32 |
MINUS |
- |
| 20:34-20:34 |
NUM |
2 |
| 20:35-20:35 |
RBRACKET |
) |
| 21:9-21:11 |
END |
end |
| 22:5-22:7 |
END |
end |
| 24:1-24:3 |
FUN |
fun |
| 24:5-24:8 |
ID |
main |
| 24:9-24:9 |
LBRACKET |
( |
| 24:10-24:10 |
RBRACKET |
) |
| 24:12-24:12 |
COLON |
: |
| 24:14-24:14 |
ID |
i |
| 24:16-24:16 |
EQUALS |
= |
| 25:5-25:7 |
LET |
let |
| 26:9-26:11 |
VAR |
var |
| 26:13-26:18 |
ID |
local1 |
| 26:20-26:20 |
COLON |
: |
| 26:22-26:22 |
ID |
i |
| 27:9-27:11 |
VAR |
var |
| 27:13-27:18 |
ID |
local2 |
| 27:20-27:20 |
COLON |
: |
| 27:22-27:22 |
ID |
i |
| 28:9-28:11 |
TYP |
typ |
| 28:13-28:14 |
ID |
li |
| 28:16-28:16 |
EQUALS |
= |
| 28:18-28:18 |
ID |
i |
| 29:9-29:11 |
FUN |
fun |
| 29:13-29:17 |
ID |
inner |
| 29:18-29:18 |
LBRACKET |
( |
| 29:19-29:19 |
ID |
a |
| 29:21-29:21 |
COLON |
: |
| 29:23-29:24 |
ID |
li |
| 29:25-29:25 |
COMMA |
, |
| 29:27-29:28 |
ID |
bb |
| 29:30-29:30 |
COLON |
: |
| 29:32-29:33 |
ID |
li |
| 29:34-29:34 |
RBRACKET |
) |
| 29:36-29:36 |
COLON |
: |
| 29:38-29:39 |
ID |
li |
| 29:41-29:41 |
EQUALS |
= |
| 30:13-30:15 |
LET |
let |
| 31:17-31:19 |
VAR |
var |
| 31:21-31:23 |
ID |
tmp |
| 31:25-31:25 |
COLON |
: |
| 31:27-31:28 |
ID |
li |
| 32:13-32:14 |
IN |
in |
| 33:17-33:19 |
ID |
tmp |
| 33:21-33:21 |
EQUALS |
= |
| 33:23-33:23 |
ID |
a |
| 33:25-33:25 |
PLUS |
+ |
| 33:27-33:28 |
ID |
bb |
| 33:29-33:29 |
COMMA |
, |
| 34:17-34:19 |
ID |
tmp |
| 34:21-34:21 |
ASTERISK |
* |
| 34:23-34:23 |
NUM |
2 |
| 35:13-35:15 |
END |
end |
| 36:5-36:6 |
IN |
in |
| 37:9-37:10 |
ID |
g1 |
| 37:12-37:12 |
EQUALS |
= |
| 37:14-37:15 |
NUM |
10 |
| 37:16-37:16 |
COMMA |
, |
| 38:9-38:10 |
ID |
g2 |
| 38:12-38:12 |
EQUALS |
= |
| 38:14-38:15 |
NUM |
20 |
| 38:16-38:16 |
COMMA |
, |
| 39:9-39:14 |
ID |
local1 |
| 39:16-39:16 |
EQUALS |
= |
| 39:18-39:20 |
ID |
fib |
| 39:21-39:21 |
LBRACKET |
( |
| 39:22-39:23 |
ID |
g1 |
| 39:24-39:24 |
RBRACKET |
) |
| 39:25-39:25 |
COMMA |
, |
| 40:9-40:14 |
ID |
local2 |
| 40:16-40:16 |
EQUALS |
= |
| 40:18-40:22 |
ID |
inner |
| 40:23-40:23 |
LBRACKET |
( |
| 40:24-40:25 |
ID |
g1 |
| 40:26-40:26 |
COMMA |
, |
| 40:28-40:29 |
ID |
g2 |
| 40:30-40:30 |
RBRACKET |
) |
| 40:31-40:31 |
COMMA |
, |
| 41:9-41:11 |
LET |
let |
| 42:13-42:15 |
VAR |
var |
| 42:17-42:22 |
ID |
shadow |
| 42:24-42:24 |
COLON |
: |
| 42:26-42:26 |
ID |
b |
| 43:13-43:15 |
VAR |
var |
| 43:17-43:18 |
ID |
g1 |
| 43:20-43:20 |
COLON |
: |
| 43:22-43:22 |
ID |
b |
| 44:9-44:10 |
IN |
in |
| 45:13-45:18 |
ID |
shadow |
| 45:20-45:20 |
EQUALS |
= |
| 45:22-45:27 |
ID |
helper |
| 45:28-45:28 |
LBRACKET |
( |
| 45:29-45:34 |
ID |
local1 |
| 45:35-45:35 |
RBRACKET |
) |
| 45:36-45:36 |
COMMA |
, |
| 46:13-46:14 |
ID |
g1 |
| 46:16-46:16 |
EQUALS |
= |
| 46:18-46:23 |
ID |
shadow |
| 46:25-46:27 |
AND |
and |
| 46:29-46:32 |
TRUE |
true |
| 46:34-46:35 |
OR |
or |
| 46:37-46:41 |
FALSE |
false |
| 46:42-46:42 |
COMMA |
, |
| 47:13-47:15 |
LET |
let |
| 48:17-48:19 |
VAR |
var |
| 48:21-48:24 |
ID |
deep |
| 48:26-48:26 |
COLON |
: |
| 48:28-48:28 |
ID |
i |
| 49:13-49:14 |
IN |
in |
| 50:17-50:20 |
ID |
deep |
| 50:22-50:22 |
EQUALS |
= |
| 50:24-50:26 |
ID |
ext |
| 50:27-50:27 |
LBRACKET |
( |
| 50:28-50:33 |
ID |
local1 |
| 50:34-50:34 |
COMMA |
, |
| 50:36-50:41 |
ID |
local2 |
| 50:42-50:42 |
RBRACKET |
) |
| 50:43-50:43 |
COMMA |
, |
| 51:17-51:18 |
IF |
if |
| 51:20-51:25 |
ID |
helper |
| 51:26-51:26 |
LBRACKET |
( |
| 51:27-51:30 |
ID |
deep |
| 51:31-51:31 |
RBRACKET |
) |
| 51:33-51:36 |
THEN |
then |
| 52:21-52:22 |
ID |
g2 |
| 52:24-52:24 |
EQUALS |
= |
| 52:26-52:29 |
ID |
deep |
| 52:31-52:31 |
PLUS |
+ |
| 52:33-52:33 |
NUM |
1 |
| 53:17-53:20 |
ELSE |
else |
| 54:21-54:22 |
ID |
g2 |
| 54:24-54:24 |
EQUALS |
= |
| 54:26-54:29 |
ID |
deep |
| 54:31-54:31 |
MINUS |
- |
| 54:33-54:33 |
NUM |
1 |
| 55:17-55:19 |
END |
end |
| 55:20-55:20 |
COMMA |
, |
| 56:17-56:21 |
WHILE |
while |
| 56:23-56:24 |
ID |
g2 |
| 56:26-56:26 |
GT |
> |
| 56:28-56:28 |
NUM |
0 |
| 56:30-56:31 |
DO |
do |
| 57:21-57:22 |
IF |
if |
| 57:24-57:25 |
ID |
g2 |
| 57:27-57:27 |
PERCENT |
% |
| 57:29-57:29 |
NUM |
2 |
| 57:31-57:32 |
EEQUALS |
== |
| 57:34-57:34 |
NUM |
0 |
| 57:36-57:39 |
THEN |
then |
| 58:25-58:26 |
ID |
g2 |
| 58:28-58:28 |
EQUALS |
= |
| 58:30-58:31 |
ID |
g2 |
| 58:33-58:33 |
MINUS |
- |
| 58:35-58:35 |
NUM |
1 |
| 59:21-59:24 |
ELSE |
else |
| 60:25-60:26 |
ID |
g2 |
| 60:28-60:28 |
EQUALS |
= |
| 60:30-60:31 |
ID |
g2 |
| 60:33-60:33 |
ASTERISK |
* |
| 60:35-60:35 |
NUM |
2 |
| 60:37-60:37 |
MINUS |
- |
| 60:39-60:39 |
NUM |
3 |
| 61:21-61:23 |
END |
end |
| 62:17-62:19 |
END |
end |
| 62:20-62:20 |
COMMA |
, |
| 63:17-63:20 |
ID |
deep |
| 64:13-64:15 |
END |
end |
| 65:9-65:11 |
END |
end |
| 66:5-66:7 |
END |
end |
| |
EOF |
|