Update c_src. Enable one gcc pass bootstrap.
[nit.git] / c_src / lexer._sep.c
index 0631f44..d3b7ca2 100644 (file)
@@ -1,39 +1,45 @@
 /* This C file is generated by NIT to compile module lexer. */
 #include "lexer._sep.h"
 val_t lexer___Token___text(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_lexer, 8, LOCATE_lexer___Token___text};
+  struct trace_t trace = {NULL, NULL, 8, LOCATE_lexer___Token___text};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_lexer;
   tracehead = trace.prev;
   return ATTR_lexer___Token____text( self) /*Token::_text*/;
 }
 void lexer___Token___text__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_lexer, 8, LOCATE_lexer___Token___text__eq};
+  struct trace_t trace = {NULL, NULL, 8, LOCATE_lexer___Token___text__eq};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_lexer;
   ATTR_lexer___Token____text( self) /*Token::_text*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t lexer___Token___filename(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_lexer, 9, LOCATE_lexer___Token___filename};
+  struct trace_t trace = {NULL, NULL, 9, LOCATE_lexer___Token___filename};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_lexer;
   tracehead = trace.prev;
   return ATTR_lexer___Token____filename( self) /*Token::_filename*/;
 }
 val_t lexer___Token___line(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_lexer, 10, LOCATE_lexer___Token___line};
+  struct trace_t trace = {NULL, NULL, 10, LOCATE_lexer___Token___line};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_lexer;
   tracehead = trace.prev;
   return ATTR_lexer___Token____line( self) /*Token::_line*/;
 }
 val_t lexer___Token___pos(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_lexer, 11, LOCATE_lexer___Token___pos};
+  struct trace_t trace = {NULL, NULL, 11, LOCATE_lexer___Token___pos};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_lexer;
   tracehead = trace.prev;
   return ATTR_lexer___Token____pos( self) /*Token::_pos*/;
 }
 val_t lexer___Token___parser_index(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_lexer, 13, LOCATE_lexer___Token___parser_index};
+  struct trace_t trace = {NULL, NULL, 13, LOCATE_lexer___Token___parser_index};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_lexer;
   fprintf(stderr, "Deferred method %s called");
   fprintf(stderr, " (%s:%d)\n", LOCATE_lexer, 13);
   nit_exit(1);
@@ -41,7 +47,7 @@ val_t lexer___Token___parser_index(val_t  self) {
   return NIT_NULL;
 }
 val_t lexer___Token___to_s(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_lexer, 15, LOCATE_lexer___Token___to_s};
+  struct trace_t trace = {NULL, NULL, 15, LOCATE_lexer___Token___to_s};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -50,6 +56,7 @@ val_t lexer___Token___to_s(val_t  self) {
   val_t variable5;
   val_t variable6;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_lexer;
   variable0 = NEW_string___String___init(); /*new String*/
   variable1 = NEW_string___String___with_native(BOX_NativeString("'"), TAG_Int(1)); /*new String*/
   variable2 = variable1;
@@ -66,9 +73,10 @@ val_t lexer___Token___to_s(val_t  self) {
   return variable0;
 }
 val_t lexer___TEol___parser_index(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_lexer, 21, LOCATE_lexer___TEol___parser_index};
+  struct trace_t trace = {NULL, NULL, 21, LOCATE_lexer___TEol___parser_index};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_lexer;
   variable0 =  TAG_Int(0);
   goto return_label1;
   return_label1: while(false);
@@ -76,12 +84,13 @@ val_t lexer___TEol___parser_index(val_t  self) {
   return variable0;
 }
 void lexer___TEol___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, val_t  param3, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_lexer, 26, LOCATE_lexer___TEol___init};
+  struct trace_t trace = {NULL, NULL, 26, LOCATE_lexer___TEol___init};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   val_t variable3;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_lexer;
   variable0 =  param0;
   variable1 =  param1;
   variable2 =  param2;
@@ -96,9 +105,10 @@ void lexer___TEol___init(val_t  self, val_t  param0, val_t  param1, val_t  param
   return;
 }
 val_t lexer___TComment___parser_index(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_lexer, 36, LOCATE_lexer___TComment___parser_index};
+  struct trace_t trace = {NULL, NULL, 36, LOCATE_lexer___TComment___parser_index};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_lexer;
   variable0 =  TAG_Int(1);
   goto return_label3;
   return_label3: while(false);
@@ -106,12 +116,13 @@ val_t lexer___TComment___parser_index(val_t  self) {
   return variable0;
 }
 void lexer___TComment___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, val_t  param3, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_lexer, 41, LOCATE_lexer___TComment___init};
+  struct trace_t trace = {NULL, NULL, 41, LOCATE_lexer___TComment___init};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   val_t variable3;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_lexer;
   variable0 =  param0;
   variable1 =  param1;
   variable2 =  param2;
@@ -126,9 +137,10 @@ void lexer___TComment___init(val_t  self, val_t  param0, val_t  param1, val_t  p
   return;
 }
 val_t lexer___TKwpackage___parser_index(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_lexer, 51, LOCATE_lexer___TKwpackage___parser_index};
+  struct trace_t trace = {NULL, NULL, 51, LOCATE_lexer___TKwpackage___parser_index};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_lexer;
   variable0 =  TAG_Int(2);
   goto return_label5;
   return_label5: while(false);
@@ -136,13 +148,14 @@ val_t lexer___TKwpackage___parser_index(val_t  self) {
   return variable0;
 }
 void lexer___TKwpackage___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_lexer, 56, LOCATE_lexer___TKwpackage___init};
+  struct trace_t trace = {NULL, NULL, 56, LOCATE_lexer___TKwpackage___init};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   val_t variable3;
   static val_t once_value_variable3_7; static int once_bool_variable3_7;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_lexer;
   variable0 =  param0;
   variable1 =  param1;
   variable2 =  param2;
@@ -162,9 +175,10 @@ void lexer___TKwpackage___init(val_t  self, val_t  param0, val_t  param1, val_t
   return;
 }
 val_t lexer___TKwimport___parser_index(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_lexer, 66, LOCATE_lexer___TKwimport___parser_index};
+  struct trace_t trace = {NULL, NULL, 66, LOCATE_lexer___TKwimport___parser_index};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_lexer;
   variable0 =  TAG_Int(3);
   goto return_label8;
   return_label8: while(false);
@@ -172,13 +186,14 @@ val_t lexer___TKwimport___parser_index(val_t  self) {
   return variable0;
 }
 void lexer___TKwimport___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_lexer, 71, LOCATE_lexer___TKwimport___init};
+  struct trace_t trace = {NULL, NULL, 71, LOCATE_lexer___TKwimport___init};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   val_t variable3;
   static val_t once_value_variable3_10; static int once_bool_variable3_10;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_lexer;
   variable0 =  param0;
   variable1 =  param1;
   variable2 =  param2;
@@ -198,9 +213,10 @@ void lexer___TKwimport___init(val_t  self, val_t  param0, val_t  param1, val_t
   return;
 }
 val_t lexer___TKwclass___parser_index(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_lexer, 81, LOCATE_lexer___TKwclass___parser_index};
+  struct trace_t trace = {NULL, NULL, 81, LOCATE_lexer___TKwclass___parser_index};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_lexer;
   variable0 =  TAG_Int(4);
   goto return_label11;
   return_label11: while(false);
@@ -208,13 +224,14 @@ val_t lexer___TKwclass___parser_index(val_t  self) {
   return variable0;
 }
 void lexer___TKwclass___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_lexer, 86, LOCATE_lexer___TKwclass___init};
+  struct trace_t trace = {NULL, NULL, 86, LOCATE_lexer___TKwclass___init};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   val_t variable3;
   static val_t once_value_variable3_13; static int once_bool_variable3_13;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_lexer;
   variable0 =  param0;
   variable1 =  param1;
   variable2 =  param2;
@@ -234,9 +251,10 @@ void lexer___TKwclass___init(val_t  self, val_t  param0, val_t  param1, val_t  p
   return;
 }
 val_t lexer___TKwabstract___parser_index(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_lexer, 96, LOCATE_lexer___TKwabstract___parser_index};
+  struct trace_t trace = {NULL, NULL, 96, LOCATE_lexer___TKwabstract___parser_index};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_lexer;
   variable0 =  TAG_Int(5);
   goto return_label14;
   return_label14: while(false);
@@ -244,13 +262,14 @@ val_t lexer___TKwabstract___parser_index(val_t  self) {
   return variable0;
 }
 void lexer___TKwabstract___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_lexer, 101, LOCATE_lexer___TKwabstract___init};
+  struct trace_t trace = {NULL, NULL, 101, LOCATE_lexer___TKwabstract___init};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   val_t variable3;
   static val_t once_value_variable3_16; static int once_bool_variable3_16;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_lexer;
   variable0 =  param0;
   variable1 =  param1;
   variable2 =  param2;
@@ -270,9 +289,10 @@ void lexer___TKwabstract___init(val_t  self, val_t  param0, val_t  param1, val_t
   return;
 }
 val_t lexer___TKwinterface___parser_index(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_lexer, 111, LOCATE_lexer___TKwinterface___parser_index};
+  struct trace_t trace = {NULL, NULL, 111, LOCATE_lexer___TKwinterface___parser_index};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_lexer;
   variable0 =  TAG_Int(6);
   goto return_label17;
   return_label17: while(false);
@@ -280,13 +300,14 @@ val_t lexer___TKwinterface___parser_index(val_t  self) {
   return variable0;
 }
 void lexer___TKwinterface___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_lexer, 116, LOCATE_lexer___TKwinterface___init};
+  struct trace_t trace = {NULL, NULL, 116, LOCATE_lexer___TKwinterface___init};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   val_t variable3;
   static val_t once_value_variable3_19; static int once_bool_variable3_19;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_lexer;
   variable0 =  param0;
   variable1 =  param1;
   variable2 =  param2;
@@ -306,9 +327,10 @@ void lexer___TKwinterface___init(val_t  self, val_t  param0, val_t  param1, val_
   return;
 }
 val_t lexer___TKwuniversal___parser_index(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_lexer, 126, LOCATE_lexer___TKwuniversal___parser_index};
+  struct trace_t trace = {NULL, NULL, 126, LOCATE_lexer___TKwuniversal___parser_index};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_lexer;
   variable0 =  TAG_Int(7);
   goto return_label20;
   return_label20: while(false);
@@ -316,13 +338,14 @@ val_t lexer___TKwuniversal___parser_index(val_t  self) {
   return variable0;
 }
 void lexer___TKwuniversal___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_lexer, 131, LOCATE_lexer___TKwuniversal___init};
+  struct trace_t trace = {NULL, NULL, 131, LOCATE_lexer___TKwuniversal___init};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   val_t variable3;
   static val_t once_value_variable3_22; static int once_bool_variable3_22;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_lexer;
   variable0 =  param0;
   variable1 =  param1;
   variable2 =  param2;
@@ -342,9 +365,10 @@ void lexer___TKwuniversal___init(val_t  self, val_t  param0, val_t  param1, val_
   return;
 }
 val_t lexer___TKwspecial___parser_index(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_lexer, 141, LOCATE_lexer___TKwspecial___parser_index};
+  struct trace_t trace = {NULL, NULL, 141, LOCATE_lexer___TKwspecial___parser_index};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_lexer;
   variable0 =  TAG_Int(8);
   goto return_label23;
   return_label23: while(false);
@@ -352,13 +376,14 @@ val_t lexer___TKwspecial___parser_index(val_t  self) {
   return variable0;
 }
 void lexer___TKwspecial___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_lexer, 146, LOCATE_lexer___TKwspecial___init};
+  struct trace_t trace = {NULL, NULL, 146, LOCATE_lexer___TKwspecial___init};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   val_t variable3;
   static val_t once_value_variable3_25; static int once_bool_variable3_25;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_lexer;
   variable0 =  param0;
   variable1 =  param1;
   variable2 =  param2;
