source
prog
defn
TYP
1:1-1:3
typ
ID
1:5-1:7
idt
EQUALS
1:9-1:9
=
type
INT
1:11-1:13
int
defn
VAR
3:1-3:3
var
ID
3:5-3:7
idv
COLON
3:9-3:9
:
type
LSQUARE
3:11-3:11
[
NUM
3:12-3:13
10
RSQUARE
3:14-3:14
]
type
ID
3:15-3:17
idt
defn
FUN
5:1-5:3
fun
ID
5:5-5:7
idf
LBRACKET
5:9-5:9
(
ID
5:11-5:13
id1
COLON
5:15-5:15
:
type
ID
5:17-5:18
T1
COMMA
5:20-5:20
,
ID
5:22-5:24
id2
COLON
5:26-5:26
:
type
ID
5:28-5:29
T2
COMMA
5:31-5:31
,
ID
5:33-5:35
id3
COLON
5:37-5:37
:
type
ID
5:39-5:40
T3
RBRACKET
5:42-5:42
)
COLON
5:44-5:44
:
type
ID
5:46-5:48
idt
defn
FUN
7:1-7:3
fun
ID
7:5-7:8
idff
LBRACKET
7:10-7:10
(
ID
7:12-7:14
abc
COLON
7:16-7:16
:
type
ID
7:18-7:19
id
RBRACKET
7:20-7:20
)
COLON
7:22-7:22
:
type
ID
7:24-7:26
idt
EQUALS
7:28-7:28
=
expr
NUM
7:30-7:30
1
COMMA
7:31-7:31
,
expr
NUM
7:33-7:33
2
COMMA
7:34-7:34
,
expr
NUM
7:36-7:36
3
COMMA
7:37-7:37
,
expr
WHILE
7:39-7:43
while
expr
NUM
7:45-7:45
2
DO
7:47-7:48
do
expr
NUM
7:50-7:50
1
COMMA
7:51-7:51
,
expr
NUM
7:53-7:53
2
COMMA
7:54-7:54
,
expr
NUM
7:56-7:56
3
END
7:58-7:60
end
EOF