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 
 VOID 
 1:11-1:14 
 void 
 EQUALS 
 1:16-1:16 
 = 
 expr 
 expr 
 ID 
 1:18-1:18 
 a 
 EQUALS 
 1:20-1:20 
 = 
 expr 
 expr 
 ID 
 1:22-1:22 
 b 
 OR 
 1:26-1:27 
 or 
 expr 
 expr 
 FALSE 
 1:29-1:33 
 false 
 AND 
 1:35-1:37 
 and 
 expr 
 expr 
 TRUE 
 1:39-1:42 
 true 
 NEQUALS 
 1:44-1:45 
 != 
 expr 
 expr 
 FALSE 
 1:47-1:51 
 false 
 PLUS 
 1:53-1:53 
 + 
 expr 
 expr 
 NUM 
 1:55-1:55 
 2 
 ASTERISK 
 1:57-1:57 
 * 
 expr 
 expr 
 NUM 
 1:59-1:59 
 4 
 HAT 
 1:61-1:61 
 ^ 
 EOF