@@ -378,9 +403,10 @@ void lexer___TKwspecial___init(val_t  self, val_t  param0, val_t  param1, val_t
   return;
 }
 val_t lexer___TKwend___parser_index(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_lexer, 156, LOCATE_lexer___TKwend___parser_index};
+  struct trace_t trace = {NULL, NULL, 156, LOCATE_lexer___TKwend___parser_index};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_lexer;
   variable0 =  TAG_Int(9);
   goto return_label26;
   return_label26: while(false);
@@ -388,13 +414,14 @@ val_t lexer___TKwend___parser_index(val_t  self) {
   return variable0;
 }
 void lexer___TKwend___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_lexer, 161, LOCATE_lexer___TKwend___init};
+  struct trace_t trace = {NULL, NULL, 161, LOCATE_lexer___TKwend___init};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   val_t variable3;
   static val_t once_value_variable3_28; static int once_bool_variable3_28;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_lexer;
   variable0 =  param0;
   variable1 =  param1;
   variable2 =  param2;
@@ -414,9 +441,10 @@ void lexer___TKwend___init(val_t  self, val_t  param0, val_t  param1, val_t  par
   return;
 }
 val_t lexer___TKwmeth___parser_index(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_lexer, 171, LOCATE_lexer___TKwmeth___parser_index};
+  struct trace_t trace = {NULL, NULL, 171, LOCATE_lexer___TKwmeth___parser_index};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_lexer;
   variable0 =  TAG_Int(10);
   goto return_label29;
   return_label29: while(false);
@@ -424,13 +452,14 @@ val_t lexer___TKwmeth___parser_index(val_t  self) {
   return variable0;
 }
 void lexer___TKwmeth___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_lexer, 176, LOCATE_lexer___TKwmeth___init};
+  struct trace_t trace = {NULL, NULL, 176, LOCATE_lexer___TKwmeth___init};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   val_t variable3;
   static val_t once_value_variable3_31; static int once_bool_variable3_31;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_lexer;
   variable0 =  param0;
   variable1 =  param1;
   variable2 =  param2;
@@ -450,9 +479,10 @@ void lexer___TKwmeth___init(val_t  self, val_t  param0, val_t  param1, val_t  pa
   return;
 }
 val_t lexer___TKwtype___parser_index(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_lexer, 186, LOCATE_lexer___TKwtype___parser_index};
+  struct trace_t trace = {NULL, NULL, 186, LOCATE_lexer___TKwtype___parser_index};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_lexer;
   variable0 =  TAG_Int(11);
   goto return_label32;
   return_label32: while(false);
@@ -460,13 +490,14 @@ val_t lexer___TKwtype___parser_index(val_t  self) {
   return variable0;
 }
 void lexer___TKwtype___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_lexer, 191, LOCATE_lexer___TKwtype___init};
+  struct trace_t trace = {NULL, NULL, 191, LOCATE_lexer___TKwtype___init};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   val_t variable3;
   static val_t once_value_variable3_34; static int once_bool_variable3_34;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_lexer;
   variable0 =  param0;
   variable1 =  param1;
   variable2 =  param2;
@@ -486,9 +517,10 @@ void lexer___TKwtype___init(val_t  self, val_t  param0, val_t  param1, val_t  pa
   return;
 }
 val_t lexer___TKwattr___parser_index(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_lexer, 201, LOCATE_lexer___TKwattr___parser_index};
+  struct trace_t trace = {NULL, NULL, 201, LOCATE_lexer___TKwattr___parser_index};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_lexer;
   variable0 =  TAG_Int(12);
   goto return_label35;
   return_label35: while(false);
@@ -496,13 +528,14 @@ val_t lexer___TKwattr___parser_index(val_t  self) {
   return variable0;
 }
 void lexer___TKwattr___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_lexer, 206, LOCATE_lexer___TKwattr___init};
+  struct trace_t trace = {NULL, NULL, 206, LOCATE_lexer___TKwattr___init};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   val_t variable3;
   static val_t once_value_variable3_37; static int once_bool_variable3_37;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_lexer;
   variable0 =  param0;
   variable1 =  param1;
   variable2 =  param2;
@@ -522,9 +555,10 @@ void lexer___TKwattr___init(val_t  self, val_t  param0, val_t  param1, val_t  pa
   return;
 }
 val_t lexer___TKwinit___parser_index(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_lexer, 216, LOCATE_lexer___TKwinit___parser_index};
+  struct trace_t trace = {NULL, NULL, 216, LOCATE_lexer___TKwinit___parser_index};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_lexer;
   variable0 =  TAG_Int(13);
   goto return_label38;
   return_label38: while(false);
@@ -532,13 +566,14 @@ val_t lexer___TKwinit___parser_index(val_t  self) {
   return variable0;
 }
 void lexer___TKwinit___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_lexer, 221, LOCATE_lexer___TKwinit___init};
+  struct trace_t trace = {NULL, NULL, 221, LOCATE_lexer___TKwinit___init};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   val_t variable3;
   static val_t once_value_variable3_40; static int once_bool_variable3_40;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_lexer;
   variable0 =  param0;
   variable1 =  param1;
   variable2 =  param2;
@@ -558,9 +593,10 @@ void lexer___TKwinit___init(val_t  self, val_t  param0, val_t  param1, val_t  pa
   return;
 }
 val_t lexer___TKwredef___parser_index(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_lexer, 231, LOCATE_lexer___TKwredef___parser_index};
+  struct trace_t trace = {NULL, NULL, 231, LOCATE_lexer___TKwredef___parser_index};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_lexer;
   variable0 =  TAG_Int(14);
   goto return_label41;
   return_label41: while(false);
@@ -568,13 +604,14 @@ val_t lexer___TKwredef___parser_index(val_t  self) {
   return variable0;
 }
 void lexer___TKwredef___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_lexer, 236, LOCATE_lexer___TKwredef___init};
+  struct trace_t trace = {NULL, NULL, 236, LOCATE_lexer___TKwredef___init};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   val_t variable3;
   static val_t once_value_variable3_43; static int once_bool_variable3_43;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_lexer;
   variable0 =  param0;
   variable1 =  param1;
   variable2 =  param2;
@@ -594,9 +631,10 @@ void lexer___TKwredef___init(val_t  self, val_t  param0, val_t  param1, val_t  p
   return;
 }
 val_t lexer___TKwis___parser_index(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_lexer, 246, LOCATE_lexer___TKwis___parser_index};
+  struct trace_t trace = {NULL, NULL, 246, LOCATE_lexer___TKwis___parser_index};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_lexer;
   variable0 =  TAG_Int(15);
   goto return_label44;
   return_label44: while(false);
@@ -604,13 +642,14 @@ val_t lexer___TKwis___parser_index(val_t  self) {
   return variable0;
 }
 void lexer___TKwis___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_lexer, 251, LOCATE_lexer___TKwis___init};
+  struct trace_t trace = {NULL, NULL, 251, LOCATE_lexer___TKwis___init};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   val_t variable3;
   static val_t once_value_variable3_46; static int once_bool_variable3_46;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_lexer;
   variable0 =  param0;
   variable1 =  param1;
   variable2 =  param2;
@@ -630,9 +669,10 @@ void lexer___TKwis___init(val_t  self, val_t  param0, val_t  param1, val_t  para
   return;
 }
 val_t lexer___TKwdo___parser_index(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_lexer, 261, LOCATE_lexer___TKwdo___parser_index};
+  struct trace_t trace = {NULL, NULL, 261, LOCATE_lexer___TKwdo___parser_index};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_lexer;
   variable0 =  TAG_Int(16);
   goto return_label47;
   return_label47: while(false);
@@ -640,13 +680,14 @@ val_t lexer___TKwdo___parser_index(val_t  self) {
   return variable0;
 }
 void lexer___TKwdo___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_lexer, 266, LOCATE_lexer___TKwdo___init};
+  struct trace_t trace = {NULL, NULL, 266, LOCATE_lexer___TKwdo___init};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   val_t variable3;
   static val_t once_value_variable3_49; static int once_bool_variable3_49;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_lexer;
   variable0 =  param0;
   variable1 =  param1;
   variable2 =  param2;
@@ -666,9 +707,10 @@ void lexer___TKwdo___init(val_t  self, val_t  param0, val_t  param1, val_t  para
   return;
 }
 val_t lexer___TKwreadable___parser_index(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_lexer, 276, LOCATE_lexer___TKwreadable___parser_index};
+  struct trace_t trace = {NULL, NULL, 276, LOCATE_lexer___TKwreadable___parser_index};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_lexer;
   variable0 =  TAG_Int(17);
   goto return_label50;
   return_label50: while(false);
@@ -676,13 +718,14 @@ val_t lexer___TKwreadable___parser_index(val_t  self) {
   return variable0;
 }
 void lexer___TKwreadable___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_lexer, 281, LOCATE_lexer___TKwreadable___init};
+  struct trace_t trace = {NULL, NULL, 281, LOCATE_lexer___TKwreadable___init};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   val_t variable3;
   static val_t once_value_variable3_52; static int once_bool_variable3_52;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_lexer;
   variable0 =  param0;
   variable1 =  param1;
   variable2 =  param2;
@@ -702,9 +745,10 @@ void lexer___TKwreadable___init(val_t  self, val_t  param0, val_t  param1, val_t
   return;
 }
 val_t lexer___TKwwritable___parser_index(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_lexer, 291, LOCATE_lexer___TKwwritable___parser_index};
+  struct trace_t trace = {NULL, NULL, 291, LOCATE_lexer___TKwwritable___parser_index};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_lexer;
   variable0 =  TAG_Int(18);
   goto return_label53;
   return_label53: while(false);
@@ -712,13 +756,14 @@ val_t lexer___TKwwritable___parser_index(val_t  self) {
   return variable0;
 }
 void lexer___TKwwritable___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_lexer, 296, LOCATE_lexer___TKwwritable___init};
+  struct trace_t trace = {NULL, NULL, 296, LOCATE_lexer___TKwwritable___init};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   val_t variable3;
   static val_t once_value_variable3_55; static int once_bool_variable3_55;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_lexer;
   variable0 =  param0;
   variable1 =  param1;
   variable2 =  param2;
@@ -738,9 +783,10 @@ void lexer___TKwwritable___init(val_t  self, val_t  param0, val_t  param1, val_t
   return;
 }
 val_t lexer___TKwvar___parser_index(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_lexer, 306, LOCATE_lexer___TKwvar___parser_index};
+  struct trace_t trace = {NULL, NULL, 306, LOCATE_lexer___TKwvar___parser_index};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_lexer;
   variable0 =  TAG_Int(19);
   goto return_label56;
   return_label56: while(false);
@@ -748,13 +794,14 @@ val_t lexer___TKwvar___parser_index(val_t  self) {
   return variable0;
 }
 void lexer___TKwvar___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_lexer, 311, LOCATE_lexer___TKwvar___init};
+  struct trace_t trace = {NULL, NULL, 311, LOCATE_lexer___TKwvar___init};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   val_t variable3;
   static val_t once_value_variable3_58; static int once_bool_variable3_58;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_lexer;
   variable0 =  param0;
   variable1 =  param1;
   variable2 =  param2;
@@ -774,9 +821,10 @@ void lexer___TKwvar___init(val_t  self, val_t  param0, val_t  param1, val_t  par
   return;
 }
 val_t lexer___TKwintern___parser_index(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_lexer, 321, LOCATE_lexer___TKwintern___parser_index};
+  struct trace_t trace = {NULL, NULL, 321, LOCATE_lexer___TKwintern___parser_index};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_lexer;
   variable0 =  TAG_Int(20);
   goto return_label59;
   return_label59: while(false);
@@ -784,13 +832,14 @@ val_t lexer___TKwintern___parser_index(val_t  self) {
   return variable0;
 }
 void lexer___TKwintern___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_lexer, 326, LOCATE_lexer___TKwintern___init};
