source
prog
defn
TYP
1:1-1:3
typ
ID
1:5-1:6
id
EQUALS
1:8-1:8
=
type
ID
1:10-1:10
T
defn
VAR
3:1-3:3
var
ID
3:5-3:6
id
COLON
3:8-3:8
:
type
ID
3:10-3:10
T
defn
FUN
5:1-5:3
fun
ID
5:5-5:6
id
LBRACKET
5:8-5:8
(
ID
5:9-5:12
par1
COLON
5:14-5:14
:
type
LCURLY
5:16-5:16
{
ID
5:18-5:18
a
COLON
5:19-5:19
:
type
LCURLY
5:21-5:21
{
RCURLY
5:22-5:22
}
COMMA
5:23-5:23
,
ID
5:25-5:25
b
COLON
5:26-5:26
:
type
LBRACKET
5:28-5:28
(
COLON
5:29-5:29
:
type
LCURLY
5:30-5:30
{
ID
5:31-5:31
a
COLON
5:32-5:32
:
type
LBRACKET
5:34-5:34
(
ID
5:36-5:36
g
COLON
5:38-5:38
:
type
INT
5:40-5:42
int
RBRACKET
5:43-5:43
)
RCURLY
5:44-5:44
}
COLON
5:45-5:45
:
type
BOOL
5:46-5:49
bool
RBRACKET
5:50-5:50
)
RCURLY
5:51-5:51
}
RBRACKET
5:52-5:52
)
COLON
5:54-5:54
:
type
LCURLY
5:56-5:56
{
RCURLY
5:57-5:57
}
defn
FUN
7:1-7:3
fun
ID
7:5-7:6
id
LBRACKET
7:8-7:8
(
RBRACKET
7:9-7:9
)
COLON
7:11-7:11
:
type
VOID
7:13-7:16
void
EQUALS
7:18-7:18
=
expr
NOT
7:20-7:22
not
expr
TRUE
7:24-7:27
true
COMMA
7:28-7:28
,
expr
PLUS
7:30-7:30
+
expr
NUM
7:31-7:33
100
COMMA
7:34-7:34
,
expr
MINUS
7:36-7:36
-
expr
NUM
7:37-7:39
100
COMMA
7:40-7:40
,
expr
expr
NUM
7:42-7:42
1
PLUS
7:43-7:43
+
expr
NUM
7:44-7:44
2
COMMA
7:45-7:45
,
expr
expr
NUM
7:47-7:47
1
MINUS
7:48-7:48
-
expr
NUM
7:49-7:49
3
COMMA
7:50-7:50
,
expr
expr
NUM
7:52-7:52
1
ASTERISK
7:53-7:53
*
expr
NUM
7:54-7:54
3
COMMA
7:55-7:55
,
expr
expr
NUM
7:57-7:57
4
ASTERISK
7:58-7:58
*
expr
NUM
7:59-7:60
22
COMMA
7:61-7:61
,
expr
expr
NUM
7:63-7:63
5
SLASH
7:64-7:64
/
expr
NUM
7:65-7:65
2
COMMA
7:66-7:66
,
expr
expr
NUM
7:68-7:69
35
PERCENT
7:70-7:70
%
expr
NUM
7:71-7:72
23
COMMA
7:73-7:73
,
expr
expr
TRUE
7:75-7:78
true
AND
7:80-7:82
and
expr
FALSE
7:84-7:88
false
COMMA
7:89-7:89
,
expr
expr
FALSE
7:91-7:95
false
OR
7:97-7:98
or
expr
TRUE
7:100-7:103
true
COMMA
7:104-7:104
,
expr
expr
ID
7:106-7:113
assignme
EQUALS
7:115-7:115
=
expr
NUM
7:117-7:117
1
COMMA
7:118-7:118
,
expr
expr
ID
7:121-7:121
a
EEQUALS
7:123-7:124
==
expr
ID
7:126-7:126
b
COMMA
7:127-7:127
,
expr
expr
NUM
7:129-7:131
234
GEQ
7:133-7:134
>=
expr
NUM
7:136-7:138
123
COMMA
7:139-7:139
,
expr
expr
NUM
7:141-7:142
23
LT
7:143-7:143
<
expr
NUM
7:144-7:146
235
COMMA
7:147-7:147
,
expr
expr
NUM
7:149-7:150
34
GT
7:151-7:151
>
expr
NUM
7:152-7:152
2
COMMA
7:154-7:154
,
expr
expr
NUM
7:156-7:156
3
LT
7:157-7:157
<
expr
NUM
7:158-7:158
5
COMMA
7:159-7:159
,
expr
expr
NUM
7:161-7:161
2
LEQ
7:162-7:163
<=
expr
NUM
7:164-7:164
2
EOF