source
prog
defn
VAR
1:1-1:3
var
ID
1:5-1:5
b
COLON
1:7-1:7
:
type
INT
1:9-1:11
int
defn
FUN
2:1-2:3
fun
ID
2:5-2:5
f
LBRACKET
2:6-2:6
(
ID
2:7-2:7
a
COLON
2:9-2:9
:
type
INT
2:11-2:13
int
RBRACKET
2:14-2:14
)
COLON
2:16-2:16
:
type
VOID
2:18-2:21
void
EQUALS
2:23-2:23
=
expr
expr
ID
2:25-2:25
a
EQUALS
2:27-2:27
=
expr
expr
ID
2:29-2:29
b
OR
2:33-2:34
or
expr
expr
FALSE
2:36-2:40
false
AND
2:42-2:44
and
expr
expr
TRUE
2:46-2:49
true
NEQUALS
2:51-2:52
!=
expr
expr
FALSE
2:54-2:58
false
PLUS
2:60-2:60
+
expr
expr
NUM
2:62-2:62
2
ASTERISK
2:64-2:64
*
expr
expr
NUM
2:66-2:66
4
HAT
2:68-2:68
^
EOF