+  struct trace_t trace = {NULL, NULL, 326, LOCATE_lexer___TKwintern___init};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   val_t variable3;
   static val_t once_value_variable3_61; static int once_bool_variable3_61;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_lexer;
   variable0 =  param0;
   variable1 =  param1;
   variable2 =  param2;
@@ -810,9 +859,10 @@ void lexer___TKwintern___init(val_t  self, val_t  param0, val_t  param1, val_t
   return;
 }
 val_t lexer___TKwextern___parser_index(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_lexer, 336, LOCATE_lexer___TKwextern___parser_index};
+  struct trace_t trace = {NULL, NULL, 336, LOCATE_lexer___TKwextern___parser_index};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_lexer;
   variable0 =  TAG_Int(21);
   goto return_label62;
   return_label62: while(false);
@@ -820,13 +870,14 @@ val_t lexer___TKwextern___parser_index(val_t  self) {
   return variable0;
 }
 void lexer___TKwextern___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_lexer, 341, LOCATE_lexer___TKwextern___init};
+  struct trace_t trace = {NULL, NULL, 341, LOCATE_lexer___TKwextern___init};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   val_t variable3;
   static val_t once_value_variable3_64; static int once_bool_variable3_64;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_lexer;
   variable0 =  param0;
   variable1 =  param1;
   variable2 =  param2;
@@ -846,9 +897,10 @@ void lexer___TKwextern___init(val_t  self, val_t  param0, val_t  param1, val_t
   return;
 }
 val_t lexer___TKwprotected___parser_index(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_lexer, 351, LOCATE_lexer___TKwprotected___parser_index};
+  struct trace_t trace = {NULL, NULL, 351, LOCATE_lexer___TKwprotected___parser_index};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_lexer;
   variable0 =  TAG_Int(22);
   goto return_label65;
   return_label65: while(false);
@@ -856,13 +908,14 @@ val_t lexer___TKwprotected___parser_index(val_t  self) {
   return variable0;
 }
 void lexer___TKwprotected___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_lexer, 356, LOCATE_lexer___TKwprotected___init};
+  struct trace_t trace = {NULL, NULL, 356, LOCATE_lexer___TKwprotected___init};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   val_t variable3;
   static val_t once_value_variable3_67; static int once_bool_variable3_67;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_lexer;
   variable0 =  param0;
   variable1 =  param1;
   variable2 =  param2;
@@ -882,9 +935,10 @@ void lexer___TKwprotected___init(val_t  self, val_t  param0, val_t  param1, val_
   return;
 }
 val_t lexer___TKwprivate___parser_index(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_lexer, 366, LOCATE_lexer___TKwprivate___parser_index};
+  struct trace_t trace = {NULL, NULL, 366, LOCATE_lexer___TKwprivate___parser_index};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_lexer;
   variable0 =  TAG_Int(23);
   goto return_label68;
   return_label68: while(false);
@@ -892,13 +946,14 @@ val_t lexer___TKwprivate___parser_index(val_t  self) {
   return variable0;
 }
 void lexer___TKwprivate___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_lexer, 371, LOCATE_lexer___TKwprivate___init};
+  struct trace_t trace = {NULL, NULL, 371, LOCATE_lexer___TKwprivate___init};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   val_t variable3;
   static val_t once_value_variable3_70; static int once_bool_variable3_70;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_lexer;
   variable0 =  param0;
   variable1 =  param1;
   variable2 =  param2;
@@ -918,9 +973,10 @@ void lexer___TKwprivate___init(val_t  self, val_t  param0, val_t  param1, val_t
   return;
 }
 val_t lexer___TKwintrude___parser_index(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_lexer, 381, LOCATE_lexer___TKwintrude___parser_index};
+  struct trace_t trace = {NULL, NULL, 381, LOCATE_lexer___TKwintrude___parser_index};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_lexer;
   variable0 =  TAG_Int(24);
   goto return_label71;
   return_label71: while(false);
@@ -928,13 +984,14 @@ val_t lexer___TKwintrude___parser_index(val_t  self) {
   return variable0;
 }
 void lexer___TKwintrude___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_lexer, 386, LOCATE_lexer___TKwintrude___init};
+  struct trace_t trace = {NULL, NULL, 386, LOCATE_lexer___TKwintrude___init};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   val_t variable3;
   static val_t once_value_variable3_73; static int once_bool_variable3_73;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_lexer;
   variable0 =  param0;
   variable1 =  param1;
   variable2 =  param2;
@@ -954,9 +1011,10 @@ void lexer___TKwintrude___init(val_t  self, val_t  param0, val_t  param1, val_t
   return;
 }
 val_t lexer___TKwif___parser_index(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_lexer, 396, LOCATE_lexer___TKwif___parser_index};
+  struct trace_t trace = {NULL, NULL, 396, LOCATE_lexer___TKwif___parser_index};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_lexer;
   variable0 =  TAG_Int(25);
   goto return_label74;
   return_label74: while(false);
@@ -964,13 +1022,14 @@ val_t lexer___TKwif___parser_index(val_t  self) {
   return variable0;
 }
 void lexer___TKwif___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_lexer, 401, LOCATE_lexer___TKwif___init};
+  struct trace_t trace = {NULL, NULL, 401, LOCATE_lexer___TKwif___init};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   val_t variable3;
   static val_t once_value_variable3_76; static int once_bool_variable3_76;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_lexer;
   variable0 =  param0;
   variable1 =  param1;
   variable2 =  param2;
@@ -990,9 +1049,10 @@ void lexer___TKwif___init(val_t  self, val_t  param0, val_t  param1, val_t  para
   return;
 }
 val_t lexer___TKwthen___parser_index(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_lexer, 411, LOCATE_lexer___TKwthen___parser_index};
+  struct trace_t trace = {NULL, NULL, 411, LOCATE_lexer___TKwthen___parser_index};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_lexer;
   variable0 =  TAG_Int(26);
   goto return_label77;
   return_label77: while(false);
@@ -1000,13 +1060,14 @@ val_t lexer___TKwthen___parser_index(val_t  self) {
   return variable0;
 }
 void lexer___TKwthen___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_lexer, 416, LOCATE_lexer___TKwthen___init};
+  struct trace_t trace = {NULL, NULL, 416, LOCATE_lexer___TKwthen___init};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   val_t variable3;
   static val_t once_value_variable3_79; static int once_bool_variable3_79;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_lexer;
   variable0 =  param0;
   variable1 =  param1;
   variable2 =  param2;
@@ -1026,9 +1087,10 @@ void lexer___TKwthen___init(val_t  self, val_t  param0, val_t  param1, val_t  pa
   return;
 }
 val_t lexer___TKwelse___parser_index(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_lexer, 426, LOCATE_lexer___TKwelse___parser_index};
+  struct trace_t trace = {NULL, NULL, 426, LOCATE_lexer___TKwelse___parser_index};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_lexer;
   variable0 =  TAG_Int(27);
   goto return_label80;
   return_label80: while(false);
@@ -1036,13 +1098,14 @@ val_t lexer___TKwelse___parser_index(val_t  self) {
   return variable0;
 }
 void lexer___TKwelse___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_lexer, 431, LOCATE_lexer___TKwelse___init};
+  struct trace_t trace = {NULL, NULL, 431, LOCATE_lexer___TKwelse___init};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   val_t variable3;
   static val_t once_value_variable3_82; static int once_bool_variable3_82;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_lexer;
   variable0 =  param0;
   variable1 =  param1;
   variable2 =  param2;
@@ -1062,9 +1125,10 @@ void lexer___TKwelse___init(val_t  self, val_t  param0, val_t  param1, val_t  pa
   return;
 }
 val_t lexer___TKwwhile___parser_index(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_lexer, 441, LOCATE_lexer___TKwwhile___parser_index};
+  struct trace_t trace = {NULL, NULL, 441, LOCATE_lexer___TKwwhile___parser_index};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_lexer;
   variable0 =  TAG_Int(28);
   goto return_label83;
   return_label83: while(false);
@@ -1072,13 +1136,14 @@ val_t lexer___TKwwhile___parser_index(val_t  self) {
   return variable0;
 }
 void lexer___TKwwhile___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_lexer, 446, LOCATE_lexer___TKwwhile___init};
+  struct trace_t trace = {NULL, NULL, 446, LOCATE_lexer___TKwwhile___init};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   val_t variable3;
   static val_t once_value_variable3_85; static int once_bool_variable3_85;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_lexer;
   variable0 =  param0;
   variable1 =  param1;
   variable2 =  param2;
@@ -1098,9 +1163,10 @@ void lexer___TKwwhile___init(val_t  self, val_t  param0, val_t  param1, val_t  p
   return;
 }
 val_t lexer___TKwfor___parser_index(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_lexer, 456, LOCATE_lexer___TKwfor___parser_index};
+  struct trace_t trace = {NULL, NULL, 456, LOCATE_lexer___TKwfor___parser_index};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_lexer;
   variable0 =  TAG_Int(29);
   goto return_label86;
   return_label86: while(false);
@@ -1108,13 +1174,14 @@ val_t lexer___TKwfor___parser_index(val_t  self) {
   return variable0;
 }
 void lexer___TKwfor___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_lexer, 461, LOCATE_lexer___TKwfor___init};
+  struct trace_t trace = {NULL, NULL, 461, LOCATE_lexer___TKwfor___init};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   val_t variable3;
   static val_t once_value_variable3_88; static int once_bool_variable3_88;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_lexer;
   variable0 =  param0;
   variable1 =  param1;
   variable2 =  param2;
@@ -1134,9 +1201,10 @@ void lexer___TKwfor___init(val_t  self, val_t  param0, val_t  param1, val_t  par
   return;
 }
 val_t lexer___TKwin___parser_index(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_lexer, 471, LOCATE_lexer___TKwin___parser_index};
+  struct trace_t trace = {NULL, NULL, 471, LOCATE_lexer___TKwin___parser_index};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_lexer;
   variable0 =  TAG_Int(30);
   goto return_label89;
   return_label89: while(false);
@@ -1144,13 +1212,14 @@ val_t lexer___TKwin___parser_index(val_t  self) {
   return variable0;
 }
 void lexer___TKwin___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_lexer, 476, LOCATE_lexer___TKwin___init};
+  struct trace_t trace = {NULL, NULL, 476, LOCATE_lexer___TKwin___init};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   val_t variable3;
   static val_t once_value_variable3_91; static int once_bool_variable3_91;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_lexer;
   variable0 =  param0;
   variable1 =  param1;
   variable2 =  param2;
@@ -1170,9 +1239,10 @@ void lexer___TKwin___init(val_t  self, val_t  param0, val_t  param1, val_t  para
   return;
 }
 val_t lexer___TKwand___parser_index(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_lexer, 486, LOCATE_lexer___TKwand___parser_index};
+  struct trace_t trace = {NULL, NULL, 486, LOCATE_lexer___TKwand___parser_index};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_lexer;
   variable0 =  TAG_Int(31);
   goto return_label92;
   return_label92: while(false);
@@ -1180,13 +1250,14 @@ val_t lexer___TKwand___parser_index(val_t  self) {
   return variable0;
 }
 void lexer___TKwand___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_lexer, 491, LOCATE_lexer___TKwand___init};
+  struct trace_t trace = {NULL, NULL, 491, LOCATE_lexer___TKwand___init};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   val_t variable3;
   static val_t once_value_variable3_94; static int once_bool_variable3_94;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_lexer;
   variable0 =  param0;
   variable1 =  param1;
   variable2 =  param2;
@@ -1206,9 +1277,10 @@ void lexer___TKwand___init(val_t  self, val_t  param0, val_t  param1, val_t  par
   return;
 }
 val_t lexer___TKwor___parser_index(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_lexer, 501, LOCATE_lexer___TKwor___parser_index};
+  struct trace_t trace = {NULL, NULL, 501, LOCATE_lexer___TKwor___parser_index};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_lexer;
   variable0 =  TAG_Int(32);
   goto return_label95;
   return_label95: while(false);
