source
prog
defn
TYP
1:1-1:3
typ
ID
1:5-1:12
randomid
EQUALS
1:14-1:14
=
type
INT
1:16-1:18
int
defn
FUN
2:1-2:3
fun
ID
2:5-2:7
abc
LBRACKET
2:9-2:9
(
RBRACKET
2:10-2:10
)
COLON
2:12-2:12
:
type
LBRACKET
2:14-2:14
(
ID
2:15-2:15
a
COLON
2:16-2:16
:
type
LSQUARE
2:17-2:17
[
NUM
2:18-2:18
1
RSQUARE
2:19-2:19
]
type
LSQUARE
2:20-2:20
[
NUM
2:21-2:21
2
RSQUARE
2:22-2:22
]
type
LSQUARE
2:23-2:23
[
NUM
2:24-2:24
4
RSQUARE
2:25-2:25
]
type
BOOL
2:26-2:29
bool
COMMA
2:30-2:30
,
ID
2:32-2:32
b
COLON
2:33-2:33
:
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
HAT
2:46-2:46
^
type
HAT
2:47-2:47
^
type
HAT
2:48-2:48
^
type
VOID
2:49-2:52
void
COMMA
2:53-2:53
,
ID
2:55-2:55
c
COLON
2:56-2:56
:
type
ID
2:58-2:65
randomid
COMMA
2:66-2:66
,
ID
2:68-2:68
x
COLON
2:69-2:69
:
type
LBRACKET
2:71-2:71
(
ID
2:72-2:72
d
COLON
2:74-2:74
:
type
INT
2:76-2:78
int
COMMA
2:79-2:79
,
ID
2:81-2:81
e
COLON
2:83-2:83
:
type
BOOL
2:85-2:88
bool
COMMA
2:89-2:89
,
ID
2:91-2:91
f
COLON
2:93-2:93
:
type
CHAR
2:95-2:98
char
COMMA
2:99-2:99
,
ID
2:101-2:101
g
COLON
2:103-2:103
:
type
LCURLY
2:105-2:105
{
ID
2:107-2:107
h
COLON
2:109-2:109
:
type
HAT
2:111-2:111
^
type
HAT
2:112-2:112
^
type
INT
2:113-2:115
int
COMMA
2:116-2:116
,
ID
2:118-2:118
i
COLON
2:119-2:119
:
type
VOID
2:121-2:124
void
RCURLY
2:125-2:125
}
RBRACKET
2:126-2:126
)
RBRACKET
2:128-2:128
)
EOF