source 
 prog 
 defn 
 FUN 
 1:1-1:3 
 fun 
 ID 
 1:5-1:5 
 f 
 LBRACKET 
 1:6-1:6 
 ( 
 RBRACKET 
 1:7-1:7 
 ) 
 COLON 
 1:9-1:9 
 : 
 type 
 BOOL 
 1:11-1:14 
 bool 
 EQUALS 
 1:16-1:16 
 = 
 expr 
 expr 
 expr 
 expr 
 expr 
 NOT 
 1:18-1:20 
 not 
 expr 
 ID 
 1:22-1:22 
 a 
 PLUS 
 1:23-1:23 
 + 
 expr 
 expr 
 ID 
 1:24-1:24 
 b 
 ASTERISK 
 1:25-1:25 
 * 
 expr 
 ID 
 1:26-1:26 
 b 
 PLUS 
 1:27-1:27 
 + 
 expr 
 ID 
 1:28-1:28 
 a 
 MINUS 
 1:29-1:29 
 - 
 expr 
 expr 
 ID 
 1:30-1:30 
 c 
 PERCENT 
 1:32-1:32 
 % 
 expr 
 NUM 
 1:34-1:35 
 10 
 AS 
 1:37-1:38 
 as 
 type 
 INT 
 1:40-1:42 
 int 
 EOF