@@ -1216,13 +1288,14 @@ val_t lexer___TKwor___parser_index(val_t  self) {
   return variable0;
 }
 void lexer___TKwor___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_lexer, 506, LOCATE_lexer___TKwor___init};
+  struct trace_t trace = {NULL, NULL, 506, LOCATE_lexer___TKwor___init};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   val_t variable3;
   static val_t once_value_variable3_97; static int once_bool_variable3_97;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_lexer;
   variable0 =  param0;
   variable1 =  param1;
   variable2 =  param2;
@@ -1242,9 +1315,10 @@ void lexer___TKwor___init(val_t  self, val_t  param0, val_t  param1, val_t  para
   return;
 }
 val_t lexer___TKwnot___parser_index(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_lexer, 516, LOCATE_lexer___TKwnot___parser_index};
+  struct trace_t trace = {NULL, NULL, 516, LOCATE_lexer___TKwnot___parser_index};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_lexer;
   variable0 =  TAG_Int(33);
   goto return_label98;
   return_label98: while(false);
@@ -1252,13 +1326,14 @@ val_t lexer___TKwnot___parser_index(val_t  self) {
   return variable0;
 }
 void lexer___TKwnot___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_lexer, 521, LOCATE_lexer___TKwnot___init};
+  struct trace_t trace = {NULL, NULL, 521, LOCATE_lexer___TKwnot___init};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   val_t variable3;
   static val_t once_value_variable3_100; static int once_bool_variable3_100;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_lexer;
   variable0 =  param0;
   variable1 =  param1;
   variable2 =  param2;
@@ -1278,9 +1353,10 @@ void lexer___TKwnot___init(val_t  self, val_t  param0, val_t  param1, val_t  par
   return;
 }
 val_t lexer___TKwreturn___parser_index(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_lexer, 531, LOCATE_lexer___TKwreturn___parser_index};
+  struct trace_t trace = {NULL, NULL, 531, LOCATE_lexer___TKwreturn___parser_index};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_lexer;
   variable0 =  TAG_Int(34);
   goto return_label101;
   return_label101: while(false);
@@ -1288,13 +1364,14 @@ val_t lexer___TKwreturn___parser_index(val_t  self) {
   return variable0;
 }
 void lexer___TKwreturn___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_lexer, 536, LOCATE_lexer___TKwreturn___init};
+  struct trace_t trace = {NULL, NULL, 536, LOCATE_lexer___TKwreturn___init};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   val_t variable3;
   static val_t once_value_variable3_103; static int once_bool_variable3_103;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_lexer;
   variable0 =  param0;
   variable1 =  param1;
   variable2 =  param2;
@@ -1314,9 +1391,10 @@ void lexer___TKwreturn___init(val_t  self, val_t  param0, val_t  param1, val_t
   return;
 }
 val_t lexer___TKwcontinue___parser_index(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_lexer, 546, LOCATE_lexer___TKwcontinue___parser_index};
+  struct trace_t trace = {NULL, NULL, 546, LOCATE_lexer___TKwcontinue___parser_index};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_lexer;
   variable0 =  TAG_Int(35);
   goto return_label104;
   return_label104: while(false);
@@ -1324,13 +1402,14 @@ val_t lexer___TKwcontinue___parser_index(val_t  self) {
   return variable0;
 }
 void lexer___TKwcontinue___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_lexer, 551, LOCATE_lexer___TKwcontinue___init};
+  struct trace_t trace = {NULL, NULL, 551, LOCATE_lexer___TKwcontinue___init};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   val_t variable3;
   static val_t once_value_variable3_106; static int once_bool_variable3_106;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_lexer;
   variable0 =  param0;
   variable1 =  param1;
   variable2 =  param2;
@@ -1350,9 +1429,10 @@ void lexer___TKwcontinue___init(val_t  self, val_t  param0, val_t  param1, val_t
   return;
 }
 val_t lexer___TKwbreak___parser_index(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_lexer, 561, LOCATE_lexer___TKwbreak___parser_index};
+  struct trace_t trace = {NULL, NULL, 561, LOCATE_lexer___TKwbreak___parser_index};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_lexer;
   variable0 =  TAG_Int(36);
   goto return_label107;
   return_label107: while(false);
@@ -1360,13 +1440,14 @@ val_t lexer___TKwbreak___parser_index(val_t  self) {
   return variable0;
 }
 void lexer___TKwbreak___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_lexer, 566, LOCATE_lexer___TKwbreak___init};
+  struct trace_t trace = {NULL, NULL, 566, LOCATE_lexer___TKwbreak___init};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   val_t variable3;
   static val_t once_value_variable3_109; static int once_bool_variable3_109;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_lexer;
   variable0 =  param0;
   variable1 =  param1;
   variable2 =  param2;
@@ -1386,9 +1467,10 @@ void lexer___TKwbreak___init(val_t  self, val_t  param0, val_t  param1, val_t  p
   return;
 }
 val_t lexer___TKwabort___parser_index(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_lexer, 576, LOCATE_lexer___TKwabort___parser_index};
+  struct trace_t trace = {NULL, NULL, 576, LOCATE_lexer___TKwabort___parser_index};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_lexer;
   variable0 =  TAG_Int(37);
   goto return_label110;
   return_label110: while(false);
@@ -1396,13 +1478,14 @@ val_t lexer___TKwabort___parser_index(val_t  self) {
   return variable0;
 }
 void lexer___TKwabort___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_lexer, 581, LOCATE_lexer___TKwabort___init};
+  struct trace_t trace = {NULL, NULL, 581, LOCATE_lexer___TKwabort___init};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   val_t variable3;
   static val_t once_value_variable3_112; static int once_bool_variable3_112;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_lexer;
   variable0 =  param0;
   variable1 =  param1;
   variable2 =  param2;
@@ -1422,9 +1505,10 @@ void lexer___TKwabort___init(val_t  self, val_t  param0, val_t  param1, val_t  p
   return;
 }
 val_t lexer___TKwassert___parser_index(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_lexer, 591, LOCATE_lexer___TKwassert___parser_index};
+  struct trace_t trace = {NULL, NULL, 591, LOCATE_lexer___TKwassert___parser_index};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_lexer;
   variable0 =  TAG_Int(38);
   goto return_label113;
   return_label113: while(false);
@@ -1432,13 +1516,14 @@ val_t lexer___TKwassert___parser_index(val_t  self) {
   return variable0;
 }
 void lexer___TKwassert___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_lexer, 596, LOCATE_lexer___TKwassert___init};
+  struct trace_t trace = {NULL, NULL, 596, LOCATE_lexer___TKwassert___init};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   val_t variable3;
   static val_t once_value_variable3_115; static int once_bool_variable3_115;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_lexer;
   variable0 =  param0;
   variable1 =  param1;
   variable2 =  param2;
@@ -1458,9 +1543,10 @@ void lexer___TKwassert___init(val_t  self, val_t  param0, val_t  param1, val_t
   return;
 }
 val_t lexer___TKwnew___parser_index(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_lexer, 606, LOCATE_lexer___TKwnew___parser_index};
+  struct trace_t trace = {NULL, NULL, 606, LOCATE_lexer___TKwnew___parser_index};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_lexer;
   variable0 =  TAG_Int(39);
   goto return_label116;
   return_label116: while(false);
@@ -1468,13 +1554,14 @@ val_t lexer___TKwnew___parser_index(val_t  self) {
   return variable0;
 }
 void lexer___TKwnew___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_lexer, 611, LOCATE_lexer___TKwnew___init};
+  struct trace_t trace = {NULL, NULL, 611, LOCATE_lexer___TKwnew___init};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   val_t variable3;
   static val_t once_value_variable3_118; static int once_bool_variable3_118;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_lexer;
   variable0 =  param0;
   variable1 =  param1;
   variable2 =  param2;
@@ -1494,9 +1581,10 @@ void lexer___TKwnew___init(val_t  self, val_t  param0, val_t  param1, val_t  par
   return;
 }
 val_t lexer___TKwisa___parser_index(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_lexer, 621, LOCATE_lexer___TKwisa___parser_index};
+  struct trace_t trace = {NULL, NULL, 621, LOCATE_lexer___TKwisa___parser_index};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_lexer;
   variable0 =  TAG_Int(40);
   goto return_label119;
   return_label119: while(false);
@@ -1504,13 +1592,14 @@ val_t lexer___TKwisa___parser_index(val_t  self) {
   return variable0;
 }
 void lexer___TKwisa___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_lexer, 626, LOCATE_lexer___TKwisa___init};
+  struct trace_t trace = {NULL, NULL, 626, LOCATE_lexer___TKwisa___init};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   val_t variable3;
   static val_t once_value_variable3_121; static int once_bool_variable3_121;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_lexer;
   variable0 =  param0;
   variable1 =  param1;
   variable2 =  param2;
@@ -1530,9 +1619,10 @@ void lexer___TKwisa___init(val_t  self, val_t  param0, val_t  param1, val_t  par
   return;
 }
 val_t lexer___TKwonce___parser_index(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_lexer, 636, LOCATE_lexer___TKwonce___parser_index};
+  struct trace_t trace = {NULL, NULL, 636, LOCATE_lexer___TKwonce___parser_index};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_lexer;
   variable0 =  TAG_Int(41);
   goto return_label122;
   return_label122: while(false);
@@ -1540,13 +1630,14 @@ val_t lexer___TKwonce___parser_index(val_t  self) {
   return variable0;
 }
 void lexer___TKwonce___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_lexer, 641, LOCATE_lexer___TKwonce___init};
+  struct trace_t trace = {NULL, NULL, 641, LOCATE_lexer___TKwonce___init};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   val_t variable3;
   static val_t once_value_variable3_124; static int once_bool_variable3_124;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_lexer;
   variable0 =  param0;
   variable1 =  param1;
   variable2 =  param2;
@@ -1566,9 +1657,10 @@ void lexer___TKwonce___init(val_t  self, val_t  param0, val_t  param1, val_t  pa
   return;
 }
 val_t lexer___TKwsuper___parser_index(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_lexer, 651, LOCATE_lexer___TKwsuper___parser_index};
+  struct trace_t trace = {NULL, NULL, 651, LOCATE_lexer___TKwsuper___parser_index};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_lexer;
   variable0 =  TAG_Int(42);
   goto return_label125;
   return_label125: while(false);
@@ -1576,13 +1668,14 @@ val_t lexer___TKwsuper___parser_index(val_t  self) {
   return variable0;
 }
 void lexer___TKwsuper___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_lexer, 656, LOCATE_lexer___TKwsuper___init};
+  struct trace_t trace = {NULL, NULL, 656, LOCATE_lexer___TKwsuper___init};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   val_t variable3;
   static val_t once_value_variable3_127; static int once_bool_variable3_127;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_lexer;
   variable0 =  param0;
   variable1 =  param1;
   variable2 =  param2;
@@ -1602,9 +1695,10 @@ void lexer___TKwsuper___init(val_t  self, val_t  param0, val_t  param1, val_t  p
   return;
 }
 val_t lexer___TKwself___parser_index(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_lexer, 666, LOCATE_lexer___TKwself___parser_index};
+  struct trace_t trace = {NULL, NULL, 666, LOCATE_lexer___TKwself___parser_index};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_lexer;
   variable0 =  TAG_Int(43);
   goto return_label128;
   return_label128: while(false);
@@ -1612,13 +1706,14 @@ val_t lexer___TKwself___parser_index(val_t  self) {
   return variable0;
 }
 void lexer___TKwself___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_lexer, 671, LOCATE_lexer___TKwself___init};
+  struct trace_t trace = {NULL, NULL, 671, LOCATE_lexer___TKwself___init};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   val_t variable3;
   static val_t once_value_variable3_130; static int once_bool_variable3_130;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_lexer;
   variable0 =  param0;
   variable1 =  param1;
   variable2 =  param2;
