source
prog
defn
TYP
1:1-1:3
typ
ID
1:5-1:12
randomid
EQUALS
1:14-1:14
=
type
VOID
1:16-1:19
void
defn
VAR
2:1-2:3
var
ID
2:5-2:7
id4
COLON
2:9-2:9
:
type
LBRACKET
2:11-2:11
(
ID
2:12-2:12
a
COLON
2:13-2:13
:
type
LSQUARE
2:14-2:14
[
NUM
2:15-2:15
1
RSQUARE
2:16-2:16
]
type
LSQUARE
2:17-2:17
[
NUM
2:18-2:18
2
RSQUARE
2:19-2:19
]
type
LSQUARE
2:20-2:20
[
NUM
2:21-2:21
4
RSQUARE
2:22-2:22
]
type
BOOL
2:23-2:26
bool
COMMA
2:27-2:27
,
ID
2:29-2:29
b
COLON
2:30-2:30
:
type
HAT
2:32-2:32
^
type
HAT
2:33-2:33
^
type
HAT
2:34-2:34
^
type
HAT
2:35-2:35
^
type
HAT
2:36-2:36
^
type
HAT
2:37-2:37
^
type
HAT
2:38-2:38
^
type
HAT
2:39-2:39
^
type
HAT
2:40-2:40
^
type
HAT
2:41-2:41
^
type
HAT
2:42-2:42
^
type
HAT
2:43-2:43
^
type
HAT
2:44-2:44
^
type
HAT
2:45-2:45
^
type
VOID
2:46-2:49
void
COMMA
2:50-2:50
,
ID
2:52-2:52
c
COLON
2:53-2:53
:
type
ID
2:55-2:62
randomid
COMMA
2:63-2:63
,
ID
2:65-2:65
x
COLON
2:66-2:66
:
type
LBRACKET
2:68-2:68
(
ID
2:69-2:69
d
COLON
2:71-2:71
:
type
INT
2:73-2:75
int
COMMA
2:76-2:76
,
ID
2:78-2:78
e
COLON
2:80-2:80
:
type
BOOL
2:82-2:85
bool
COMMA
2:86-2:86
,
ID
2:88-2:88
f
COLON
2:90-2:90
:
type
CHAR
2:92-2:95
char
COMMA
2:96-2:96
,
ID
2:98-2:98
g
COLON
2:100-2:100
:
type
LCURLY
2:102-2:102
{
ID
2:104-2:104
h
COLON
2:106-2:106
:
type
HAT
2:108-2:108
^
type
HAT
2:109-2:109
^
type
INT
2:110-2:112
int
COMMA
2:113-2:113
,
ID
2:115-2:115
i
COLON
2:116-2:116
:
type
VOID
2:118-2:121
void
RCURLY
2:122-2:122
}
RBRACKET
2:123-2:123
)
RBRACKET
2:125-2:125
)
EOF