source
prog
defn
TYP
1:1-1:3
typ
ID
1:5-1:5
a
EQUALS
1:7-1:7
=
type
LBRACKET
1:9-1:9
(
COLON
1:10-1:10
:
COLON
1:11-1:11
:
type
INT
1:12-1:14
int
RBRACKET
1:15-1:15
)
defn
FUN
2:1-2:3
fun
ID
2:5-2:5
f
LBRACKET
2:6-2:6
(
RBRACKET
2:7-2:7
)
COLON
2:9-2:9
:
type
LCURLY
2:11-2:11
{
RCURLY
2:12-2:12
}
EQUALS
2:14-2:14
=
expr
HAT
3:5-3:5
^
expr
expr
ID
3:6-3:6
a
HAT
3:7-3:7
^
EOF