@@ -1638,9 +1733,10 @@ void lexer___TKwself___init(val_t  self, val_t  param0, val_t  param1, val_t  pa
   return;
 }
 val_t lexer___TKwtrue___parser_index(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_lexer, 681, LOCATE_lexer___TKwtrue___parser_index};
+  struct trace_t trace = {NULL, NULL, 681, LOCATE_lexer___TKwtrue___parser_index};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_lexer;
   variable0 =  TAG_Int(44);
   goto return_label131;
   return_label131: while(false);
@@ -1648,13 +1744,14 @@ val_t lexer___TKwtrue___parser_index(val_t  self) {
   return variable0;
 }
 void lexer___TKwtrue___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_lexer, 686, LOCATE_lexer___TKwtrue___init};
+  struct trace_t trace = {NULL, NULL, 686, LOCATE_lexer___TKwtrue___init};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   val_t variable3;
   static val_t once_value_variable3_133; static int once_bool_variable3_133;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_lexer;
   variable0 =  param0;
   variable1 =  param1;
   variable2 =  param2;
@@ -1674,9 +1771,10 @@ void lexer___TKwtrue___init(val_t  self, val_t  param0, val_t  param1, val_t  pa
   return;
 }
 val_t lexer___TKwfalse___parser_index(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_lexer, 696, LOCATE_lexer___TKwfalse___parser_index};
+  struct trace_t trace = {NULL, NULL, 696, LOCATE_lexer___TKwfalse___parser_index};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_lexer;
   variable0 =  TAG_Int(45);
   goto return_label134;
   return_label134: while(false);
@@ -1684,13 +1782,14 @@ val_t lexer___TKwfalse___parser_index(val_t  self) {
   return variable0;
 }
 void lexer___TKwfalse___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_lexer, 701, LOCATE_lexer___TKwfalse___init};
+  struct trace_t trace = {NULL, NULL, 701, LOCATE_lexer___TKwfalse___init};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   val_t variable3;
   static val_t once_value_variable3_136; static int once_bool_variable3_136;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_lexer;
   variable0 =  param0;
   variable1 =  param1;
   variable2 =  param2;
@@ -1710,9 +1809,10 @@ void lexer___TKwfalse___init(val_t  self, val_t  param0, val_t  param1, val_t  p
   return;
 }
 val_t lexer___TKwnull___parser_index(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_lexer, 711, LOCATE_lexer___TKwnull___parser_index};
+  struct trace_t trace = {NULL, NULL, 711, LOCATE_lexer___TKwnull___parser_index};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_lexer;
   variable0 =  TAG_Int(46);
   goto return_label137;
   return_label137: while(false);
@@ -1720,13 +1820,14 @@ val_t lexer___TKwnull___parser_index(val_t  self) {
   return variable0;
 }
 void lexer___TKwnull___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_lexer, 716, LOCATE_lexer___TKwnull___init};
+  struct trace_t trace = {NULL, NULL, 716, LOCATE_lexer___TKwnull___init};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   val_t variable3;
   static val_t once_value_variable3_139; static int once_bool_variable3_139;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_lexer;
   variable0 =  param0;
   variable1 =  param1;
   variable2 =  param2;
@@ -1746,9 +1847,10 @@ void lexer___TKwnull___init(val_t  self, val_t  param0, val_t  param1, val_t  pa
   return;
 }
 val_t lexer___TKwas___parser_index(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_lexer, 726, LOCATE_lexer___TKwas___parser_index};
+  struct trace_t trace = {NULL, NULL, 726, LOCATE_lexer___TKwas___parser_index};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_lexer;
   variable0 =  TAG_Int(47);
   goto return_label140;
   return_label140: while(false);
@@ -1756,13 +1858,14 @@ val_t lexer___TKwas___parser_index(val_t  self) {
   return variable0;
 }
 void lexer___TKwas___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_lexer, 731, LOCATE_lexer___TKwas___init};
+  struct trace_t trace = {NULL, NULL, 731, LOCATE_lexer___TKwas___init};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   val_t variable3;
   static val_t once_value_variable3_142; static int once_bool_variable3_142;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_lexer;
   variable0 =  param0;
   variable1 =  param1;
   variable2 =  param2;
@@ -1782,9 +1885,10 @@ void lexer___TKwas___init(val_t  self, val_t  param0, val_t  param1, val_t  para
   return;
 }
 val_t lexer___TOpar___parser_index(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_lexer, 741, LOCATE_lexer___TOpar___parser_index};
+  struct trace_t trace = {NULL, NULL, 741, LOCATE_lexer___TOpar___parser_index};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_lexer;
   variable0 =  TAG_Int(48);
   goto return_label143;
   return_label143: while(false);
@@ -1792,13 +1896,14 @@ val_t lexer___TOpar___parser_index(val_t  self) {
   return variable0;
 }
 void lexer___TOpar___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_lexer, 746, LOCATE_lexer___TOpar___init};
+  struct trace_t trace = {NULL, NULL, 746, LOCATE_lexer___TOpar___init};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   val_t variable3;
   static val_t once_value_variable3_145; static int once_bool_variable3_145;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_lexer;
   variable0 =  param0;
   variable1 =  param1;
   variable2 =  param2;
@@ -1818,9 +1923,10 @@ void lexer___TOpar___init(val_t  self, val_t  param0, val_t  param1, val_t  para
   return;
 }
 val_t lexer___TCpar___parser_index(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_lexer, 756, LOCATE_lexer___TCpar___parser_index};
+  struct trace_t trace = {NULL, NULL, 756, LOCATE_lexer___TCpar___parser_index};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_lexer;
   variable0 =  TAG_Int(49);
   goto return_label146;
   return_label146: while(false);
@@ -1828,13 +1934,14 @@ val_t lexer___TCpar___parser_index(val_t  self) {
   return variable0;
 }
 void lexer___TCpar___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_lexer, 761, LOCATE_lexer___TCpar___init};
+  struct trace_t trace = {NULL, NULL, 761, LOCATE_lexer___TCpar___init};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   val_t variable3;
   static val_t once_value_variable3_148; static int once_bool_variable3_148;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_lexer;
   variable0 =  param0;
   variable1 =  param1;
   variable2 =  param2;
@@ -1854,9 +1961,10 @@ void lexer___TCpar___init(val_t  self, val_t  param0, val_t  param1, val_t  para
   return;
 }
 val_t lexer___TObra___parser_index(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_lexer, 771, LOCATE_lexer___TObra___parser_index};
+  struct trace_t trace = {NULL, NULL, 771, LOCATE_lexer___TObra___parser_index};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_lexer;
   variable0 =  TAG_Int(50);
   goto return_label149;
   return_label149: while(false);
@@ -1864,13 +1972,14 @@ val_t lexer___TObra___parser_index(val_t  self) {
   return variable0;
 }
 void lexer___TObra___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_lexer, 776, LOCATE_lexer___TObra___init};
+  struct trace_t trace = {NULL, NULL, 776, LOCATE_lexer___TObra___init};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   val_t variable3;
   static val_t once_value_variable3_151; static int once_bool_variable3_151;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_lexer;
   variable0 =  param0;
   variable1 =  param1;
   variable2 =  param2;
@@ -1890,9 +1999,10 @@ void lexer___TObra___init(val_t  self, val_t  param0, val_t  param1, val_t  para
   return;
 }
 val_t lexer___TCbra___parser_index(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_lexer, 786, LOCATE_lexer___TCbra___parser_index};
+  struct trace_t trace = {NULL, NULL, 786, LOCATE_lexer___TCbra___parser_index};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_lexer;
   variable0 =  TAG_Int(51);
   goto return_label152;
   return_label152: while(false);
@@ -1900,13 +2010,14 @@ val_t lexer___TCbra___parser_index(val_t  self) {
   return variable0;
 }
 void lexer___TCbra___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_lexer, 791, LOCATE_lexer___TCbra___init};
+  struct trace_t trace = {NULL, NULL, 791, LOCATE_lexer___TCbra___init};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   val_t variable3;
   static val_t once_value_variable3_154; static int once_bool_variable3_154;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_lexer;
   variable0 =  param0;
   variable1 =  param1;
   variable2 =  param2;
@@ -1926,9 +2037,10 @@ void lexer___TCbra___init(val_t  self, val_t  param0, val_t  param1, val_t  para
   return;
 }
 val_t lexer___TComma___parser_index(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_lexer, 801, LOCATE_lexer___TComma___parser_index};
+  struct trace_t trace = {NULL, NULL, 801, LOCATE_lexer___TComma___parser_index};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_lexer;
   variable0 =  TAG_Int(52);
   goto return_label155;
   return_label155: while(false);
@@ -1936,13 +2048,14 @@ val_t lexer___TComma___parser_index(val_t  self) {
   return variable0;
 }
 void lexer___TComma___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_lexer, 806, LOCATE_lexer___TComma___init};
+  struct trace_t trace = {NULL, NULL, 806, LOCATE_lexer___TComma___init};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   val_t variable3;
   static val_t once_value_variable3_157; static int once_bool_variable3_157;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_lexer;
   variable0 =  param0;
   variable1 =  param1;
   variable2 =  param2;
@@ -1962,9 +2075,10 @@ void lexer___TComma___init(val_t  self, val_t  param0, val_t  param1, val_t  par
   return;
 }
 val_t lexer___TColumn___parser_index(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_lexer, 816, LOCATE_lexer___TColumn___parser_index};
+  struct trace_t trace = {NULL, NULL, 816, LOCATE_lexer___TColumn___parser_index};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_lexer;
   variable0 =  TAG_Int(53);
   goto return_label158;
   return_label158: while(false);
@@ -1972,13 +2086,14 @@ val_t lexer___TColumn___parser_index(val_t  self) {
   return variable0;
 }
 void lexer___TColumn___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_lexer, 821, LOCATE_lexer___TColumn___init};
+  struct trace_t trace = {NULL, NULL, 821, LOCATE_lexer___TColumn___init};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   val_t variable3;
   static val_t once_value_variable3_160; static int once_bool_variable3_160;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_lexer;
   variable0 =  param0;
   variable1 =  param1;
   variable2 =  param2;
@@ -1998,9 +2113,10 @@ void lexer___TColumn___init(val_t  self, val_t  param0, val_t  param1, val_t  pa
   return;
 }
 val_t lexer___TQuad___parser_index(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_lexer, 831, LOCATE_lexer___TQuad___parser_index};
+  struct trace_t trace = {NULL, NULL, 831, LOCATE_lexer___TQuad___parser_index};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_lexer;
   variable0 =  TAG_Int(54);
   goto return_label161;
   return_label161: while(false);
@@ -2008,13 +2124,14 @@ val_t lexer___TQuad___parser_index(val_t  self) {
   return variable0;
 }
 void lexer___TQuad___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_lexer, 836, LOCATE_lexer___TQuad___init};
+  struct trace_t trace = {NULL, NULL, 836, LOCATE_lexer___TQuad___init};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   val_t variable3;
   static val_t once_value_variable3_163; static int once_bool_variable3_163;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_lexer;
   variable0 =  param0;
   variable1 =  param1;
   variable2 =  param2;
@@ -2034,9 +2151,10 @@ void lexer___TQuad___init(val_t  self, val_t  param0, val_t  param1, val_t  para
   return;
 }
 val_t lexer___TAssign___parser_index(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_lexer, 846, LOCATE_lexer___TAssign___parser_index};
+  struct trace_t trace = {NULL, NULL, 846, LOCATE_lexer___TAssign___parser_index};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_lexer;
   variable0 =  TAG_Int(55);
   goto return_label164;
   return_label164: while(false);
@@ -2044,13 +2162,14 @@ val_t lexer___TAssign___parser_index(val_t  self) {
   return variable0;
 }
 void lexer___TAssign___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_lexer, 851, LOCATE_lexer___TAssign___init};
+  struct trace_t trace = {NULL, NULL, 851, LOCATE_lexer___TAssign___init};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   val_t variable3;
   static val_t once_value_variable3_166; static int once_bool_variable3_166;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_lexer;
   variable0 =  param0;
   variable1 =  param1;
   variable2 =  param2;
