source
prog
defn
FUN
1:1-1:3
fun
ID
1:5-1:8
main
LBRACKET
1:9-1:9
(
RBRACKET
1:10-1:10
)
COLON
1:11-1:11
:
type
BOOL
1:12-1:15
bool
EQUALS
1:17-1:17
=
expr
LET
2:5-2:7
let
defn
TYP
3:9-3:11
typ
ID
3:13-3:13
a
EQUALS
3:14-3:14
=
type
INT
3:15-3:17
int
defn
VAR
4:9-4:11
var
ID
4:13-4:13
c
COLON
4:14-4:14
:
type
ID
4:15-4:15
a
IN
5:5-5:6
in
expr
expr
ID
6:9-6:9
c
EQUALS
6:11-6:11
=
expr
NUM
6:13-6:13
2
COMMA
6:14-6:14
,
expr
expr
expr
ID
7:9-7:9
c
ASTERISK
7:11-7:11
*
expr
ID
7:13-7:13
c
GT
7:15-7:15
>
expr
expr
ID
7:17-7:17
c
PLUS
7:19-7:19
+
expr
ID
7:21-7:21
c
END
8:5-8:7
end
COMMA
8:8-8:8
,
expr
LET
9:5-9:7
let
defn
VAR
10:9-10:11
var
ID
10:13-10:13
c
COLON
10:14-10:14
:
type
ID
10:15-10:15
b
defn
TYP
11:9-11:11
typ
ID
11:13-11:13
b
EQUALS
11:14-11:14
=
type
INT
11:15-11:17
int
IN
12:5-12:6
in
expr
expr
ID
13:9-13:9
c
EQUALS
13:11-13:11
=
expr
NUM
13:13-13:13
1
COMMA
13:14-13:14
,
expr
expr
expr
ID
14:9-14:9
c
ASTERISK
14:11-14:11
*
expr
ID
14:13-14:13
c
GT
14:15-14:15
>
expr
expr
ID
14:17-14:17
c
PLUS
14:19-14:19
+
expr
ID
14:21-14:21
c
END
15:5-15:7
end
EOF