source
prog
defn
VAR
1:1-1:3
var
ID
1:5-1:5
a
COLON
1:6-1:6
:
type
INT
1:8-1:10
int
defn
VAR
2:1-2:3
var
ID
2:5-2:5
b
COLON
2:6-2:6
:
type
INT
2:8-2:10
int
defn
FUN
3:1-3:3
fun
ID
3:5-3:8
main
LBRACKET
3:9-3:9
(
RBRACKET
3:10-3:10
)
COLON
3:11-3:11
:
type
INT
3:13-3:15
int
EQUALS
3:17-3:17
=
expr
expr
ID
4:5-4:5
a
EQUALS
4:7-4:7
=
expr
NUM
4:9-4:9
0
COMMA
4:10-4:10
,
expr
expr
ID
5:5-5:5
b
EQUALS
5:7-5:7
=
expr
NUM
5:9-5:9
0
COMMA
5:10-5:10
,
expr
WHILE
6:5-6:9
while
expr
expr
ID
6:11-6:11
a
LT
6:13-6:13
<
expr
NUM
6:15-6:17
100
DO
6:19-6:20
do
expr
WHILE
7:13-7:17
while
expr
expr
ID
7:19-7:19
b
LT
7:21-7:21
<
expr
NUM
7:23-7:28
100000
DO
7:30-7:31
do
expr
expr
ID
8:17-8:17
b
EQUALS
8:19-8:19
=
expr
expr
ID
8:21-8:21
b
PLUS
8:23-8:23
+
expr
NUM
8:25-8:25
2
END
9:13-9:15
end
COMMA
9:16-9:16
,
expr
expr
ID
10:13-10:13
a
EQUALS
10:15-10:15
=
expr
expr
ID
10:17-10:17
a
PLUS
10:19-10:19
+
expr
NUM
10:21-10:21
1
END
11:5-11:7
end
EOF