@@ -2070,9 +2189,10 @@ void lexer___TAssign___init(val_t  self, val_t  param0, val_t  param1, val_t  pa
   return;
 }
 val_t lexer___TPluseq___parser_index(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_lexer, 861, LOCATE_lexer___TPluseq___parser_index};
+  struct trace_t trace = {NULL, NULL, 861, LOCATE_lexer___TPluseq___parser_index};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_lexer;
   variable0 =  TAG_Int(56);
   goto return_label167;
   return_label167: while(false);
@@ -2080,13 +2200,14 @@ val_t lexer___TPluseq___parser_index(val_t  self) {
   return variable0;
 }
 void lexer___TPluseq___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_lexer, 866, LOCATE_lexer___TPluseq___init};
+  struct trace_t trace = {NULL, NULL, 866, LOCATE_lexer___TPluseq___init};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   val_t variable3;
   static val_t once_value_variable3_169; static int once_bool_variable3_169;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_lexer;
   variable0 =  param0;
   variable1 =  param1;
   variable2 =  param2;
@@ -2106,9 +2227,10 @@ void lexer___TPluseq___init(val_t  self, val_t  param0, val_t  param1, val_t  pa
   return;
 }
 val_t lexer___TMinuseq___parser_index(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_lexer, 876, LOCATE_lexer___TMinuseq___parser_index};
+  struct trace_t trace = {NULL, NULL, 876, LOCATE_lexer___TMinuseq___parser_index};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_lexer;
   variable0 =  TAG_Int(57);
   goto return_label170;
   return_label170: while(false);
@@ -2116,13 +2238,14 @@ val_t lexer___TMinuseq___parser_index(val_t  self) {
   return variable0;
 }
 void lexer___TMinuseq___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_lexer, 881, LOCATE_lexer___TMinuseq___init};
+  struct trace_t trace = {NULL, NULL, 881, LOCATE_lexer___TMinuseq___init};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   val_t variable3;
   static val_t once_value_variable3_172; static int once_bool_variable3_172;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_lexer;
   variable0 =  param0;
   variable1 =  param1;
   variable2 =  param2;
@@ -2142,9 +2265,10 @@ void lexer___TMinuseq___init(val_t  self, val_t  param0, val_t  param1, val_t  p
   return;
 }
 val_t lexer___TDotdotdot___parser_index(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_lexer, 891, LOCATE_lexer___TDotdotdot___parser_index};
+  struct trace_t trace = {NULL, NULL, 891, LOCATE_lexer___TDotdotdot___parser_index};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_lexer;
   variable0 =  TAG_Int(58);
   goto return_label173;
   return_label173: while(false);
@@ -2152,13 +2276,14 @@ val_t lexer___TDotdotdot___parser_index(val_t  self) {
   return variable0;
 }
 void lexer___TDotdotdot___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_lexer, 896, LOCATE_lexer___TDotdotdot___init};
+  struct trace_t trace = {NULL, NULL, 896, LOCATE_lexer___TDotdotdot___init};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   val_t variable3;
   static val_t once_value_variable3_175; static int once_bool_variable3_175;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_lexer;
   variable0 =  param0;
   variable1 =  param1;
   variable2 =  param2;
@@ -2178,9 +2303,10 @@ void lexer___TDotdotdot___init(val_t  self, val_t  param0, val_t  param1, val_t
   return;
 }
 val_t lexer___TDotdot___parser_index(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_lexer, 906, LOCATE_lexer___TDotdot___parser_index};
+  struct trace_t trace = {NULL, NULL, 906, LOCATE_lexer___TDotdot___parser_index};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_lexer;
   variable0 =  TAG_Int(59);
   goto return_label176;
   return_label176: while(false);
@@ -2188,13 +2314,14 @@ val_t lexer___TDotdot___parser_index(val_t  self) {
   return variable0;
 }
 void lexer___TDotdot___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_lexer, 911, LOCATE_lexer___TDotdot___init};
+  struct trace_t trace = {NULL, NULL, 911, LOCATE_lexer___TDotdot___init};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   val_t variable3;
   static val_t once_value_variable3_178; static int once_bool_variable3_178;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_lexer;
   variable0 =  param0;
   variable1 =  param1;
   variable2 =  param2;
@@ -2214,9 +2341,10 @@ void lexer___TDotdot___init(val_t  self, val_t  param0, val_t  param1, val_t  pa
   return;
 }
 val_t lexer___TDot___parser_index(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_lexer, 921, LOCATE_lexer___TDot___parser_index};
+  struct trace_t trace = {NULL, NULL, 921, LOCATE_lexer___TDot___parser_index};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_lexer;
   variable0 =  TAG_Int(60);
   goto return_label179;
   return_label179: while(false);
@@ -2224,13 +2352,14 @@ val_t lexer___TDot___parser_index(val_t  self) {
   return variable0;
 }
 void lexer___TDot___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_lexer, 926, LOCATE_lexer___TDot___init};
+  struct trace_t trace = {NULL, NULL, 926, LOCATE_lexer___TDot___init};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   val_t variable3;
   static val_t once_value_variable3_181; static int once_bool_variable3_181;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_lexer;
   variable0 =  param0;
   variable1 =  param1;
   variable2 =  param2;
@@ -2250,9 +2379,10 @@ void lexer___TDot___init(val_t  self, val_t  param0, val_t  param1, val_t  param
   return;
 }
 val_t lexer___TPlus___parser_index(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_lexer, 936, LOCATE_lexer___TPlus___parser_index};
+  struct trace_t trace = {NULL, NULL, 936, LOCATE_lexer___TPlus___parser_index};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_lexer;
   variable0 =  TAG_Int(61);
   goto return_label182;
   return_label182: while(false);
@@ -2260,13 +2390,14 @@ val_t lexer___TPlus___parser_index(val_t  self) {
   return variable0;
 }
 void lexer___TPlus___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_lexer, 941, LOCATE_lexer___TPlus___init};
+  struct trace_t trace = {NULL, NULL, 941, LOCATE_lexer___TPlus___init};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   val_t variable3;
   static val_t once_value_variable3_184; static int once_bool_variable3_184;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_lexer;
   variable0 =  param0;
   variable1 =  param1;
   variable2 =  param2;
@@ -2286,9 +2417,10 @@ void lexer___TPlus___init(val_t  self, val_t  param0, val_t  param1, val_t  para
   return;
 }
 val_t lexer___TMinus___parser_index(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_lexer, 951, LOCATE_lexer___TMinus___parser_index};
+  struct trace_t trace = {NULL, NULL, 951, LOCATE_lexer___TMinus___parser_index};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_lexer;
   variable0 =  TAG_Int(62);
   goto return_label185;
   return_label185: while(false);
@@ -2296,13 +2428,14 @@ val_t lexer___TMinus___parser_index(val_t  self) {
   return variable0;
 }
 void lexer___TMinus___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_lexer, 956, LOCATE_lexer___TMinus___init};
+  struct trace_t trace = {NULL, NULL, 956, LOCATE_lexer___TMinus___init};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   val_t variable3;
   static val_t once_value_variable3_187; static int once_bool_variable3_187;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_lexer;
   variable0 =  param0;
   variable1 =  param1;
   variable2 =  param2;
@@ -2322,9 +2455,10 @@ void lexer___TMinus___init(val_t  self, val_t  param0, val_t  param1, val_t  par
   return;
 }
 val_t lexer___TStar___parser_index(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_lexer, 966, LOCATE_lexer___TStar___parser_index};
+  struct trace_t trace = {NULL, NULL, 966, LOCATE_lexer___TStar___parser_index};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_lexer;
   variable0 =  TAG_Int(63);
   goto return_label188;
   return_label188: while(false);
@@ -2332,13 +2466,14 @@ val_t lexer___TStar___parser_index(val_t  self) {
   return variable0;
 }
 void lexer___TStar___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_lexer, 971, LOCATE_lexer___TStar___init};
+  struct trace_t trace = {NULL, NULL, 971, LOCATE_lexer___TStar___init};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   val_t variable3;
   static val_t once_value_variable3_190; static int once_bool_variable3_190;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_lexer;
   variable0 =  param0;
   variable1 =  param1;
   variable2 =  param2;
@@ -2358,9 +2493,10 @@ void lexer___TStar___init(val_t  self, val_t  param0, val_t  param1, val_t  para
   return;
 }
 val_t lexer___TSlash___parser_index(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_lexer, 981, LOCATE_lexer___TSlash___parser_index};
+  struct trace_t trace = {NULL, NULL, 981, LOCATE_lexer___TSlash___parser_index};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_lexer;
   variable0 =  TAG_Int(64);
   goto return_label191;
   return_label191: while(false);
@@ -2368,13 +2504,14 @@ val_t lexer___TSlash___parser_index(val_t  self) {
   return variable0;
 }
 void lexer___TSlash___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_lexer, 986, LOCATE_lexer___TSlash___init};
+  struct trace_t trace = {NULL, NULL, 986, LOCATE_lexer___TSlash___init};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   val_t variable3;
   static val_t once_value_variable3_193; static int once_bool_variable3_193;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_lexer;
   variable0 =  param0;
   variable1 =  param1;
   variable2 =  param2;
@@ -2394,9 +2531,10 @@ void lexer___TSlash___init(val_t  self, val_t  param0, val_t  param1, val_t  par
   return;
 }
 val_t lexer___TPercent___parser_index(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_lexer, 996, LOCATE_lexer___TPercent___parser_index};
+  struct trace_t trace = {NULL, NULL, 996, LOCATE_lexer___TPercent___parser_index};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_lexer;
   variable0 =  TAG_Int(65);
   goto return_label194;
   return_label194: while(false);
@@ -2404,13 +2542,14 @@ val_t lexer___TPercent___parser_index(val_t  self) {
   return variable0;
 }
 void lexer___TPercent___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_lexer, 1001, LOCATE_lexer___TPercent___init};
+  struct trace_t trace = {NULL, NULL, 1001, LOCATE_lexer___TPercent___init};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   val_t variable3;
   static val_t once_value_variable3_196; static int once_bool_variable3_196;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_lexer;
   variable0 =  param0;
   variable1 =  param1;
   variable2 =  param2;
@@ -2430,9 +2569,10 @@ void lexer___TPercent___init(val_t  self, val_t  param0, val_t  param1, val_t  p
   return;
 }
 val_t lexer___TEq___parser_index(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_lexer, 1011, LOCATE_lexer___TEq___parser_index};
+  struct trace_t trace = {NULL, NULL, 1011, LOCATE_lexer___TEq___parser_index};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_lexer;
   variable0 =  TAG_Int(66);
   goto return_label197;
   return_label197: while(false);
@@ -2440,13 +2580,14 @@ val_t lexer___TEq___parser_index(val_t  self) {
   return variable0;
 }
 void lexer___TEq___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_lexer, 1016, LOCATE_lexer___TEq___init};
+  struct trace_t trace = {NULL, NULL, 1016, LOCATE_lexer___TEq___init};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   val_t variable3;
   static val_t once_value_variable3_199; static int once_bool_variable3_199;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_lexer;
   variable0 =  param0;
   variable1 =  param1;
   variable2 =  param2;
@@ -2466,9 +2607,10 @@ void lexer___TEq___init(val_t  self, val_t  param0, val_t  param1, val_t  param2
   return;
 }
 val_t lexer___TNe___parser_index(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_lexer, 1026, LOCATE_lexer___TNe___parser_index};
+  struct trace_t trace = {NULL, NULL, 1026, LOCATE_lexer___TNe___parser_index};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_lexer;
   variable0 =  TAG_Int(67);
   goto return_label200;
   return_label200: while(false);
@@ -2476,13 +2618,14 @@ val_t lexer___TNe___parser_index(val_t  self) {
   return variable0;
 }
 void lexer___TNe___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_lexer, 1031, LOCATE_lexer___TNe___init};
