1:1-1:3   TYP   typ 
 1:5-1:5   ID   T 
 1:7-1:7   EQUALS   = 
 1:9-1:11   INT   int 
 3:1-3:3   TYP   typ 
 3:5-3:9   ID   idtyp 
 3:11-3:11   EQUALS   = 
 3:13-3:13   ID   T 
 5:1-5:3   VAR   var 
 5:5-5:9   ID   idvar 
 5:11-5:11   COLON   : 
 5:13-5:13   ID   T 
 7:1-7:3   FUN   fun 
 7:5-7:10   ID   idfun1 
 7:12-7:12   LBRACKET   ( 
 7:13-7:16   ID   par1 
 7:18-7:18   COLON   : 
 7:20-7:20   LCURLY   { 
 7:22-7:22   ID   a 
 7:23-7:23   COLON   : 
 7:25-7:25   LCURLY   { 
 7:26-7:26   ID   a 
 7:27-7:27   COLON   : 
 7:29-7:29   ID   T 
 7:30-7:30   RCURLY   } 
 7:31-7:31   COMMA   , 
 7:33-7:33   ID   b 
 7:34-7:34   COLON   : 
 7:36-7:36   LBRACKET   ( 
 7:37-7:37   COLON   : 
 7:38-7:38   LCURLY   { 
 7:39-7:39   ID   a 
 7:40-7:40   COLON   : 
 7:42-7:42   LBRACKET   ( 
 7:44-7:44   ID   g 
 7:46-7:46   COLON   : 
 7:48-7:50   INT   int 
 7:51-7:51   RBRACKET   ) 
 7:52-7:52   RCURLY   } 
 7:53-7:53   COLON   : 
 7:54-7:57   BOOL   bool 
 7:58-7:58   RBRACKET   ) 
 7:59-7:59   RCURLY   } 
 7:60-7:60   RBRACKET   ) 
 7:62-7:62   COLON   : 
 7:64-7:64   LCURLY   { 
 7:65-7:65   ID   a 
 7:66-7:66   COLON   : 
 7:68-7:70   INT   int 
 7:71-7:71   RCURLY   } 
 9:1-9:3   FUN   fun 
 9:5-9:10   ID   idfun2 
 9:12-9:12   LBRACKET   ( 
 9:13-9:13   RBRACKET   ) 
 9:15-9:15   COLON   : 
 9:17-9:20   VOID   void 
 9:22-9:22   EQUALS   = 
 9:24-9:26   NOT   not 
 9:28-9:31   TRUE   true 
 9:32-9:32   COMMA   , 
 9:34-9:34   PLUS   + 
 9:35-9:37   NUM   100 
 9:38-9:38   COMMA   , 
 9:40-9:40   MINUS   - 
 9:41-9:43   NUM   100 
 9:44-9:44   COMMA   , 
 9:46-9:46   NUM   1 
 9:47-9:47   PLUS   + 
 9:48-9:48   NUM   2 
 9:49-9:49   COMMA   , 
 9:51-9:51   NUM   1 
 9:52-9:52   MINUS   - 
 9:53-9:53   NUM   3 
 9:54-9:54   COMMA   , 
 9:56-9:56   NUM   1 
 9:57-9:57   ASTERISK   * 
 9:58-9:58   NUM   3 
 9:59-9:59   COMMA   , 
 9:61-9:61   NUM   4 
 9:62-9:62   ASTERISK   * 
 9:63-9:64   NUM   22 
 9:65-9:65   COMMA   , 
 9:67-9:67   NUM   5 
 9:68-9:68   SLASH   / 
 9:69-9:69   NUM   2 
 9:70-9:70   COMMA   , 
 9:72-9:73   NUM   35 
 9:74-9:74   PERCENT   % 
 9:75-9:76   NUM   23 
 9:77-9:77   COMMA   , 
 9:79-9:82   TRUE   true 
 9:84-9:86   AND   and 
 9:88-9:92   FALSE   false 
 9:93-9:93   COMMA   , 
 9:95-9:99   FALSE   false 
 9:101-9:102   OR   or 
 9:104-9:107   TRUE   true 
 9:108-9:108   COMMA   , 
 9:110-9:112   LET   let 
 9:114-9:116   VAR   var 
 9:118-9:125   ID   assignme 
 9:127-9:127   COLON   : 
 9:129-9:131   INT   int 
 9:133-9:135   VAR   var 
 9:137-9:137   ID   a 
 9:139-9:139   COLON   : 
 9:141-9:144   BOOL   bool 
 9:146-9:148   VAR   var 
 9:150-9:150   ID   b 
 9:152-9:152   COLON   : 
 9:154-9:157   BOOL   bool 
 9:159-9:160   IN   in 
 9:162-9:169   ID   assignme 
 9:171-9:171   EQUALS   = 
 9:173-9:173   NUM   1 
 9:174-9:174   COMMA   , 
 9:177-9:177   ID   a 
 9:179-9:180   EEQUALS   == 
 9:182-9:182   ID   b 
 9:184-9:186   END   end 
 9:187-9:187   COMMA   , 
 9:189-9:191   NUM   234 
 9:193-9:194   GEQ   >= 
 9:196-9:198   NUM   123 
 9:199-9:199   COMMA   , 
 9:201-9:202   NUM   23 
 9:203-9:203   LT   < 
 9:204-9:206   NUM   235 
 9:207-9:207   COMMA   , 
 9:209-9:210   NUM   34 
 9:211-9:211   GT   > 
 9:212-9:212   NUM   2 
 9:214-9:214   COMMA   , 
 9:216-9:216   NUM   3 
 9:217-9:217   LT   < 
 9:218-9:218   NUM   5 
 9:219-9:219   COMMA   , 
 9:221-9:221   NUM   2 
 9:222-9:223   LEQ   <= 
 9:224-9:224   NUM   2 
    EOF