source
prog
defn
FUN
4:1-4:3
fun
ID
4:5-4:5
f
LBRACKET
4:6-4:6
(
ID
4:7-4:7
a
COLON
4:8-4:8
:
type
INT
4:9-4:11
int
COMMA
4:12-4:12
,
ID
4:14-4:14
b
COLON
4:15-4:15
:
type
INT
4:16-4:18
int
RBRACKET
4:19-4:19
)
COLON
4:20-4:20
:
type
INT
4:21-4:23
int
EQUALS
4:24-4:24
=
expr
expr
ID
5:5-5:5
a
PLUS
5:7-5:7
+
expr
ID
5:9-5:9
b
COMMA
5:10-5:10
,
expr
LET
6:5-6:7
let
defn
VAR
6:9-6:11
var
ID
6:13-6:13
a
COLON
6:14-6:14
:
type
INT
6:15-6:17
int
defn
VAR
6:19-6:21
var
ID
6:23-6:23
b
COLON
6:24-6:24
:
type
INT
6:25-6:27
int
IN
6:29-6:30
in
expr
expr
ID
7:9-7:9
a
EQUALS
7:11-7:11
=
expr
NUM
7:13-7:13
0
COMMA
7:14-7:14
,
expr
expr
ID
8:9-8:9
b
EQUALS
8:11-8:11
=
expr
NUM
8:13-8:13
0
COMMA
8:14-8:14
,
expr
expr
ID
9:9-9:9
a
PLUS
9:11-9:11
+
expr
ID
9:13-9:13
b
END
10:5-10:7
end
EOF