+  struct trace_t trace = {NULL, NULL, 1031, LOCATE_lexer___TNe___init};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   val_t variable3;
   static val_t once_value_variable3_202; static int once_bool_variable3_202;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_lexer;
   variable0 =  param0;
   variable1 =  param1;
   variable2 =  param2;
@@ -2502,9 +2645,10 @@ void lexer___TNe___init(val_t  self, val_t  param0, val_t  param1, val_t  param2
   return;
 }
 val_t lexer___TLt___parser_index(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_lexer, 1041, LOCATE_lexer___TLt___parser_index};
+  struct trace_t trace = {NULL, NULL, 1041, LOCATE_lexer___TLt___parser_index};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_lexer;
   variable0 =  TAG_Int(68);
   goto return_label203;
   return_label203: while(false);
@@ -2512,13 +2656,14 @@ val_t lexer___TLt___parser_index(val_t  self) {
   return variable0;
 }
 void lexer___TLt___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_lexer, 1046, LOCATE_lexer___TLt___init};
+  struct trace_t trace = {NULL, NULL, 1046, LOCATE_lexer___TLt___init};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   val_t variable3;
   static val_t once_value_variable3_205; static int once_bool_variable3_205;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_lexer;
   variable0 =  param0;
   variable1 =  param1;
   variable2 =  param2;
@@ -2538,9 +2683,10 @@ void lexer___TLt___init(val_t  self, val_t  param0, val_t  param1, val_t  param2
   return;
 }
 val_t lexer___TLe___parser_index(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_lexer, 1056, LOCATE_lexer___TLe___parser_index};
+  struct trace_t trace = {NULL, NULL, 1056, LOCATE_lexer___TLe___parser_index};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_lexer;
   variable0 =  TAG_Int(69);
   goto return_label206;
   return_label206: while(false);
@@ -2548,13 +2694,14 @@ val_t lexer___TLe___parser_index(val_t  self) {
   return variable0;
 }
 void lexer___TLe___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_lexer, 1061, LOCATE_lexer___TLe___init};
+  struct trace_t trace = {NULL, NULL, 1061, LOCATE_lexer___TLe___init};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   val_t variable3;
   static val_t once_value_variable3_208; static int once_bool_variable3_208;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_lexer;
   variable0 =  param0;
   variable1 =  param1;
   variable2 =  param2;
@@ -2574,9 +2721,10 @@ void lexer___TLe___init(val_t  self, val_t  param0, val_t  param1, val_t  param2
   return;
 }
 val_t lexer___TGt___parser_index(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_lexer, 1071, LOCATE_lexer___TGt___parser_index};
+  struct trace_t trace = {NULL, NULL, 1071, LOCATE_lexer___TGt___parser_index};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_lexer;
   variable0 =  TAG_Int(70);
   goto return_label209;
   return_label209: while(false);
@@ -2584,13 +2732,14 @@ val_t lexer___TGt___parser_index(val_t  self) {
   return variable0;
 }
 void lexer___TGt___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_lexer, 1076, LOCATE_lexer___TGt___init};
+  struct trace_t trace = {NULL, NULL, 1076, LOCATE_lexer___TGt___init};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   val_t variable3;
   static val_t once_value_variable3_211; static int once_bool_variable3_211;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_lexer;
   variable0 =  param0;
   variable1 =  param1;
   variable2 =  param2;
@@ -2610,9 +2759,10 @@ void lexer___TGt___init(val_t  self, val_t  param0, val_t  param1, val_t  param2
   return;
 }
 val_t lexer___TGe___parser_index(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_lexer, 1086, LOCATE_lexer___TGe___parser_index};
+  struct trace_t trace = {NULL, NULL, 1086, LOCATE_lexer___TGe___parser_index};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_lexer;
   variable0 =  TAG_Int(71);
   goto return_label212;
   return_label212: while(false);
@@ -2620,13 +2770,14 @@ val_t lexer___TGe___parser_index(val_t  self) {
   return variable0;
 }
 void lexer___TGe___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_lexer, 1091, LOCATE_lexer___TGe___init};
+  struct trace_t trace = {NULL, NULL, 1091, LOCATE_lexer___TGe___init};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   val_t variable3;
   static val_t once_value_variable3_214; static int once_bool_variable3_214;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_lexer;
   variable0 =  param0;
   variable1 =  param1;
   variable2 =  param2;
@@ -2646,9 +2797,10 @@ void lexer___TGe___init(val_t  self, val_t  param0, val_t  param1, val_t  param2
   return;
 }
 val_t lexer___TStarship___parser_index(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_lexer, 1101, LOCATE_lexer___TStarship___parser_index};
+  struct trace_t trace = {NULL, NULL, 1101, LOCATE_lexer___TStarship___parser_index};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_lexer;
   variable0 =  TAG_Int(72);
   goto return_label215;
   return_label215: while(false);
@@ -2656,13 +2808,14 @@ val_t lexer___TStarship___parser_index(val_t  self) {
   return variable0;
 }
 void lexer___TStarship___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_lexer, 1106, LOCATE_lexer___TStarship___init};
+  struct trace_t trace = {NULL, NULL, 1106, LOCATE_lexer___TStarship___init};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   val_t variable3;
   static val_t once_value_variable3_217; static int once_bool_variable3_217;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_lexer;
   variable0 =  param0;
   variable1 =  param1;
   variable2 =  param2;
@@ -2682,9 +2835,10 @@ void lexer___TStarship___init(val_t  self, val_t  param0, val_t  param1, val_t
   return;
 }
 val_t lexer___TClassid___parser_index(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_lexer, 1116, LOCATE_lexer___TClassid___parser_index};
+  struct trace_t trace = {NULL, NULL, 1116, LOCATE_lexer___TClassid___parser_index};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_lexer;
   variable0 =  TAG_Int(73);
   goto return_label218;
   return_label218: while(false);
@@ -2692,12 +2846,13 @@ val_t lexer___TClassid___parser_index(val_t  self) {
   return variable0;
 }
 void lexer___TClassid___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, val_t  param3, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_lexer, 1121, LOCATE_lexer___TClassid___init};
+  struct trace_t trace = {NULL, NULL, 1121, LOCATE_lexer___TClassid___init};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   val_t variable3;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_lexer;
   variable0 =  param0;
   variable1 =  param1;
   variable2 =  param2;
@@ -2712,9 +2867,10 @@ void lexer___TClassid___init(val_t  self, val_t  param0, val_t  param1, val_t  p
   return;
 }
 val_t lexer___TId___parser_index(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_lexer, 1131, LOCATE_lexer___TId___parser_index};
+  struct trace_t trace = {NULL, NULL, 1131, LOCATE_lexer___TId___parser_index};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_lexer;
   variable0 =  TAG_Int(74);
   goto return_label220;
   return_label220: while(false);
@@ -2722,12 +2878,13 @@ val_t lexer___TId___parser_index(val_t  self) {
   return variable0;
 }
 void lexer___TId___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, val_t  param3, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_lexer, 1136, LOCATE_lexer___TId___init};
+  struct trace_t trace = {NULL, NULL, 1136, LOCATE_lexer___TId___init};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   val_t variable3;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_lexer;
   variable0 =  param0;
   variable1 =  param1;
   variable2 =  param2;
@@ -2742,9 +2899,10 @@ void lexer___TId___init(val_t  self, val_t  param0, val_t  param1, val_t  param2
   return;
 }
 val_t lexer___TAttrid___parser_index(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_lexer, 1146, LOCATE_lexer___TAttrid___parser_index};
+  struct trace_t trace = {NULL, NULL, 1146, LOCATE_lexer___TAttrid___parser_index};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_lexer;
   variable0 =  TAG_Int(75);
   goto return_label222;
   return_label222: while(false);
@@ -2752,12 +2910,13 @@ val_t lexer___TAttrid___parser_index(val_t  self) {
   return variable0;
 }
 void lexer___TAttrid___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, val_t  param3, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_lexer, 1151, LOCATE_lexer___TAttrid___init};
+  struct trace_t trace = {NULL, NULL, 1151, LOCATE_lexer___TAttrid___init};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   val_t variable3;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_lexer;
   variable0 =  param0;
   variable1 =  param1;
   variable2 =  param2;
@@ -2772,9 +2931,10 @@ void lexer___TAttrid___init(val_t  self, val_t  param0, val_t  param1, val_t  pa
   return;
 }
 val_t lexer___TNumber___parser_index(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_lexer, 1161, LOCATE_lexer___TNumber___parser_index};
+  struct trace_t trace = {NULL, NULL, 1161, LOCATE_lexer___TNumber___parser_index};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_lexer;
   variable0 =  TAG_Int(76);
   goto return_label224;
   return_label224: while(false);
@@ -2782,12 +2942,13 @@ val_t lexer___TNumber___parser_index(val_t  self) {
   return variable0;
 }
 void lexer___TNumber___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, val_t  param3, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_lexer, 1166, LOCATE_lexer___TNumber___init};
+  struct trace_t trace = {NULL, NULL, 1166, LOCATE_lexer___TNumber___init};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   val_t variable3;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_lexer;
   variable0 =  param0;
   variable1 =  param1;
   variable2 =  param2;
@@ -2802,9 +2963,10 @@ void lexer___TNumber___init(val_t  self, val_t  param0, val_t  param1, val_t  pa
   return;
 }
 val_t lexer___TFloat___parser_index(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_lexer, 1176, LOCATE_lexer___TFloat___parser_index};
+  struct trace_t trace = {NULL, NULL, 1176, LOCATE_lexer___TFloat___parser_index};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_lexer;
   variable0 =  TAG_Int(77);
   goto return_label226;
   return_label226: while(false);
@@ -2812,12 +2974,13 @@ val_t lexer___TFloat___parser_index(val_t  self) {
   return variable0;
 }
 void lexer___TFloat___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, val_t  param3, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_lexer, 1181, LOCATE_lexer___TFloat___init};
+  struct trace_t trace = {NULL, NULL, 1181, LOCATE_lexer___TFloat___init};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   val_t variable3;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_lexer;
   variable0 =  param0;
   variable1 =  param1;
   variable2 =  param2;
@@ -2832,9 +2995,10 @@ void lexer___TFloat___init(val_t  self, val_t  param0, val_t  param1, val_t  par
   return;
 }
 val_t lexer___TChar___parser_index(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_lexer, 1191, LOCATE_lexer___TChar___parser_index};
+  struct trace_t trace = {NULL, NULL, 1191, LOCATE_lexer___TChar___parser_index};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_lexer;
   variable0 =  TAG_Int(78);
   goto return_label228;
   return_label228: while(false);
@@ -2842,12 +3006,13 @@ val_t lexer___TChar___parser_index(val_t  self) {
   return variable0;
 }
 void lexer___TChar___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, val_t  param3, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_lexer, 1196, LOCATE_lexer___TChar___init};
+  struct trace_t trace = {NULL, NULL, 1196, LOCATE_lexer___TChar___init};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   val_t variable3;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_lexer;
   variable0 =  param0;
   variable1 =  param1;
   variable2 =  param2;
@@ -2862,9 +3027,10 @@ void lexer___TChar___init(val_t  self, val_t  param0, val_t  param1, val_t  para
   return;
 }
 val_t lexer___TString___parser_index(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_lexer, 1206, LOCATE_lexer___TString___parser_index};
+  struct trace_t trace = {NULL, NULL, 1206, LOCATE_lexer___TString___parser_index};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_lexer;
   variable0 =  TAG_Int(79);
   goto return_label230;
   return_label230: while(false);
@@ -2872,12 +3038,13 @@ val_t lexer___TString___parser_index(val_t  self) {
   return variable0;
 }
 void lexer___TString___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, val_t  param3, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_lexer, 1211, LOCATE_lexer___TString___init};
+  struct trace_t trace = {NULL, NULL, 1211, LOCATE_lexer___TString___init};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   val_t variable3;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_lexer;
   variable0 =  param0;
   variable1 =  param1;
   variable2 =  param2;
@@ -2892,9 +3059,10 @@ void lexer___TString___init(val_t  self, val_t  param0, val_t  param1, val_t  pa
   return;
 }
 val_t lexer___TStartString___parser_index(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_lexer, 1221, LOCATE_lexer___TStartString___parser_index};
+  struct trace_t trace = {NULL, NULL, 1221, LOCATE_lexer___TStartString___parser_index};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_lexer;
   variable0 =  TAG_Int(80);
   goto return_label232;
   return_label232: while(false);
@@ -2902,12 +3070,13 @@ val_t lexer___TStartString___parser_index(val_t  self) {
   return variable0;
 }
 void lexer___TStartString___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, val_t  param3, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_lexer, 1226, LOCATE_lexer___TStartString___init};
+  struct trace_t trace = {NULL, NULL, 1226, LOCATE_lexer___TStartString___init};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   val_t variable3;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_lexer;
   variable0 =  param0;
   variable1 =  param1;
   variable2 =  param2;
@@ -2922,9 +3091,10 @@ void lexer___TStartString___init(val_t  self, val_t  param0, val_t  param1, val_
   return;
 }
 val_t lexer___TMidString___parser_index(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_lexer, 1236, LOCATE_lexer___TMidString___parser_index};
+  struct trace_t trace = {NULL, NULL, 1236, LOCATE_lexer___TMidString___parser_index};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_lexer;
   variable0 =  TAG_Int(81);
   goto return_label234;
   return_label234: while(false);
@@ -2932,12 +3102,13 @@ val_t lexer___TMidString___parser_index(val_t  self) {
   return variable0;
 }
 void lexer___TMidString___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, val_t  param3, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_lexer, 1241, LOCATE_lexer___TMidString___init};
+  struct trace_t trace = {NULL, NULL, 1241, LOCATE_lexer___TMidString___init};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   val_t variable3;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_lexer;
   variable0 =  param0;
   variable1 =  param1;
   variable2 =  param2;
@@ -2952,9 +3123,10 @@ void lexer___TMidString___init(val_t  self, val_t  param0, val_t  param1, val_t
   return;
 }
 val_t lexer___TEndString___parser_index(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_lexer, 1251, LOCATE_lexer___TEndString___parser_index};
+  struct trace_t trace = {NULL, NULL, 1251, LOCATE_lexer___TEndString___parser_index};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_lexer;
   variable0 =  TAG_Int(82);
   goto return_label236;
   return_label236: while(false);
@@ -2962,12 +3134,13 @@ val_t lexer___TEndString___parser_index(val_t  self) {
   return variable0;
 }
 void lexer___TEndString___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, val_t  param3, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_lexer, 1256, LOCATE_lexer___TEndString___init};
+  struct trace_t trace = {NULL, NULL, 1256, LOCATE_lexer___TEndString___init};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   val_t variable3;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_lexer;
   variable0 =  param0;
   variable1 =  param1;
   variable2 =  param2;
@@ -2982,9 +3155,10 @@ void lexer___TEndString___init(val_t  self, val_t  param0, val_t  param1, val_t
   return;
 }
 val_t lexer___EOF___parser_index(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_lexer, 1267, LOCATE_lexer___EOF___parser_index};
+  struct trace_t trace = {NULL, NULL, 1267, LOCATE_lexer___EOF___parser_index};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_lexer;
   variable0 =  TAG_Int(83);
   goto return_label238;
   return_label238: while(false);
@@ -2992,12 +3166,13 @@ val_t lexer___EOF___parser_index(val_t  self) {
   return variable0;
 }
 void lexer___EOF___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_lexer, 1272, LOCATE_lexer___EOF___init};
+  struct trace_t trace = {NULL, NULL, 1272, LOCATE_lexer___EOF___init};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   val_t variable3;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_lexer;
   variable0 =  param0;
   variable1 =  param1;
   variable2 =  param2;
@@ -3012,25 +3187,28 @@ void lexer___EOF___init(val_t  self, val_t  param0, val_t  param1, val_t  param2
   return;
 }
 val_t lexer___PError___message(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_lexer, 1282, LOCATE_lexer___PError___message};
+  struct trace_t trace = {NULL, NULL, 1282, LOCATE_lexer___PError___message};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_lexer;
   tracehead = trace.prev;
   return ATTR_lexer___PError____message( self) /*PError::_message*/;
 }
 void lexer___PError___message__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_lexer, 1282, LOCATE_lexer___PError___message__eq};
+  struct trace_t trace = {NULL, NULL, 1282, LOCATE_lexer___PError___message__eq};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_lexer;
   ATTR_lexer___PError____message( self) /*PError::_message*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 void lexer___PError___init_error(val_t  self, val_t  param0, val_t  param1, val_t  param2, val_t  param3, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_lexer, 1284, LOCATE_lexer___PError___init_error};
+  struct trace_t trace = {NULL, NULL, 1284, LOCATE_lexer___PError___init_error};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   val_t variable3;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_lexer;
   variable0 =  param0;
   variable1 =  param1;
   variable2 =  param2;
@@ -3043,15 +3221,17 @@ void lexer___PError___init_error(val_t  self, val_t  param0, val_t  param1, val_
   return;
 }
 val_t lexer___Lexer___filename(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_lexer, 1301, LOCATE_lexer___Lexer___filename};
+  struct trace_t trace = {NULL, NULL, 1301, LOCATE_lexer___Lexer___filename};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_lexer;
   tracehead = trace.prev;
   return ATTR_lexer___Lexer____filename( self) /*Lexer::_filename*/;
 }
 val_t lexer___Lexer___state_initial(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_lexer, 1328, LOCATE_lexer___Lexer___state_initial};
+  struct trace_t trace = {NULL, NULL, 1328, LOCATE_lexer___Lexer___state_initial};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_lexer;
   variable0 =  TAG_Int(0);
   goto return_label241;
   return_label241: while(false);
@@ -3059,11 +3239,12 @@ val_t lexer___Lexer___state_initial(val_t  self) {
   return variable0;
 }
 void lexer___Lexer___init(val_t  self, val_t  param0, val_t  param1, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_lexer, 1331, LOCATE_lexer___Lexer___init};
+  struct trace_t trace = {NULL, NULL, 1331, LOCATE_lexer___Lexer___init};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_lexer;
   variable0 =  param0;
   variable1 =  param1;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_Lexer].i]) return;
@@ -3082,9 +3263,10 @@ void lexer___Lexer___init(val_t  self, val_t  param0, val_t  param1, int* init_t
   return;
 }
 val_t lexer___Lexer___peek(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_lexer, 1343, LOCATE_lexer___Lexer___peek};
+  struct trace_t trace = {NULL, NULL, 1343, LOCATE_lexer___Lexer___peek};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_lexer;
   while (true) { /*while*/
     variable0 = ATTR_lexer___Lexer____token( self) /*Lexer::_token*/;
     variable0 = TAG_Bool((variable0 ==  NIT_NULL /*null*/) || ((variable0 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable0,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable0, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable0,COLOR_kernel___Object_____eqeq))(variable0,  NIT_NULL /*null*/) /*Object::==*/)))));
@@ -3101,10 +3283,11 @@ val_t lexer___Lexer___peek(val_t  self) {
   return variable0;
 }
 val_t lexer___Lexer___next(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_lexer, 1352, LOCATE_lexer___Lexer___next};
+  struct trace_t trace = {NULL, NULL, 1352, LOCATE_lexer___Lexer___next};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_lexer;
   variable1 = ATTR_lexer___Lexer____token( self) /*Lexer::_token*/;
   variable0 = variable1;
   while (true) { /*while*/
@@ -3123,7 +3306,7 @@ val_t lexer___Lexer___next(val_t  self) {
   return variable0;
 }
 val_t lexer___Lexer___get_token(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_lexer, 1363, LOCATE_lexer___Lexer___get_token};
+  struct trace_t trace = {NULL, NULL, 1363, LOCATE_lexer___Lexer___get_token};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -3147,6 +3330,7 @@ val_t lexer___Lexer___get_token(val_t  self) {
           val_t variable20;
           val_t variable21;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_lexer;
   variable0 =  TAG_Int(0);
   variable2 = ATTR_lexer___Lexer____pos( self) /*Lexer::_pos*/;
   variable1 = variable2;
@@ -4664,13 +4848,14 @@ val_t lexer___Lexer___get_token(val_t  self) {
   return variable0;
 }
 val_t lexer___Lexer___get_char(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_lexer, 2058, LOCATE_lexer___Lexer___get_char};
+  struct trace_t trace = {NULL, NULL, 2058, LOCATE_lexer___Lexer___get_char};
   val_t variable0;
   val_t variable1;
   val_t variable2;
     val_t variable3;
     val_t variable4;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_lexer;
   variable0 = ATTR_lexer___Lexer____eof( self) /*Lexer::_eof*/;
   if (UNTAG_Bool(variable0)) { /*if*/
     variable0 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
@@ -4706,7 +4891,7 @@ val_t lexer___Lexer___get_char(val_t  self) {
   return variable0;
 }
 void lexer___Lexer___push_back(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_lexer, 2084, LOCATE_lexer___Lexer___push_back};
+  struct trace_t trace = {NULL, NULL, 2084, LOCATE_lexer___Lexer___push_back};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -4714,6 +4899,7 @@ void lexer___Lexer___push_back(val_t  self, val_t  param0) {
     val_t variable4;
     val_t variable5;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_lexer;
   variable0 =  param0;
   variable2 = ATTR_lexer___Lexer____text( self) /*Lexer::_text*/;
   variable2 = ((array___AbstractArray___length_t)CALL(variable2,COLOR_abstract_collection___Collection___length))(variable2) /*AbstractArray::length*/;
@@ -4741,7 +4927,7 @@ void lexer___Lexer___push_back(val_t  self, val_t  param0) {
   return;
 }
 void lexer___Lexer___build_goto_table(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_lexer, 2099, LOCATE_lexer___Lexer___build_goto_table};
+  struct trace_t trace = {NULL, NULL, 2099, LOCATE_lexer___Lexer___build_goto_table};
   val_t variable0;
   static val_t once_value_variable0_264; static int once_bool_variable0_264;
     val_t variable1;
@@ -5001,6 +5187,7 @@ void lexer___Lexer___build_goto_table(val_t  self) {
     val_t variable255;
     val_t variable256;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_lexer;
   if (once_bool_variable0_264) variable0 = once_value_variable0_264;
   else {
     variable0 = NEW_array___Array___with_capacity(TAG_Int(1)); /*new Array[E]*/
@@ -9031,10 +9218,11 @@ void lexer___Lexer___build_goto_table(val_t  self) {
   return;
 }
 val_t lexer___Lexer___nil_array(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_lexer, 3250, LOCATE_lexer___Lexer___nil_array};
+  struct trace_t trace = {NULL, NULL, 3250, LOCATE_lexer___Lexer___nil_array};
   val_t variable0;
   static val_t once_value_variable0_266; static int once_bool_variable0_266;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_lexer;
   if (once_bool_variable0_266) variable0 = once_value_variable0_266;
   else {
     variable0 = NEW_array___Array___init(); /*new Array[E]*/
@@ -9047,7 +9235,7 @@ val_t lexer___Lexer___nil_array(val_t  self) {
   return variable0;
 }
 void lexer___Lexer___build_accept_table(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_lexer, 3256, LOCATE_lexer___Lexer___build_accept_table};
+  struct trace_t trace = {NULL, NULL, 3256, LOCATE_lexer___Lexer___build_accept_table};
   val_t variable0;
   static val_t once_value_variable0_268; static int once_bool_variable0_268;
     val_t variable1;
@@ -9068,6 +9256,7 @@ void lexer___Lexer___build_accept_table(val_t  self) {
     val_t variable16;
     val_t variable17;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_lexer;
   if (once_bool_variable0_268) variable0 = once_value_variable0_268;
   else {
     variable0 = NEW_array___Array___with_capacity(TAG_Int(1)); /*new Array[E]*/