Update c_src. Enable one gcc pass bootstrap.
authorJean Privat <jean@pryen.org>
Fri, 26 Dec 2008 03:29:00 +0000 (22:29 -0500)
committerJean Privat <jean@pryen.org>
Fri, 26 Dec 2008 03:29:00 +0000 (22:29 -0500)
89 files changed:
c_src/abstract_collection._sep.c
c_src/abstract_collection._sep.h
c_src/abstractmetamodel._sep.c
c_src/abstractmetamodel._sep.h
c_src/abstracttool._sep.c
c_src/abstracttool._sep.h
c_src/array._sep.c
c_src/array._sep.h
c_src/compiling._sep.c
c_src/compiling._sep.h
c_src/compiling_base._sep.c
c_src/compiling_base._sep.h
c_src/compiling_global._sep.c
c_src/compiling_global._sep.h
c_src/compiling_methods._sep.c
c_src/compiling_methods._sep.h
c_src/control_flow._sep.c
c_src/control_flow._sep.h
c_src/environ._sep.c
c_src/environ._sep.h
c_src/exec._sep.c
c_src/exec._sep.h
c_src/file._sep.c
c_src/file._sep.h
c_src/genericity._sep.c
c_src/genericity._sep.h
c_src/hash._sep.c
c_src/hash._sep.h
c_src/inheritance._sep.c
c_src/inheritance._sep.h
c_src/kernel._sep.c
c_src/kernel._sep.h
c_src/lexer._sep.c
c_src/lexer._sep.h
c_src/list._sep.c
c_src/list._sep.h
c_src/math._sep.c
c_src/math._sep.h
c_src/metamodel._sep.h
c_src/mmbuilder._sep.c
c_src/mmbuilder._sep.h
c_src/mmloader._sep.c
c_src/mmloader._sep.h
c_src/nitc._sep.c
c_src/nitc._sep.h
c_src/nitc._tables.c
c_src/opts._sep.c
c_src/opts._sep.h
c_src/parser._sep.c
c_src/parser._sep.h
c_src/parser_nodes._sep.c
c_src/parser_nodes._sep.h
c_src/parser_prod._sep.c
c_src/parser_prod._sep.h
c_src/parser_tables._sep.c
c_src/parser_tables._sep.h
c_src/partial_order._sep.c
c_src/partial_order._sep.h
c_src/range._sep.c
c_src/range._sep.h
c_src/sorter._sep.c
c_src/sorter._sep.h
c_src/standard._sep.h
c_src/static_type._sep.c
c_src/static_type._sep.h
c_src/stream._sep.c
c_src/stream._sep.h
c_src/string._sep.c
c_src/string._sep.h
c_src/string_search._sep.c
c_src/string_search._sep.h
c_src/symbol._sep.c
c_src/symbol._sep.h
c_src/syntax._sep.c
c_src/syntax._sep.h
c_src/syntax_base._sep.c
c_src/syntax_base._sep.h
c_src/time._sep.c
c_src/time._sep.h
c_src/type_formal._sep.c
c_src/type_formal._sep.h
c_src/typing._sep.c
c_src/typing._sep.h
c_src/utils._sep.c
c_src/utils._sep.h
c_src/vararg._sep.c
c_src/vararg._sep.h
c_src/virtualtype._sep.c
c_src/virtualtype._sep.h

index 5f61844..a54bdbc 100644 (file)
@@ -1,8 +1,9 @@
 /* This C file is generated by NIT to compile module abstract_collection. */
 #include "abstract_collection._sep.h"
 val_t abstract_collection___Collection___iterator(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_abstract_collection, 42, LOCATE_abstract_collection___Collection___iterator};
+  struct trace_t trace = {NULL, NULL, 42, LOCATE_abstract_collection___Collection___iterator};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_abstract_collection;
   fprintf(stderr, "Deferred method %s called");
   fprintf(stderr, " (%s:%d)\n", LOCATE_abstract_collection, 42);
   nit_exit(1);
@@ -10,8 +11,9 @@ val_t abstract_collection___Collection___iterator(val_t  self) {
   return NIT_NULL;
 }
 val_t abstract_collection___Collection___is_empty(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_abstract_collection, 45, LOCATE_abstract_collection___Collection___is_empty};
+  struct trace_t trace = {NULL, NULL, 45, LOCATE_abstract_collection___Collection___is_empty};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_abstract_collection;
   fprintf(stderr, "Deferred method %s called");
   fprintf(stderr, " (%s:%d)\n", LOCATE_abstract_collection, 45);
   nit_exit(1);
@@ -19,8 +21,9 @@ val_t abstract_collection___Collection___is_empty(val_t  self) {
   return NIT_NULL;
 }
 val_t abstract_collection___Collection___length(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_abstract_collection, 48, LOCATE_abstract_collection___Collection___length};
+  struct trace_t trace = {NULL, NULL, 48, LOCATE_abstract_collection___Collection___length};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_abstract_collection;
   fprintf(stderr, "Deferred method %s called");
   fprintf(stderr, " (%s:%d)\n", LOCATE_abstract_collection, 48);
   nit_exit(1);
@@ -28,8 +31,9 @@ val_t abstract_collection___Collection___length(val_t  self) {
   return NIT_NULL;
 }
 val_t abstract_collection___Collection___has(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_abstract_collection, 51, LOCATE_abstract_collection___Collection___has};
+  struct trace_t trace = {NULL, NULL, 51, LOCATE_abstract_collection___Collection___has};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_abstract_collection;
   fprintf(stderr, "Deferred method %s called");
   fprintf(stderr, " (%s:%d)\n", LOCATE_abstract_collection, 51);
   nit_exit(1);
@@ -37,8 +41,9 @@ val_t abstract_collection___Collection___has(val_t  self, val_t  param0) {
   return NIT_NULL;
 }
 val_t abstract_collection___Collection___has_only(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_abstract_collection, 55, LOCATE_abstract_collection___Collection___has_only};
+  struct trace_t trace = {NULL, NULL, 55, LOCATE_abstract_collection___Collection___has_only};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_abstract_collection;
   fprintf(stderr, "Deferred method %s called");
   fprintf(stderr, " (%s:%d)\n", LOCATE_abstract_collection, 55);
   nit_exit(1);
@@ -46,8 +51,9 @@ val_t abstract_collection___Collection___has_only(val_t  self, val_t  param0) {
   return NIT_NULL;
 }
 val_t abstract_collection___Collection___count(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_abstract_collection, 60, LOCATE_abstract_collection___Collection___count};
+  struct trace_t trace = {NULL, NULL, 60, LOCATE_abstract_collection___Collection___count};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_abstract_collection;
   fprintf(stderr, "Deferred method %s called");
   fprintf(stderr, " (%s:%d)\n", LOCATE_abstract_collection, 60);
   nit_exit(1);
@@ -55,8 +61,9 @@ val_t abstract_collection___Collection___count(val_t  self, val_t  param0) {
   return NIT_NULL;
 }
 val_t abstract_collection___Collection___first(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_abstract_collection, 64, LOCATE_abstract_collection___Collection___first};
+  struct trace_t trace = {NULL, NULL, 64, LOCATE_abstract_collection___Collection___first};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_abstract_collection;
   fprintf(stderr, "Deferred method %s called");
   fprintf(stderr, " (%s:%d)\n", LOCATE_abstract_collection, 64);
   nit_exit(1);
@@ -64,9 +71,10 @@ val_t abstract_collection___Collection___first(val_t  self) {
   return NIT_NULL;
 }
 val_t abstract_collection___NaiveCollection___is_empty(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_abstract_collection, 72, LOCATE_abstract_collection___NaiveCollection___is_empty};
+  struct trace_t trace = {NULL, NULL, 72, LOCATE_abstract_collection___NaiveCollection___is_empty};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_abstract_collection;
   variable0 = ((abstract_collection___NaiveCollection___length_t)CALL( self,COLOR_abstract_collection___Collection___length))( self) /*NaiveCollection::length*/;
   variable0 = TAG_Bool((variable0)==( TAG_Int(0)));
   goto return_label0;
@@ -75,11 +83,12 @@ val_t abstract_collection___NaiveCollection___is_empty(val_t  self) {
   return variable0;
 }
 val_t abstract_collection___NaiveCollection___length(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_abstract_collection, 74, LOCATE_abstract_collection___NaiveCollection___length};
+  struct trace_t trace = {NULL, NULL, 74, LOCATE_abstract_collection___NaiveCollection___length};
   val_t variable0;
   val_t variable1;
     val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_abstract_collection;
   variable0 =  TAG_Int(0);
   variable1 = ((abstract_collection___Collection___iterator_t)CALL( self,COLOR_abstract_collection___Collection___iterator))( self) /*Collection::iterator*/;
   while (true) { /*for*/
@@ -98,12 +107,13 @@ val_t abstract_collection___NaiveCollection___length(val_t  self) {
   return variable0;
 }
 val_t abstract_collection___NaiveCollection___has(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_abstract_collection, 81, LOCATE_abstract_collection___NaiveCollection___has};
+  struct trace_t trace = {NULL, NULL, 81, LOCATE_abstract_collection___NaiveCollection___has};
   val_t variable0;
   val_t variable1;
     val_t variable2;
     val_t variable3;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_abstract_collection;
   variable0 =  param0;
   variable1 = ((abstract_collection___Collection___iterator_t)CALL( self,COLOR_abstract_collection___Collection___iterator))( self) /*Collection::iterator*/;
   while (true) { /*for*/
@@ -126,12 +136,13 @@ val_t abstract_collection___NaiveCollection___has(val_t  self, val_t  param0) {
   return variable1;
 }
 val_t abstract_collection___NaiveCollection___has_only(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_abstract_collection, 87, LOCATE_abstract_collection___NaiveCollection___has_only};
+  struct trace_t trace = {NULL, NULL, 87, LOCATE_abstract_collection___NaiveCollection___has_only};
   val_t variable0;
   val_t variable1;
     val_t variable2;
     val_t variable3;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_abstract_collection;
   variable0 =  param0;
   variable1 = ((abstract_collection___Collection___iterator_t)CALL( self,COLOR_abstract_collection___Collection___iterator))( self) /*Collection::iterator*/;
   while (true) { /*for*/
@@ -154,13 +165,14 @@ val_t abstract_collection___NaiveCollection___has_only(val_t  self, val_t  param
   return variable1;
 }
 val_t abstract_collection___NaiveCollection___count(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_abstract_collection, 93, LOCATE_abstract_collection___NaiveCollection___count};
+  struct trace_t trace = {NULL, NULL, 93, LOCATE_abstract_collection___NaiveCollection___count};
   val_t variable0;
   val_t variable1;
   val_t variable2;
     val_t variable3;
     val_t variable4;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_abstract_collection;
   variable0 =  param0;
   variable1 =  TAG_Int(0);
   variable2 = ((abstract_collection___Collection___iterator_t)CALL( self,COLOR_abstract_collection___Collection___iterator))( self) /*Collection::iterator*/;
@@ -183,9 +195,10 @@ val_t abstract_collection___NaiveCollection___count(val_t  self, val_t  param0)
   return variable1;
 }
 val_t abstract_collection___NaiveCollection___first(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_abstract_collection, 100, LOCATE_abstract_collection___NaiveCollection___first};
+  struct trace_t trace = {NULL, NULL, 100, LOCATE_abstract_collection___NaiveCollection___first};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_abstract_collection;
   variable0 = ((abstract_collection___NaiveCollection___length_t)CALL( self,COLOR_abstract_collection___Collection___length))( self) /*NaiveCollection::length*/;
   variable0 = TAG_Bool(UNTAG_Int(variable0)>UNTAG_Int( TAG_Int(0)));
   if (!UNTAG_Bool(variable0)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_abstract_collection___NaiveCollection___first, LOCATE_abstract_collection, 102); nit_exit(1);}
@@ -197,8 +210,9 @@ val_t abstract_collection___NaiveCollection___first(val_t  self) {
   return variable0;
 }
 val_t abstract_collection___Iterator___item(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_abstract_collection, 110, LOCATE_abstract_collection___Iterator___item};
+  struct trace_t trace = {NULL, NULL, 110, LOCATE_abstract_collection___Iterator___item};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_abstract_collection;
   fprintf(stderr, "Deferred method %s called");
   fprintf(stderr, " in %s (%s:%d)\n", LOCATE_abstract_collection___NaiveCollection___first, LOCATE_abstract_collection, 110);
   nit_exit(1);
@@ -206,8 +220,9 @@ val_t abstract_collection___Iterator___item(val_t  self) {
   return NIT_NULL;
 }
 void abstract_collection___Iterator___next(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_abstract_collection, 114, LOCATE_abstract_collection___Iterator___next};
+  struct trace_t trace = {NULL, NULL, 114, LOCATE_abstract_collection___Iterator___next};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_abstract_collection;
   fprintf(stderr, "Deferred method %s called");
   fprintf(stderr, " in %s (%s:%d)\n", LOCATE_abstract_collection___NaiveCollection___first, LOCATE_abstract_collection, 114);
   nit_exit(1);
@@ -215,8 +230,9 @@ void abstract_collection___Iterator___next(val_t  self) {
   return;
 }
 val_t abstract_collection___Iterator___is_ok(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_abstract_collection, 118, LOCATE_abstract_collection___Iterator___is_ok};
+  struct trace_t trace = {NULL, NULL, 118, LOCATE_abstract_collection___Iterator___is_ok};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_abstract_collection;
   fprintf(stderr, "Deferred method %s called");
   fprintf(stderr, " in %s (%s:%d)\n", LOCATE_abstract_collection___NaiveCollection___first, LOCATE_abstract_collection, 118);
   nit_exit(1);
@@ -224,9 +240,10 @@ val_t abstract_collection___Iterator___is_ok(val_t  self) {
   return NIT_NULL;
 }
 val_t abstract_collection___Container___first(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_abstract_collection, 126, LOCATE_abstract_collection___Container___first};
+  struct trace_t trace = {NULL, NULL, 126, LOCATE_abstract_collection___Container___first};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_abstract_collection;
   variable0 = ATTR_abstract_collection___Container____item( self) /*Container::_item*/;
   goto return_label10;
   return_label10: while(false);
@@ -234,9 +251,10 @@ val_t abstract_collection___Container___first(val_t  self) {
   return variable0;
 }
 val_t abstract_collection___Container___is_empty(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_abstract_collection, 128, LOCATE_abstract_collection___Container___is_empty};
+  struct trace_t trace = {NULL, NULL, 128, LOCATE_abstract_collection___Container___is_empty};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_abstract_collection;
   variable0 =  TAG_Bool(false);
   goto return_label11;
   return_label11: while(false);
@@ -244,9 +262,10 @@ val_t abstract_collection___Container___is_empty(val_t  self) {
   return variable0;
 }
 val_t abstract_collection___Container___length(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_abstract_collection, 130, LOCATE_abstract_collection___Container___length};
+  struct trace_t trace = {NULL, NULL, 130, LOCATE_abstract_collection___Container___length};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_abstract_collection;
   variable0 =  TAG_Int(1);
   goto return_label12;
   return_label12: while(false);
@@ -254,10 +273,11 @@ val_t abstract_collection___Container___length(val_t  self) {
   return variable0;
 }
 val_t abstract_collection___Container___has(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_abstract_collection, 132, LOCATE_abstract_collection___Container___has};
+  struct trace_t trace = {NULL, NULL, 132, LOCATE_abstract_collection___Container___has};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_abstract_collection;
   variable0 =  param0;
   variable1 = ATTR_abstract_collection___Container____item( self) /*Container::_item*/;
   variable1 = TAG_Bool((variable1 ==  variable0 /*an_item*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, variable0 /*an_item*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1,  variable0 /*an_item*/) /*Object::==*/)))));
@@ -267,10 +287,11 @@ val_t abstract_collection___Container___has(val_t  self, val_t  param0) {
   return variable1;
 }
 val_t abstract_collection___Container___has_only(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_abstract_collection, 134, LOCATE_abstract_collection___Container___has_only};
+  struct trace_t trace = {NULL, NULL, 134, LOCATE_abstract_collection___Container___has_only};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_abstract_collection;
   variable0 =  param0;
   variable1 = ATTR_abstract_collection___Container____item( self) /*Container::_item*/;
   variable1 = TAG_Bool((variable1 ==  variable0 /*an_item*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, variable0 /*an_item*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1,  variable0 /*an_item*/) /*Object::==*/)))));
@@ -280,10 +301,11 @@ val_t abstract_collection___Container___has_only(val_t  self, val_t  param0) {
   return variable1;
 }
 val_t abstract_collection___Container___count(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_abstract_collection, 136, LOCATE_abstract_collection___Container___count};
+  struct trace_t trace = {NULL, NULL, 136, LOCATE_abstract_collection___Container___count};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_abstract_collection;
   variable0 =  param0;
   variable1 = ATTR_abstract_collection___Container____item( self) /*Container::_item*/;
   variable1 = TAG_Bool((variable1 ==  variable0 /*an_item*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, variable0 /*an_item*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1,  variable0 /*an_item*/) /*Object::==*/)))));
@@ -299,9 +321,10 @@ val_t abstract_collection___Container___count(val_t  self, val_t  param0) {
   return variable1;
 }
 val_t abstract_collection___Container___iterator(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_abstract_collection, 145, LOCATE_abstract_collection___Container___iterator};
+  struct trace_t trace = {NULL, NULL, 145, LOCATE_abstract_collection___Container___iterator};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_abstract_collection;
   variable0 = NEW_abstract_collection___ContainerIterator___init( self); /*new ContainerIterator[E]*/
   goto return_label16;
   return_label16: while(false);
@@ -309,9 +332,10 @@ val_t abstract_collection___Container___iterator(val_t  self) {
   return variable0;
 }
 void abstract_collection___Container___init(val_t  self, val_t  param0, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_abstract_collection, 147, LOCATE_abstract_collection___Container___init};
+  struct trace_t trace = {NULL, NULL, 147, LOCATE_abstract_collection___Container___init};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_abstract_collection;
   variable0 =  param0;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_Container].i]) return;
   ATTR_abstract_collection___Container____item( self) /*Container::_item*/ =  variable0 /*e*/;
@@ -320,22 +344,25 @@ void abstract_collection___Container___init(val_t  self, val_t  param0, int* ini
   return;
 }
 val_t abstract_collection___Container___item(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_abstract_collection, 150, LOCATE_abstract_collection___Container___item};
+  struct trace_t trace = {NULL, NULL, 150, LOCATE_abstract_collection___Container___item};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_abstract_collection;
   tracehead = trace.prev;
   return ATTR_abstract_collection___Container____item( self) /*Container::_item*/;
 }
 void abstract_collection___Container___item__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_abstract_collection, 150, LOCATE_abstract_collection___Container___item__eq};
+  struct trace_t trace = {NULL, NULL, 150, LOCATE_abstract_collection___Container___item__eq};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_abstract_collection;
   ATTR_abstract_collection___Container____item( self) /*Container::_item*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t abstract_collection___ContainerIterator___item(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_abstract_collection, 157, LOCATE_abstract_collection___ContainerIterator___item};
+  struct trace_t trace = {NULL, NULL, 157, LOCATE_abstract_collection___ContainerIterator___item};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_abstract_collection;
   variable0 = ATTR_abstract_collection___ContainerIterator____container( self) /*ContainerIterator::_container*/;
   variable0 = ((abstract_collection___Container___item_t)CALL(variable0,COLOR_abstract_collection___Container___item))(variable0) /*Container::item*/;
   goto return_label18;
@@ -344,16 +371,18 @@ val_t abstract_collection___ContainerIterator___item(val_t  self) {
   return variable0;
 }
 void abstract_collection___ContainerIterator___next(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_abstract_collection, 159, LOCATE_abstract_collection___ContainerIterator___next};
+  struct trace_t trace = {NULL, NULL, 159, LOCATE_abstract_collection___ContainerIterator___next};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_abstract_collection;
   ATTR_abstract_collection___ContainerIterator____is_ok( self) /*ContainerIterator::_is_ok*/ =  TAG_Bool(false);
   tracehead = trace.prev;
   return;
 }
 void abstract_collection___ContainerIterator___init(val_t  self, val_t  param0, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_abstract_collection, 161, LOCATE_abstract_collection___ContainerIterator___init};
+  struct trace_t trace = {NULL, NULL, 161, LOCATE_abstract_collection___ContainerIterator___init};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_abstract_collection;
   variable0 =  param0;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ContainerIterator].i]) return;
   ATTR_abstract_collection___ContainerIterator____container( self) /*ContainerIterator::_container*/ =  variable0 /*c*/;
@@ -362,14 +391,16 @@ void abstract_collection___ContainerIterator___init(val_t  self, val_t  param0,
   return;
 }
 val_t abstract_collection___ContainerIterator___is_ok(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_abstract_collection, 163, LOCATE_abstract_collection___ContainerIterator___is_ok};
+  struct trace_t trace = {NULL, NULL, 163, LOCATE_abstract_collection___ContainerIterator___is_ok};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_abstract_collection;
   tracehead = trace.prev;
   return ATTR_abstract_collection___ContainerIterator____is_ok( self) /*ContainerIterator::_is_ok*/;
 }
 void abstract_collection___RemovableCollection___clear(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_abstract_collection, 171, LOCATE_abstract_collection___RemovableCollection___clear};
+  struct trace_t trace = {NULL, NULL, 171, LOCATE_abstract_collection___RemovableCollection___clear};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_abstract_collection;
   fprintf(stderr, "Deferred method %s called");
   fprintf(stderr, " in %s (%s:%d)\n", LOCATE_abstract_collection___ContainerIterator___init, LOCATE_abstract_collection, 171);
   nit_exit(1);
@@ -377,8 +408,9 @@ void abstract_collection___RemovableCollection___clear(val_t  self) {
   return;
 }
 void abstract_collection___RemovableCollection___remove(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_abstract_collection, 174, LOCATE_abstract_collection___RemovableCollection___remove};
+  struct trace_t trace = {NULL, NULL, 174, LOCATE_abstract_collection___RemovableCollection___remove};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_abstract_collection;
   fprintf(stderr, "Deferred method %s called");
   fprintf(stderr, " in %s (%s:%d)\n", LOCATE_abstract_collection___ContainerIterator___init, LOCATE_abstract_collection, 174);
   nit_exit(1);
@@ -386,10 +418,11 @@ void abstract_collection___RemovableCollection___remove(val_t  self, val_t  para
   return;
 }
 void abstract_collection___RemovableCollection___remove_all(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_abstract_collection, 177, LOCATE_abstract_collection___RemovableCollection___remove_all};
+  struct trace_t trace = {NULL, NULL, 177, LOCATE_abstract_collection___RemovableCollection___remove_all};
   val_t variable0;
     val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_abstract_collection;
   variable0 =  param0;
   while (true) { /*while*/
     variable1 = ((abstract_collection___Collection___has_t)CALL( self,COLOR_abstract_collection___Collection___has))( self,  variable0 /*item*/) /*Collection::has*/;
@@ -402,8 +435,9 @@ void abstract_collection___RemovableCollection___remove_all(val_t  self, val_t
   return;
 }
 void abstract_collection___SimpleCollection___add(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_abstract_collection, 184, LOCATE_abstract_collection___SimpleCollection___add};
+  struct trace_t trace = {NULL, NULL, 184, LOCATE_abstract_collection___SimpleCollection___add};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_abstract_collection;
   fprintf(stderr, "Deferred method %s called");
   fprintf(stderr, " in %s (%s:%d)\n", LOCATE_abstract_collection___RemovableCollection___remove_all, LOCATE_abstract_collection, 184);
   nit_exit(1);
@@ -411,11 +445,12 @@ void abstract_collection___SimpleCollection___add(val_t  self, val_t  param0) {
   return;
 }
 void abstract_collection___SimpleCollection___add_all(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_abstract_collection, 188, LOCATE_abstract_collection___SimpleCollection___add_all};
+  struct trace_t trace = {NULL, NULL, 188, LOCATE_abstract_collection___SimpleCollection___add_all};
   val_t variable0;
   val_t variable1;
       val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_abstract_collection;
   variable0 =  param0;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*coll*/ ==  NIT_NULL /*null*/) || (( variable0 /*coll*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*coll*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*coll*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*coll*/,COLOR_kernel___Object_____eqeq))( variable0 /*coll*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable1)) { /*if*/
@@ -434,11 +469,12 @@ void abstract_collection___SimpleCollection___add_all(val_t  self, val_t  param0
   return;
 }
 val_t abstract_collection___Set___has_only(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_abstract_collection, 204, LOCATE_abstract_collection___Set___has_only};
+  struct trace_t trace = {NULL, NULL, 204, LOCATE_abstract_collection___Set___has_only};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_abstract_collection;
   variable0 =  param0;
   variable2 = ((abstract_collection___Collection___length_t)CALL( self,COLOR_abstract_collection___Collection___length))( self) /*Collection::length*/;
   variable1 = variable2;
@@ -462,10 +498,11 @@ val_t abstract_collection___Set___has_only(val_t  self, val_t  param0) {
   return variable1;
 }
 val_t abstract_collection___Set___count(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_abstract_collection, 216, LOCATE_abstract_collection___Set___count};
+  struct trace_t trace = {NULL, NULL, 216, LOCATE_abstract_collection___Set___count};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_abstract_collection;
   variable0 =  param0;
   variable1 = ((abstract_collection___Collection___has_t)CALL( self,COLOR_abstract_collection___Collection___has))( self,  variable0 /*item*/) /*Collection::has*/;
   if (UNTAG_Bool(variable1)) { /*if*/
@@ -480,17 +517,19 @@ val_t abstract_collection___Set___count(val_t  self, val_t  param0) {
   return variable1;
 }
 void abstract_collection___Set___remove_all(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_abstract_collection, 226, LOCATE_abstract_collection___Set___remove_all};
+  struct trace_t trace = {NULL, NULL, 226, LOCATE_abstract_collection___Set___remove_all};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_abstract_collection;
   variable0 =  param0;
   ((abstract_collection___RemovableCollection___remove_t)CALL( self,COLOR_abstract_collection___RemovableCollection___remove))( self,  variable0 /*item*/) /*RemovableCollection::remove*/;
   tracehead = trace.prev;
   return;
 }
 val_t abstract_collection___Map_____bra(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_abstract_collection, 244, LOCATE_abstract_collection___Map_____bra};
+  struct trace_t trace = {NULL, NULL, 244, LOCATE_abstract_collection___Map_____bra};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_abstract_collection;
   fprintf(stderr, "Deferred method %s called");
   fprintf(stderr, " in %s (%s:%d)\n", LOCATE_abstract_collection___Set___remove_all, LOCATE_abstract_collection, 244);
   nit_exit(1);
@@ -498,8 +537,9 @@ val_t abstract_collection___Map_____bra(val_t  self, val_t  param0) {
   return NIT_NULL;
 }
 void abstract_collection___Map_____braeq(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_abstract_collection, 247, LOCATE_abstract_collection___Map_____braeq};
+  struct trace_t trace = {NULL, NULL, 247, LOCATE_abstract_collection___Map_____braeq};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_abstract_collection;
   fprintf(stderr, "Deferred method %s called");
   fprintf(stderr, " in %s (%s:%d)\n", LOCATE_abstract_collection___Set___remove_all, LOCATE_abstract_collection, 247);
   nit_exit(1);
@@ -507,8 +547,9 @@ void abstract_collection___Map_____braeq(val_t  self, val_t  param0, val_t  para
   return;
 }
 val_t abstract_collection___Map___has_key(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_abstract_collection, 250, LOCATE_abstract_collection___Map___has_key};
+  struct trace_t trace = {NULL, NULL, 250, LOCATE_abstract_collection___Map___has_key};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_abstract_collection;
   fprintf(stderr, "Deferred method %s called");
   fprintf(stderr, " in %s (%s:%d)\n", LOCATE_abstract_collection___Set___remove_all, LOCATE_abstract_collection, 250);
   nit_exit(1);
@@ -516,8 +557,9 @@ val_t abstract_collection___Map___has_key(val_t  self, val_t  param0) {
   return NIT_NULL;
 }
 void abstract_collection___Map___remove_at(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_abstract_collection, 253, LOCATE_abstract_collection___Map___remove_at};
+  struct trace_t trace = {NULL, NULL, 253, LOCATE_abstract_collection___Map___remove_at};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_abstract_collection;
   fprintf(stderr, "Deferred method %s called");
   fprintf(stderr, " in %s (%s:%d)\n", LOCATE_abstract_collection___Set___remove_all, LOCATE_abstract_collection, 253);
   nit_exit(1);
@@ -525,12 +567,13 @@ void abstract_collection___Map___remove_at(val_t  self, val_t  param0) {
   return;
 }
 void abstract_collection___Map___recover_with(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_abstract_collection, 256, LOCATE_abstract_collection___Map___recover_with};
+  struct trace_t trace = {NULL, NULL, 256, LOCATE_abstract_collection___Map___recover_with};
   val_t variable0;
   val_t variable1;
   val_t variable2;
     val_t variable3;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_abstract_collection;
   variable0 =  param0;
   variable2 = ((abstract_collection___Map___iterator_t)CALL( variable0 /*map*/,COLOR_abstract_collection___Collection___iterator))( variable0 /*map*/) /*Map::iterator*/;
   variable1 = variable2;
@@ -548,8 +591,9 @@ void abstract_collection___Map___recover_with(val_t  self, val_t  param0) {
   return;
 }
 val_t abstract_collection___Map___iterator(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_abstract_collection, 267, LOCATE_abstract_collection___Map___iterator};
+  struct trace_t trace = {NULL, NULL, 267, LOCATE_abstract_collection___Map___iterator};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_abstract_collection;
   fprintf(stderr, "Deferred method %s called");
   fprintf(stderr, " in %s (%s:%d)\n", LOCATE_abstract_collection___Map___recover_with, LOCATE_abstract_collection, 267);
   nit_exit(1);
@@ -557,8 +601,9 @@ val_t abstract_collection___Map___iterator(val_t  self) {
   return NIT_NULL;
 }
 val_t abstract_collection___MapIterator___key(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_abstract_collection, 273, LOCATE_abstract_collection___MapIterator___key};
+  struct trace_t trace = {NULL, NULL, 273, LOCATE_abstract_collection___MapIterator___key};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_abstract_collection;
   fprintf(stderr, "Deferred method %s called");
   fprintf(stderr, " in %s (%s:%d)\n", LOCATE_abstract_collection___Map___recover_with, LOCATE_abstract_collection, 273);
   nit_exit(1);
@@ -566,8 +611,9 @@ val_t abstract_collection___MapIterator___key(val_t  self) {
   return NIT_NULL;
 }
 void abstract_collection___MapIterator___item__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_abstract_collection, 276, LOCATE_abstract_collection___MapIterator___item__eq};
+  struct trace_t trace = {NULL, NULL, 276, LOCATE_abstract_collection___MapIterator___item__eq};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_abstract_collection;
   fprintf(stderr, "Deferred method %s called");
   fprintf(stderr, " in %s (%s:%d)\n", LOCATE_abstract_collection___Map___recover_with, LOCATE_abstract_collection, 276);
   nit_exit(1);
@@ -575,9 +621,10 @@ void abstract_collection___MapIterator___item__eq(val_t  self, val_t  param0) {
   return;
 }
 val_t abstract_collection___IndexedCollection___first(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_abstract_collection, 285, LOCATE_abstract_collection___IndexedCollection___first};
+  struct trace_t trace = {NULL, NULL, 285, LOCATE_abstract_collection___IndexedCollection___first};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_abstract_collection;
   variable0 = ((abstract_collection___Collection___is_empty_t)CALL( self,COLOR_abstract_collection___Collection___is_empty))( self) /*Collection::is_empty*/;
   if (!UNTAG_Bool( TAG_Bool(!UNTAG_Bool(variable0)))) { fprintf(stderr, "Assert%s failed", " 'not_empty' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_abstract_collection___IndexedCollection___first, LOCATE_abstract_collection, 289); nit_exit(1);}
   variable0 = ((abstract_collection___Map_____bra_t)CALL( self,COLOR_abstract_collection___Map_____bra))( self,  TAG_Int(0)) /*Map::[]*/;
@@ -587,18 +634,20 @@ val_t abstract_collection___IndexedCollection___first(val_t  self) {
   return variable0;
 }
 void abstract_collection___IndexedCollection___first__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_abstract_collection, 293, LOCATE_abstract_collection___IndexedCollection___first__eq};
+  struct trace_t trace = {NULL, NULL, 293, LOCATE_abstract_collection___IndexedCollection___first__eq};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_abstract_collection;
   variable0 =  param0;
   ((abstract_collection___Map_____braeq_t)CALL( self,COLOR_abstract_collection___Map_____braeq))( self,  TAG_Int(0),  variable0 /*item*/) /*Map::[]=*/;
   tracehead = trace.prev;
   return;
 }
 val_t abstract_collection___IndexedCollection___last(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_abstract_collection, 298, LOCATE_abstract_collection___IndexedCollection___last};
+  struct trace_t trace = {NULL, NULL, 298, LOCATE_abstract_collection___IndexedCollection___last};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_abstract_collection;
   variable0 = ((abstract_collection___Collection___is_empty_t)CALL( self,COLOR_abstract_collection___Collection___is_empty))( self) /*Collection::is_empty*/;
   if (!UNTAG_Bool( TAG_Bool(!UNTAG_Bool(variable0)))) { fprintf(stderr, "Assert%s failed", " 'not_empty' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_abstract_collection___IndexedCollection___last, LOCATE_abstract_collection, 302); nit_exit(1);}
   variable0 = ((abstract_collection___Collection___length_t)CALL( self,COLOR_abstract_collection___Collection___length))( self) /*Collection::length*/;
@@ -610,11 +659,12 @@ val_t abstract_collection___IndexedCollection___last(val_t  self) {
   return variable0;
 }
 void abstract_collection___IndexedCollection___last__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_abstract_collection, 306, LOCATE_abstract_collection___IndexedCollection___last__eq};
+  struct trace_t trace = {NULL, NULL, 306, LOCATE_abstract_collection___IndexedCollection___last__eq};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_abstract_collection;
   variable0 =  param0;
   variable2 = ((abstract_collection___Collection___length_t)CALL( self,COLOR_abstract_collection___Collection___length))( self) /*Collection::length*/;
   variable1 = variable2;
@@ -629,17 +679,19 @@ void abstract_collection___IndexedCollection___last__eq(val_t  self, val_t  para
   return;
 }
 void abstract_collection___IndexedCollection___add(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_abstract_collection, 318, LOCATE_abstract_collection___IndexedCollection___add};
+  struct trace_t trace = {NULL, NULL, 318, LOCATE_abstract_collection___IndexedCollection___add};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_abstract_collection;
   variable0 =  param0;
   ((abstract_collection___IndexedCollection___push_t)CALL( self,COLOR_abstract_collection___IndexedCollection___push))( self,  variable0 /*e*/) /*IndexedCollection::push*/;
   tracehead = trace.prev;
   return;
 }
 void abstract_collection___IndexedCollection___push(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_abstract_collection, 321, LOCATE_abstract_collection___IndexedCollection___push};
+  struct trace_t trace = {NULL, NULL, 321, LOCATE_abstract_collection___IndexedCollection___push};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_abstract_collection;
   fprintf(stderr, "Deferred method %s called");
   fprintf(stderr, " in %s (%s:%d)\n", LOCATE_abstract_collection___IndexedCollection___add, LOCATE_abstract_collection, 321);
   nit_exit(1);
@@ -647,11 +699,12 @@ void abstract_collection___IndexedCollection___push(val_t  self, val_t  param0)
   return;
 }
 void abstract_collection___IndexedCollection___append(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_abstract_collection, 324, LOCATE_abstract_collection___IndexedCollection___append};
+  struct trace_t trace = {NULL, NULL, 324, LOCATE_abstract_collection___IndexedCollection___append};
   val_t variable0;
   val_t variable1;
       val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_abstract_collection;
   variable0 =  param0;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*coll*/ ==  NIT_NULL /*null*/) || (( variable0 /*coll*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*coll*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*coll*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*coll*/,COLOR_kernel___Object_____eqeq))( variable0 /*coll*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable1)) { /*if*/
@@ -670,8 +723,9 @@ void abstract_collection___IndexedCollection___append(val_t  self, val_t  param0
   return;
 }
 val_t abstract_collection___IndexedCollection___pop(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_abstract_collection, 327, LOCATE_abstract_collection___IndexedCollection___pop};
+  struct trace_t trace = {NULL, NULL, 327, LOCATE_abstract_collection___IndexedCollection___pop};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_abstract_collection;
   fprintf(stderr, "Deferred method %s called");
   fprintf(stderr, " in %s (%s:%d)\n", LOCATE_abstract_collection___IndexedCollection___append, LOCATE_abstract_collection, 327);
   nit_exit(1);
@@ -679,8 +733,9 @@ val_t abstract_collection___IndexedCollection___pop(val_t  self) {
   return NIT_NULL;
 }
 void abstract_collection___IndexedCollection___unshift(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_abstract_collection, 330, LOCATE_abstract_collection___IndexedCollection___unshift};
+  struct trace_t trace = {NULL, NULL, 330, LOCATE_abstract_collection___IndexedCollection___unshift};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_abstract_collection;
   fprintf(stderr, "Deferred method %s called");
   fprintf(stderr, " in %s (%s:%d)\n", LOCATE_abstract_collection___IndexedCollection___append, LOCATE_abstract_collection, 330);
   nit_exit(1);
@@ -688,8 +743,9 @@ void abstract_collection___IndexedCollection___unshift(val_t  self, val_t  param
   return;
 }
 val_t abstract_collection___IndexedCollection___shift(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_abstract_collection, 333, LOCATE_abstract_collection___IndexedCollection___shift};
+  struct trace_t trace = {NULL, NULL, 333, LOCATE_abstract_collection___IndexedCollection___shift};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_abstract_collection;
   fprintf(stderr, "Deferred method %s called");
   fprintf(stderr, " in %s (%s:%d)\n", LOCATE_abstract_collection___IndexedCollection___append, LOCATE_abstract_collection, 333);
   nit_exit(1);
@@ -697,11 +753,12 @@ val_t abstract_collection___IndexedCollection___shift(val_t  self) {
   return NIT_NULL;
 }
 val_t abstract_collection___IndexedCollection___index_of(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_abstract_collection, 337, LOCATE_abstract_collection___IndexedCollection___index_of};
+  struct trace_t trace = {NULL, NULL, 337, LOCATE_abstract_collection___IndexedCollection___index_of};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_abstract_collection;
   variable0 =  param0;
   variable2 = ((abstract_collection___IndexedCollection___iterator_t)CALL( self,COLOR_abstract_collection___Collection___iterator))( self) /*IndexedCollection::iterator*/;
   variable1 = variable2;
@@ -727,8 +784,9 @@ val_t abstract_collection___IndexedCollection___index_of(val_t  self, val_t  par
   return variable1;
 }
 val_t abstract_collection___IndexedCollection___iterator(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_abstract_collection, 349, LOCATE_abstract_collection___IndexedCollection___iterator};
+  struct trace_t trace = {NULL, NULL, 349, LOCATE_abstract_collection___IndexedCollection___iterator};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_abstract_collection;
   fprintf(stderr, "Deferred method %s called");
   fprintf(stderr, " in %s (%s:%d)\n", LOCATE_abstract_collection___IndexedCollection___index_of, LOCATE_abstract_collection, 349);
   nit_exit(1);
@@ -736,8 +794,9 @@ val_t abstract_collection___IndexedCollection___iterator(val_t  self) {
   return NIT_NULL;
 }
 val_t abstract_collection___IndexedIterator___index(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_abstract_collection, 355, LOCATE_abstract_collection___IndexedIterator___index};
+  struct trace_t trace = {NULL, NULL, 355, LOCATE_abstract_collection___IndexedIterator___index};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_abstract_collection;
   fprintf(stderr, "Deferred method %s called");
   fprintf(stderr, " in %s (%s:%d)\n", LOCATE_abstract_collection___IndexedCollection___index_of, LOCATE_abstract_collection, 355);
   nit_exit(1);
@@ -745,9 +804,10 @@ val_t abstract_collection___IndexedIterator___index(val_t  self) {
   return NIT_NULL;
 }
 val_t abstract_collection___IndexedIterator___key(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_abstract_collection, 358, LOCATE_abstract_collection___IndexedIterator___key};
+  struct trace_t trace = {NULL, NULL, 358, LOCATE_abstract_collection___IndexedIterator___key};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_abstract_collection;
   variable0 = ((abstract_collection___IndexedIterator___index_t)CALL( self,COLOR_abstract_collection___IndexedIterator___index))( self) /*IndexedIterator::index*/;
   goto return_label39;
   return_label39: while(false);
@@ -755,8 +815,9 @@ val_t abstract_collection___IndexedIterator___key(val_t  self) {
   return variable0;
 }
 val_t abstract_collection___CoupleMap___couple_at(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_abstract_collection, 365, LOCATE_abstract_collection___CoupleMap___couple_at};
+  struct trace_t trace = {NULL, NULL, 365, LOCATE_abstract_collection___CoupleMap___couple_at};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_abstract_collection;
   fprintf(stderr, "Deferred method %s called");
   fprintf(stderr, " in %s (%s:%d)\n", LOCATE_abstract_collection___IndexedIterator___key, LOCATE_abstract_collection, 365);
   nit_exit(1);
@@ -764,11 +825,12 @@ val_t abstract_collection___CoupleMap___couple_at(val_t  self, val_t  param0) {
   return NIT_NULL;
 }
 val_t abstract_collection___CoupleMap_____bra(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_abstract_collection, 369, LOCATE_abstract_collection___CoupleMap_____bra};
+  struct trace_t trace = {NULL, NULL, 369, LOCATE_abstract_collection___CoupleMap_____bra};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_abstract_collection;
   variable0 =  param0;
   variable2 = ((abstract_collection___CoupleMap___couple_at_t)CALL( self,COLOR_abstract_collection___CoupleMap___couple_at))( self,  variable0 /*key*/) /*CoupleMap::couple_at*/;
   variable1 = variable2;
@@ -786,10 +848,11 @@ val_t abstract_collection___CoupleMap_____bra(val_t  self, val_t  param0) {
   return variable1;
 }
 val_t abstract_collection___CoupleMap___has_key(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_abstract_collection, 379, LOCATE_abstract_collection___CoupleMap___has_key};
+  struct trace_t trace = {NULL, NULL, 379, LOCATE_abstract_collection___CoupleMap___has_key};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_abstract_collection;
   variable0 =  param0;
   variable1 = ((abstract_collection___CoupleMap___couple_at_t)CALL( self,COLOR_abstract_collection___CoupleMap___couple_at))( self,  variable0 /*key*/) /*CoupleMap::couple_at*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 ==  NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -799,9 +862,10 @@ val_t abstract_collection___CoupleMap___has_key(val_t  self, val_t  param0) {
   return variable1;
 }
 val_t abstract_collection___CoupleMapIterator___item(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_abstract_collection, 387, LOCATE_abstract_collection___CoupleMapIterator___item};
+  struct trace_t trace = {NULL, NULL, 387, LOCATE_abstract_collection___CoupleMapIterator___item};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_abstract_collection;
   variable0 = ATTR_abstract_collection___CoupleMapIterator____iter( self) /*CoupleMapIterator::_iter*/;
   variable0 = ((abstract_collection___Iterator___item_t)CALL(variable0,COLOR_abstract_collection___Iterator___item))(variable0) /*Iterator::item*/;
   variable0 = ((abstract_collection___Couple___second_t)CALL(variable0,COLOR_abstract_collection___Couple___second))(variable0) /*Couple::second*/;
@@ -811,10 +875,11 @@ val_t abstract_collection___CoupleMapIterator___item(val_t  self) {
   return variable0;
 }
 void abstract_collection___CoupleMapIterator___item__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_abstract_collection, 389, LOCATE_abstract_collection___CoupleMapIterator___item__eq};
+  struct trace_t trace = {NULL, NULL, 389, LOCATE_abstract_collection___CoupleMapIterator___item__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_abstract_collection;
   variable0 =  param0;
   variable1 = ATTR_abstract_collection___CoupleMapIterator____iter( self) /*CoupleMapIterator::_iter*/;
   variable1 = ((abstract_collection___Iterator___item_t)CALL(variable1,COLOR_abstract_collection___Iterator___item))(variable1) /*Iterator::item*/;
@@ -823,9 +888,10 @@ void abstract_collection___CoupleMapIterator___item__eq(val_t  self, val_t  para
   return;
 }
 val_t abstract_collection___CoupleMapIterator___key(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_abstract_collection, 391, LOCATE_abstract_collection___CoupleMapIterator___key};
+  struct trace_t trace = {NULL, NULL, 391, LOCATE_abstract_collection___CoupleMapIterator___key};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_abstract_collection;
   variable0 = ATTR_abstract_collection___CoupleMapIterator____iter( self) /*CoupleMapIterator::_iter*/;
   variable0 = ((abstract_collection___Iterator___item_t)CALL(variable0,COLOR_abstract_collection___Iterator___item))(variable0) /*Iterator::item*/;
   variable0 = ((abstract_collection___Couple___first_t)CALL(variable0,COLOR_abstract_collection___Couple___first))(variable0) /*Couple::first*/;
@@ -835,9 +901,10 @@ val_t abstract_collection___CoupleMapIterator___key(val_t  self) {
   return variable0;
 }
 val_t abstract_collection___CoupleMapIterator___is_ok(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_abstract_collection, 393, LOCATE_abstract_collection___CoupleMapIterator___is_ok};
+  struct trace_t trace = {NULL, NULL, 393, LOCATE_abstract_collection___CoupleMapIterator___is_ok};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_abstract_collection;
   variable0 = ATTR_abstract_collection___CoupleMapIterator____iter( self) /*CoupleMapIterator::_iter*/;
   variable0 = ((abstract_collection___Iterator___is_ok_t)CALL(variable0,COLOR_abstract_collection___Iterator___is_ok))(variable0) /*Iterator::is_ok*/;
   goto return_label45;
@@ -846,10 +913,11 @@ val_t abstract_collection___CoupleMapIterator___is_ok(val_t  self) {
   return variable0;
 }
 void abstract_collection___CoupleMapIterator___next(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_abstract_collection, 395, LOCATE_abstract_collection___CoupleMapIterator___next};
+  struct trace_t trace = {NULL, NULL, 395, LOCATE_abstract_collection___CoupleMapIterator___next};
   val_t variable0;
     val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_abstract_collection;
   variable0 = ATTR_abstract_collection___CoupleMapIterator____iter( self) /*CoupleMapIterator::_iter*/;
   ((abstract_collection___Iterator___next_t)CALL(variable0,COLOR_abstract_collection___Iterator___next))(variable0) /*Iterator::next*/;
   while (true) { /*while*/
@@ -872,9 +940,10 @@ void abstract_collection___CoupleMapIterator___next(val_t  self) {
   return;
 }
 void abstract_collection___CoupleMapIterator___init(val_t  self, val_t  param0, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_abstract_collection, 403, LOCATE_abstract_collection___CoupleMapIterator___init};
+  struct trace_t trace = {NULL, NULL, 403, LOCATE_abstract_collection___CoupleMapIterator___init};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_abstract_collection;
   variable0 =  param0;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_CoupleMapIterator].i]) return;
   ATTR_abstract_collection___CoupleMapIterator____iter( self) /*CoupleMapIterator::_iter*/ =  variable0 /*i*/;
@@ -883,36 +952,41 @@ void abstract_collection___CoupleMapIterator___init(val_t  self, val_t  param0,
   return;
 }
 val_t abstract_collection___Couple___first(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_abstract_collection, 411, LOCATE_abstract_collection___Couple___first};
+  struct trace_t trace = {NULL, NULL, 411, LOCATE_abstract_collection___Couple___first};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_abstract_collection;
   tracehead = trace.prev;
   return ATTR_abstract_collection___Couple____first( self) /*Couple::_first*/;
 }
 void abstract_collection___Couple___first__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_abstract_collection, 411, LOCATE_abstract_collection___Couple___first__eq};
+  struct trace_t trace = {NULL, NULL, 411, LOCATE_abstract_collection___Couple___first__eq};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_abstract_collection;
   ATTR_abstract_collection___Couple____first( self) /*Couple::_first*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t abstract_collection___Couple___second(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_abstract_collection, 414, LOCATE_abstract_collection___Couple___second};
+  struct trace_t trace = {NULL, NULL, 414, LOCATE_abstract_collection___Couple___second};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_abstract_collection;
   tracehead = trace.prev;
   return ATTR_abstract_collection___Couple____second( self) /*Couple::_second*/;
 }
 void abstract_collection___Couple___second__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_abstract_collection, 414, LOCATE_abstract_collection___Couple___second__eq};
+  struct trace_t trace = {NULL, NULL, 414, LOCATE_abstract_collection___Couple___second__eq};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_abstract_collection;
   ATTR_abstract_collection___Couple____second( self) /*Couple::_second*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 void abstract_collection___Couple___init(val_t  self, val_t  param0, val_t  param1, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_abstract_collection, 417, LOCATE_abstract_collection___Couple___init};
+  struct trace_t trace = {NULL, NULL, 417, LOCATE_abstract_collection___Couple___init};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_abstract_collection;
   variable0 =  param0;
   variable1 =  param1;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_Couple].i]) return;
index 1a0f2b0..0459bb3 100644 (file)
@@ -1,6 +1,6 @@
 /* This C header file is generated by NIT to compile modules and programs that requires abstract_collection. */
-#ifndef abstract_collection_2_sep
-#define abstract_collection_2_sep
+#ifndef abstract_collection_sep
+#define abstract_collection_sep
 #include "kernel._sep.h"
 #include <nit_common.h>
 
@@ -33,7 +33,7 @@ extern const classtable_elt_t VFT_CoupleMap[];
 extern const classtable_elt_t VFT_CoupleMapIterator[];
 
 extern const classtable_elt_t VFT_Couple[];
-#define LOCATE_abstract_collection "./../lib/standard//abstract_collection.nit"
+extern const char *LOCATE_abstract_collection;
 extern const int SFT_abstract_collection[];
 #define ID_Collection SFT_abstract_collection[0]
 #define COLOR_Collection SFT_abstract_collection[1]
index 68fc52a..efb2010 100644 (file)
@@ -1,38 +1,43 @@
 /* This C file is generated by NIT to compile module abstractmetamodel. */
 #include "abstractmetamodel._sep.h"
 void abstractmetamodel___MMContext___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_abstractmetamodel, 26, LOCATE_abstractmetamodel___MMContext___init};
+  struct trace_t trace = {NULL, NULL, 26, LOCATE_abstractmetamodel___MMContext___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_abstractmetamodel;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_MMContext].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_MMContext].i] = 1;
   tracehead = trace.prev;
   return;
 }
 val_t abstractmetamodel___MMContext___module_hierarchy(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_abstractmetamodel, 28, LOCATE_abstractmetamodel___MMContext___module_hierarchy};
+  struct trace_t trace = {NULL, NULL, 28, LOCATE_abstractmetamodel___MMContext___module_hierarchy};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_abstractmetamodel;
   tracehead = trace.prev;
   return ATTR_abstractmetamodel___MMContext____module_hierarchy( self) /*MMContext::_module_hierarchy*/;
 }
 val_t abstractmetamodel___MMContext___class_hierarchy(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_abstractmetamodel, 31, LOCATE_abstractmetamodel___MMContext___class_hierarchy};
+  struct trace_t trace = {NULL, NULL, 31, LOCATE_abstractmetamodel___MMContext___class_hierarchy};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_abstractmetamodel;
   tracehead = trace.prev;
   return ATTR_abstractmetamodel___MMContext____class_hierarchy( self) /*MMContext::_class_hierarchy*/;
 }
 val_t abstractmetamodel___MMContext___modules(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_abstractmetamodel, 38, LOCATE_abstractmetamodel___MMContext___modules};
+  struct trace_t trace = {NULL, NULL, 38, LOCATE_abstractmetamodel___MMContext___modules};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_abstractmetamodel;
   tracehead = trace.prev;
   return ATTR_abstractmetamodel___MMContext____modules( self) /*MMContext::_modules*/;
 }
 void abstractmetamodel___MMContext___add_module(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_abstractmetamodel, 41, LOCATE_abstractmetamodel___MMContext___add_module};
+  struct trace_t trace = {NULL, NULL, 41, LOCATE_abstractmetamodel___MMContext___add_module};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   val_t variable3;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_abstractmetamodel;
   variable0 =  param0;
   variable1 =  param1;
   variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*supers*/ ==  NIT_NULL /*null*/) || (( variable1 /*supers*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*supers*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*supers*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*supers*/,COLOR_kernel___Object_____eqeq))( variable1 /*supers*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -53,10 +58,11 @@ void abstractmetamodel___MMContext___add_module(val_t  self, val_t  param0, val_
   return;
 }
 void abstractmetamodel___MMContext___add_global_class(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_abstractmetamodel, 51, LOCATE_abstractmetamodel___MMContext___add_global_class};
+  struct trace_t trace = {NULL, NULL, 51, LOCATE_abstractmetamodel___MMContext___add_global_class};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_abstractmetamodel;
   variable0 =  param0;
   variable1 = ATTR_abstractmetamodel___MMContext____global_classes( self) /*MMContext::_global_classes*/;
   ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  variable0 /*c*/) /*AbstractArray::add*/;
@@ -64,7 +70,7 @@ void abstractmetamodel___MMContext___add_global_class(val_t  self, val_t  param0
   return;
 }
 void abstractmetamodel___MMContext___add_local_class(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_abstractmetamodel, 54, LOCATE_abstractmetamodel___MMContext___add_local_class};
+  struct trace_t trace = {NULL, NULL, 54, LOCATE_abstractmetamodel___MMContext___add_local_class};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -75,6 +81,7 @@ void abstractmetamodel___MMContext___add_local_class(val_t  self, val_t  param0,
         val_t variable7;
         val_t variable8;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_abstractmetamodel;
   variable0 =  param0;
   variable1 =  param1;
   variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*sup*/ ==  NIT_NULL /*null*/) || (( variable1 /*sup*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*sup*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*sup*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*sup*/,COLOR_kernel___Object_____eqeq))( variable1 /*sup*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -121,48 +128,55 @@ void abstractmetamodel___MMContext___add_local_class(val_t  self, val_t  param0,
   return;
 }
 val_t abstractmetamodel___MMDirectory___name(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_abstractmetamodel, 77, LOCATE_abstractmetamodel___MMDirectory___name};
+  struct trace_t trace = {NULL, NULL, 77, LOCATE_abstractmetamodel___MMDirectory___name};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_abstractmetamodel;
   tracehead = trace.prev;
   return ATTR_abstractmetamodel___MMDirectory____name( self) /*MMDirectory::_name*/;
 }
 val_t abstractmetamodel___MMDirectory___path(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_abstractmetamodel, 80, LOCATE_abstractmetamodel___MMDirectory___path};
+  struct trace_t trace = {NULL, NULL, 80, LOCATE_abstractmetamodel___MMDirectory___path};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_abstractmetamodel;
   tracehead = trace.prev;
   return ATTR_abstractmetamodel___MMDirectory____path( self) /*MMDirectory::_path*/;
 }
 val_t abstractmetamodel___MMDirectory___parent(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_abstractmetamodel, 83, LOCATE_abstractmetamodel___MMDirectory___parent};
+  struct trace_t trace = {NULL, NULL, 83, LOCATE_abstractmetamodel___MMDirectory___parent};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_abstractmetamodel;
   tracehead = trace.prev;
   return ATTR_abstractmetamodel___MMDirectory____parent( self) /*MMDirectory::_parent*/;
 }
 val_t abstractmetamodel___MMDirectory___owner(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_abstractmetamodel, 87, LOCATE_abstractmetamodel___MMDirectory___owner};
+  struct trace_t trace = {NULL, NULL, 87, LOCATE_abstractmetamodel___MMDirectory___owner};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_abstractmetamodel;
   tracehead = trace.prev;
   return ATTR_abstractmetamodel___MMDirectory____owner( self) /*MMDirectory::_owner*/;
 }
 void abstractmetamodel___MMDirectory___owner__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_abstractmetamodel, 87, LOCATE_abstractmetamodel___MMDirectory___owner__eq};
+  struct trace_t trace = {NULL, NULL, 87, LOCATE_abstractmetamodel___MMDirectory___owner__eq};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_abstractmetamodel;
   ATTR_abstractmetamodel___MMDirectory____owner( self) /*MMDirectory::_owner*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t abstractmetamodel___MMDirectory___modules(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_abstractmetamodel, 90, LOCATE_abstractmetamodel___MMDirectory___modules};
+  struct trace_t trace = {NULL, NULL, 90, LOCATE_abstractmetamodel___MMDirectory___modules};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_abstractmetamodel;
   tracehead = trace.prev;
   return ATTR_abstractmetamodel___MMDirectory____modules( self) /*MMDirectory::_modules*/;
 }
 void abstractmetamodel___MMDirectory___add_module(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_abstractmetamodel, 93, LOCATE_abstractmetamodel___MMDirectory___add_module};
+  struct trace_t trace = {NULL, NULL, 93, LOCATE_abstractmetamodel___MMDirectory___add_module};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_abstractmetamodel;
   variable0 =  param0;
   variable1 = ATTR_abstractmetamodel___MMDirectory____modules( self) /*MMDirectory::_modules*/;
   variable2 = ((abstractmetamodel___MMModule___name_t)CALL( variable0 /*module*/,COLOR_abstractmetamodel___MMModule___name))( variable0 /*module*/) /*MMModule::name*/;
@@ -175,17 +189,19 @@ void abstractmetamodel___MMDirectory___add_module(val_t  self, val_t  param0) {
   return;
 }
 val_t abstractmetamodel___MMDirectory___dhe(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_abstractmetamodel, 100, LOCATE_abstractmetamodel___MMDirectory___dhe};
+  struct trace_t trace = {NULL, NULL, 100, LOCATE_abstractmetamodel___MMDirectory___dhe};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_abstractmetamodel;
   tracehead = trace.prev;
   return ATTR_abstractmetamodel___MMDirectory____dhe( self) /*MMDirectory::_dhe*/;
 }
 void abstractmetamodel___MMDirectory___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_abstractmetamodel, 103, LOCATE_abstractmetamodel___MMDirectory___init};
+  struct trace_t trace = {NULL, NULL, 103, LOCATE_abstractmetamodel___MMDirectory___init};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_abstractmetamodel;
   variable0 =  param0;
   variable1 =  param1;
   variable2 =  param2;
@@ -198,7 +214,7 @@ void abstractmetamodel___MMDirectory___init(val_t  self, val_t  param0, val_t  p
   return;
 }
 val_t abstractmetamodel___MMDirectory___full_name_for(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_abstractmetamodel, 109, LOCATE_abstractmetamodel___MMDirectory___full_name_for};
+  struct trace_t trace = {NULL, NULL, 109, LOCATE_abstractmetamodel___MMDirectory___full_name_for};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -211,6 +227,7 @@ val_t abstractmetamodel___MMDirectory___full_name_for(val_t  self, val_t  param0
   val_t variable9;
   val_t variable10;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_abstractmetamodel;
   variable0 =  param0;
   variable1 = NEW_string___String___init(); /*new String*/
   variable2 = NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
@@ -236,66 +253,76 @@ val_t abstractmetamodel___MMDirectory___full_name_for(val_t  self, val_t  param0
   return variable1;
 }
 val_t abstractmetamodel___MMModule___context(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_abstractmetamodel, 117, LOCATE_abstractmetamodel___MMModule___context};
+  struct trace_t trace = {NULL, NULL, 117, LOCATE_abstractmetamodel___MMModule___context};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_abstractmetamodel;
   tracehead = trace.prev;
   return ATTR_abstractmetamodel___MMModule____context( self) /*MMModule::_context*/;
 }
 val_t abstractmetamodel___MMModule___name(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_abstractmetamodel, 120, LOCATE_abstractmetamodel___MMModule___name};
+  struct trace_t trace = {NULL, NULL, 120, LOCATE_abstractmetamodel___MMModule___name};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_abstractmetamodel;
   tracehead = trace.prev;
   return ATTR_abstractmetamodel___MMModule____name( self) /*MMModule::_name*/;
 }
 val_t abstractmetamodel___MMModule___full_name(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_abstractmetamodel, 123, LOCATE_abstractmetamodel___MMModule___full_name};
+  struct trace_t trace = {NULL, NULL, 123, LOCATE_abstractmetamodel___MMModule___full_name};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_abstractmetamodel;
   tracehead = trace.prev;
   return ATTR_abstractmetamodel___MMModule____full_name( self) /*MMModule::_full_name*/;
 }
 val_t abstractmetamodel___MMModule___directory(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_abstractmetamodel, 126, LOCATE_abstractmetamodel___MMModule___directory};
+  struct trace_t trace = {NULL, NULL, 126, LOCATE_abstractmetamodel___MMModule___directory};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_abstractmetamodel;
   tracehead = trace.prev;
   return ATTR_abstractmetamodel___MMModule____directory( self) /*MMModule::_directory*/;
 }
 val_t abstractmetamodel___MMModule___mhe(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_abstractmetamodel, 129, LOCATE_abstractmetamodel___MMModule___mhe};
+  struct trace_t trace = {NULL, NULL, 129, LOCATE_abstractmetamodel___MMModule___mhe};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_abstractmetamodel;
   tracehead = trace.prev;
   return ATTR_abstractmetamodel___MMModule____mhe( self) /*MMModule::_mhe*/;
 }
 val_t abstractmetamodel___MMModule___global_classes(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_abstractmetamodel, 132, LOCATE_abstractmetamodel___MMModule___global_classes};
+  struct trace_t trace = {NULL, NULL, 132, LOCATE_abstractmetamodel___MMModule___global_classes};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_abstractmetamodel;
   tracehead = trace.prev;
   return ATTR_abstractmetamodel___MMModule____global_classes( self) /*MMModule::_global_classes*/;
 }
 val_t abstractmetamodel___MMModule___local_classes(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_abstractmetamodel, 135, LOCATE_abstractmetamodel___MMModule___local_classes};
+  struct trace_t trace = {NULL, NULL, 135, LOCATE_abstractmetamodel___MMModule___local_classes};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_abstractmetamodel;
   tracehead = trace.prev;
   return ATTR_abstractmetamodel___MMModule____local_classes( self) /*MMModule::_local_classes*/;
 }
 val_t abstractmetamodel___MMModule___class_specialization_hierarchy(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_abstractmetamodel, 138, LOCATE_abstractmetamodel___MMModule___class_specialization_hierarchy};
+  struct trace_t trace = {NULL, NULL, 138, LOCATE_abstractmetamodel___MMModule___class_specialization_hierarchy};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_abstractmetamodel;
   tracehead = trace.prev;
   return ATTR_abstractmetamodel___MMModule____class_specialization_hierarchy( self) /*MMModule::_class_specialization_hierarchy*/;
 }
 val_t abstractmetamodel___MMModule___explicit_imported_modules(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_abstractmetamodel, 150, LOCATE_abstractmetamodel___MMModule___explicit_imported_modules};
+  struct trace_t trace = {NULL, NULL, 150, LOCATE_abstractmetamodel___MMModule___explicit_imported_modules};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_abstractmetamodel;
   tracehead = trace.prev;
   return ATTR_abstractmetamodel___MMModule____explicit_imported_modules( self) /*MMModule::_explicit_imported_modules*/;
 }
 void abstractmetamodel___MMModule___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_abstractmetamodel, 159, LOCATE_abstractmetamodel___MMModule___init};
+  struct trace_t trace = {NULL, NULL, 159, LOCATE_abstractmetamodel___MMModule___init};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   val_t variable3;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_abstractmetamodel;
   variable0 =  param0;
   variable1 =  param1;
   variable2 =  param2;
@@ -315,12 +342,13 @@ void abstractmetamodel___MMModule___init(val_t  self, val_t  param0, val_t  para
   return;
 }
 void abstractmetamodel___MMModule___add_super_module(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_abstractmetamodel, 172, LOCATE_abstractmetamodel___MMModule___add_super_module};
+  struct trace_t trace = {NULL, NULL, 172, LOCATE_abstractmetamodel___MMModule___add_super_module};
   val_t variable0;
   val_t variable1;
   val_t variable2;
     val_t variable3;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_abstractmetamodel;
   variable0 =  param0;
   variable1 =  param1;
   variable2 = ATTR_abstractmetamodel___MMModule____explicit_imported_modules( self) /*MMModule::_explicit_imported_modules*/;
@@ -364,11 +392,12 @@ void abstractmetamodel___MMModule___add_super_module(val_t  self, val_t  param0,
   return;
 }
 val_t abstractmetamodel___MMModule___visibility_for(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_abstractmetamodel, 196, LOCATE_abstractmetamodel___MMModule___visibility_for};
+  struct trace_t trace = {NULL, NULL, 196, LOCATE_abstractmetamodel___MMModule___visibility_for};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_abstractmetamodel;
   variable0 =  param0;
   variable1 = TAG_Bool(( variable0 /*m*/ ==  self) || (( variable0 /*m*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*m*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*m*/, self)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*m*/,COLOR_kernel___Object_____eqeq))( variable0 /*m*/,  self) /*Object::==*/)))));
   variable2 = variable1;
@@ -403,10 +432,11 @@ val_t abstractmetamodel___MMModule___visibility_for(val_t  self, val_t  param0)
   return variable1;
 }
 val_t abstractmetamodel___MMModule_____bra(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_abstractmetamodel, 215, LOCATE_abstractmetamodel___MMModule_____bra};
+  struct trace_t trace = {NULL, NULL, 215, LOCATE_abstractmetamodel___MMModule_____bra};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_abstractmetamodel;
   variable0 =  param0;
   variable1 = ATTR_abstractmetamodel___MMModule____local_class_by_global( self) /*MMModule::_local_class_by_global*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 ==  NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -428,10 +458,11 @@ val_t abstractmetamodel___MMModule_____bra(val_t  self, val_t  param0) {
   return variable1;
 }
 void abstractmetamodel___MMModule___add_local_class(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_abstractmetamodel, 227, LOCATE_abstractmetamodel___MMModule___add_local_class};
+  struct trace_t trace = {NULL, NULL, 227, LOCATE_abstractmetamodel___MMModule___add_local_class};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_abstractmetamodel;
   variable0 =  param0;
   ATTR_abstractmetamodel___MMLocalClass____module( variable0 /*c*/) /*MMLocalClass::_module*/ =  self;
   variable1 = ATTR_abstractmetamodel___MMModule____local_classes( self) /*MMModule::_local_classes*/;
@@ -440,10 +471,11 @@ void abstractmetamodel___MMModule___add_local_class(val_t  self, val_t  param0)
   return;
 }
 val_t abstractmetamodel___MMModule___class_by_name(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_abstractmetamodel, 234, LOCATE_abstractmetamodel___MMModule___class_by_name};
+  struct trace_t trace = {NULL, NULL, 234, LOCATE_abstractmetamodel___MMModule___class_by_name};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_abstractmetamodel;
   variable0 =  param0;
   variable1 = ATTR_abstractmetamodel___MMModule____global_class_by_name( self) /*MMModule::_global_class_by_name*/;
   variable1 = ((abstract_collection___Map_____bra_t)CALL(variable1,COLOR_abstract_collection___Map_____bra))(variable1,  variable0 /*n*/) /*Map::[]*/;
@@ -454,10 +486,11 @@ val_t abstractmetamodel___MMModule___class_by_name(val_t  self, val_t  param0) {
   return variable1;
 }
 val_t abstractmetamodel___MMModule___has_global_class_named(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_abstractmetamodel, 240, LOCATE_abstractmetamodel___MMModule___has_global_class_named};
+  struct trace_t trace = {NULL, NULL, 240, LOCATE_abstractmetamodel___MMModule___has_global_class_named};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_abstractmetamodel;
   variable0 =  param0;
   variable1 = ATTR_abstractmetamodel___MMModule____global_class_by_name( self) /*MMModule::_global_class_by_name*/;
   variable1 = ((abstract_collection___Map___has_key_t)CALL(variable1,COLOR_abstract_collection___Map___has_key))(variable1,  variable0 /*n*/) /*Map::has_key*/;
@@ -467,10 +500,11 @@ val_t abstractmetamodel___MMModule___has_global_class_named(val_t  self, val_t
   return variable1;
 }
 val_t abstractmetamodel___MMModule___global_class_named(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_abstractmetamodel, 246, LOCATE_abstractmetamodel___MMModule___global_class_named};
+  struct trace_t trace = {NULL, NULL, 246, LOCATE_abstractmetamodel___MMModule___global_class_named};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_abstractmetamodel;
   variable0 =  param0;
   variable1 = ATTR_abstractmetamodel___MMModule____global_class_by_name( self) /*MMModule::_global_class_by_name*/;
   variable1 = ((abstract_collection___Map___has_key_t)CALL(variable1,COLOR_abstract_collection___Map___has_key))(variable1,  variable0 /*n*/) /*Map::has_key*/;
@@ -487,9 +521,10 @@ val_t abstractmetamodel___MMModule___global_class_named(val_t  self, val_t  para
   return variable1;
 }
 val_t abstractmetamodel___MMModule___to_s(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_abstractmetamodel, 257, LOCATE_abstractmetamodel___MMModule___to_s};
+  struct trace_t trace = {NULL, NULL, 257, LOCATE_abstractmetamodel___MMModule___to_s};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_abstractmetamodel;
   variable0 = ((abstractmetamodel___MMModule___name_t)CALL( self,COLOR_abstractmetamodel___MMModule___name))( self) /*MMModule::name*/;
   variable0 = ((symbol___Symbol___to_s_t)CALL(variable0,COLOR_string___Object___to_s))(variable0) /*Symbol::to_s*/;
   goto return_label17;
@@ -498,13 +533,14 @@ val_t abstractmetamodel___MMModule___to_s(val_t  self) {
   return variable0;
 }
 void abstractmetamodel___MMModule___set_supers_class(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_abstractmetamodel, 259, LOCATE_abstractmetamodel___MMModule___set_supers_class};
+  struct trace_t trace = {NULL, NULL, 259, LOCATE_abstractmetamodel___MMModule___set_supers_class};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   val_t variable3;
   val_t variable4;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_abstractmetamodel;
   variable0 =  param0;
   variable1 =  param1;
   variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*supers*/ ==  NIT_NULL /*null*/) || (( variable1 /*supers*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*supers*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*supers*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*supers*/,COLOR_kernel___Object_____eqeq))( variable1 /*supers*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -526,11 +562,12 @@ void abstractmetamodel___MMModule___set_supers_class(val_t  self, val_t  param0,
   return;
 }
 void abstractmetamodel___MMModule___register_global_class(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_abstractmetamodel, 270, LOCATE_abstractmetamodel___MMModule___register_global_class};
+  struct trace_t trace = {NULL, NULL, 270, LOCATE_abstractmetamodel___MMModule___register_global_class};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_abstractmetamodel;
   variable0 =  param0;
   variable1 = ((abstractmetamodel___MMLocalClass___global_t)CALL( variable0 /*c*/,COLOR_abstractmetamodel___MMLocalClass___global))( variable0 /*c*/) /*MMLocalClass::global*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 ==  NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -542,22 +579,25 @@ void abstractmetamodel___MMModule___register_global_class(val_t  self, val_t  pa
   return;
 }
 val_t abstractmetamodel___MMGlobalClass___intro(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_abstractmetamodel, 279, LOCATE_abstractmetamodel___MMGlobalClass___intro};
+  struct trace_t trace = {NULL, NULL, 279, LOCATE_abstractmetamodel___MMGlobalClass___intro};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_abstractmetamodel;
   tracehead = trace.prev;
   return ATTR_abstractmetamodel___MMGlobalClass____intro( self) /*MMGlobalClass::_intro*/;
 }
 val_t abstractmetamodel___MMGlobalClass___class_refinement_hierarchy(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_abstractmetamodel, 282, LOCATE_abstractmetamodel___MMGlobalClass___class_refinement_hierarchy};
+  struct trace_t trace = {NULL, NULL, 282, LOCATE_abstractmetamodel___MMGlobalClass___class_refinement_hierarchy};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_abstractmetamodel;
   tracehead = trace.prev;
   return ATTR_abstractmetamodel___MMGlobalClass____class_refinement_hierarchy( self) /*MMGlobalClass::_class_refinement_hierarchy*/;
 }
 void abstractmetamodel___MMGlobalClass___init(val_t  self, val_t  param0, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_abstractmetamodel, 286, LOCATE_abstractmetamodel___MMGlobalClass___init};
+  struct trace_t trace = {NULL, NULL, 286, LOCATE_abstractmetamodel___MMGlobalClass___init};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_abstractmetamodel;
   variable0 =  param0;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_MMGlobalClass].i]) return;
   ATTR_abstractmetamodel___MMGlobalClass____intro( self) /*MMGlobalClass::_intro*/ =  variable0 /*c*/;
@@ -568,9 +608,10 @@ void abstractmetamodel___MMGlobalClass___init(val_t  self, val_t  param0, int* i
   return;
 }
 val_t abstractmetamodel___MMGlobalClass___name(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_abstractmetamodel, 293, LOCATE_abstractmetamodel___MMGlobalClass___name};
+  struct trace_t trace = {NULL, NULL, 293, LOCATE_abstractmetamodel___MMGlobalClass___name};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_abstractmetamodel;
   variable0 = ((abstractmetamodel___MMGlobalClass___intro_t)CALL( self,COLOR_abstractmetamodel___MMGlobalClass___intro))( self) /*MMGlobalClass::intro*/;
   variable0 = ((abstractmetamodel___MMLocalClass___name_t)CALL(variable0,COLOR_abstractmetamodel___MMLocalClass___name))(variable0) /*MMLocalClass::name*/;
   goto return_label21;
@@ -579,9 +620,10 @@ val_t abstractmetamodel___MMGlobalClass___name(val_t  self) {
   return variable0;
 }
 val_t abstractmetamodel___MMGlobalClass___module(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_abstractmetamodel, 299, LOCATE_abstractmetamodel___MMGlobalClass___module};
+  struct trace_t trace = {NULL, NULL, 299, LOCATE_abstractmetamodel___MMGlobalClass___module};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_abstractmetamodel;
   variable0 = ((abstractmetamodel___MMGlobalClass___intro_t)CALL( self,COLOR_abstractmetamodel___MMGlobalClass___intro))( self) /*MMGlobalClass::intro*/;
   variable0 = ((abstractmetamodel___MMLocalClass___module_t)CALL(variable0,COLOR_abstractmetamodel___MMLocalClass___module))(variable0) /*MMLocalClass::module*/;
   goto return_label22;
@@ -590,9 +632,10 @@ val_t abstractmetamodel___MMGlobalClass___module(val_t  self) {
   return variable0;
 }
 val_t abstractmetamodel___MMGlobalClass___to_s(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_abstractmetamodel, 305, LOCATE_abstractmetamodel___MMGlobalClass___to_s};
+  struct trace_t trace = {NULL, NULL, 305, LOCATE_abstractmetamodel___MMGlobalClass___to_s};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_abstractmetamodel;
   variable0 = ((abstractmetamodel___MMGlobalClass___intro_t)CALL( self,COLOR_abstractmetamodel___MMGlobalClass___intro))( self) /*MMGlobalClass::intro*/;
   variable0 = ((abstractmetamodel___MMLocalClass___to_s_t)CALL(variable0,COLOR_string___Object___to_s))(variable0) /*MMLocalClass::to_s*/;
   goto return_label23;
@@ -601,7 +644,7 @@ val_t abstractmetamodel___MMGlobalClass___to_s(val_t  self) {
   return variable0;
 }
 void abstractmetamodel___MMGlobalClass___register_local_class(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_abstractmetamodel, 310, LOCATE_abstractmetamodel___MMGlobalClass___register_local_class};
+  struct trace_t trace = {NULL, NULL, 310, LOCATE_abstractmetamodel___MMGlobalClass___register_local_class};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -609,6 +652,7 @@ void abstractmetamodel___MMGlobalClass___register_local_class(val_t  self, val_t
     val_t variable4;
     val_t variable5;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_abstractmetamodel;
   variable0 =  param0;
   variable1 = ((abstractmetamodel___MMLocalClass___module_t)CALL( variable0 /*c*/,COLOR_abstractmetamodel___MMLocalClass___module))( variable0 /*c*/) /*MMLocalClass::module*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 ==  NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -647,135 +691,156 @@ void abstractmetamodel___MMGlobalClass___register_local_class(val_t  self, val_t
   return;
 }
 val_t abstractmetamodel___MMGlobalClass___is_interface(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_abstractmetamodel, 324, LOCATE_abstractmetamodel___MMGlobalClass___is_interface};
+  struct trace_t trace = {NULL, NULL, 324, LOCATE_abstractmetamodel___MMGlobalClass___is_interface};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_abstractmetamodel;
   tracehead = trace.prev;
   return ATTR_abstractmetamodel___MMGlobalClass____is_interface( self) /*MMGlobalClass::_is_interface*/;
 }
 void abstractmetamodel___MMGlobalClass___is_interface__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_abstractmetamodel, 324, LOCATE_abstractmetamodel___MMGlobalClass___is_interface__eq};
+  struct trace_t trace = {NULL, NULL, 324, LOCATE_abstractmetamodel___MMGlobalClass___is_interface__eq};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_abstractmetamodel;
   ATTR_abstractmetamodel___MMGlobalClass____is_interface( self) /*MMGlobalClass::_is_interface*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t abstractmetamodel___MMGlobalClass___is_abstract(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_abstractmetamodel, 327, LOCATE_abstractmetamodel___MMGlobalClass___is_abstract};
+  struct trace_t trace = {NULL, NULL, 327, LOCATE_abstractmetamodel___MMGlobalClass___is_abstract};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_abstractmetamodel;
   tracehead = trace.prev;
   return ATTR_abstractmetamodel___MMGlobalClass____is_abstract( self) /*MMGlobalClass::_is_abstract*/;
 }
 void abstractmetamodel___MMGlobalClass___is_abstract__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_abstractmetamodel, 327, LOCATE_abstractmetamodel___MMGlobalClass___is_abstract__eq};
+  struct trace_t trace = {NULL, NULL, 327, LOCATE_abstractmetamodel___MMGlobalClass___is_abstract__eq};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_abstractmetamodel;
   ATTR_abstractmetamodel___MMGlobalClass____is_abstract( self) /*MMGlobalClass::_is_abstract*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t abstractmetamodel___MMGlobalClass___is_universal(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_abstractmetamodel, 330, LOCATE_abstractmetamodel___MMGlobalClass___is_universal};
+  struct trace_t trace = {NULL, NULL, 330, LOCATE_abstractmetamodel___MMGlobalClass___is_universal};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_abstractmetamodel;
   tracehead = trace.prev;
   return ATTR_abstractmetamodel___MMGlobalClass____is_universal( self) /*MMGlobalClass::_is_universal*/;
 }
 void abstractmetamodel___MMGlobalClass___is_universal__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_abstractmetamodel, 330, LOCATE_abstractmetamodel___MMGlobalClass___is_universal__eq};
+  struct trace_t trace = {NULL, NULL, 330, LOCATE_abstractmetamodel___MMGlobalClass___is_universal__eq};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_abstractmetamodel;
   ATTR_abstractmetamodel___MMGlobalClass____is_universal( self) /*MMGlobalClass::_is_universal*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t abstractmetamodel___MMGlobalClass___visibility_level(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_abstractmetamodel, 333, LOCATE_abstractmetamodel___MMGlobalClass___visibility_level};
+  struct trace_t trace = {NULL, NULL, 333, LOCATE_abstractmetamodel___MMGlobalClass___visibility_level};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_abstractmetamodel;
   tracehead = trace.prev;
   return ATTR_abstractmetamodel___MMGlobalClass____visibility_level( self) /*MMGlobalClass::_visibility_level*/;
 }
 void abstractmetamodel___MMGlobalClass___visibility_level__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_abstractmetamodel, 333, LOCATE_abstractmetamodel___MMGlobalClass___visibility_level__eq};
+  struct trace_t trace = {NULL, NULL, 333, LOCATE_abstractmetamodel___MMGlobalClass___visibility_level__eq};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_abstractmetamodel;
   ATTR_abstractmetamodel___MMGlobalClass____visibility_level( self) /*MMGlobalClass::_visibility_level*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t abstractmetamodel___MMLocalClass___name(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_abstractmetamodel, 341, LOCATE_abstractmetamodel___MMLocalClass___name};
+  struct trace_t trace = {NULL, NULL, 341, LOCATE_abstractmetamodel___MMLocalClass___name};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_abstractmetamodel;
   tracehead = trace.prev;
   return ATTR_abstractmetamodel___MMLocalClass____name( self) /*MMLocalClass::_name*/;
 }
 val_t abstractmetamodel___MMLocalClass___arity(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_abstractmetamodel, 344, LOCATE_abstractmetamodel___MMLocalClass___arity};
+  struct trace_t trace = {NULL, NULL, 344, LOCATE_abstractmetamodel___MMLocalClass___arity};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_abstractmetamodel;
   tracehead = trace.prev;
   return ATTR_abstractmetamodel___MMLocalClass____arity( self) /*MMLocalClass::_arity*/;
 }
 val_t abstractmetamodel___MMLocalClass___module(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_abstractmetamodel, 348, LOCATE_abstractmetamodel___MMLocalClass___module};
+  struct trace_t trace = {NULL, NULL, 348, LOCATE_abstractmetamodel___MMLocalClass___module};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_abstractmetamodel;
   tracehead = trace.prev;
   return ATTR_abstractmetamodel___MMLocalClass____module( self) /*MMLocalClass::_module*/;
 }
 val_t abstractmetamodel___MMLocalClass___abstract(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_abstractmetamodel, 351, LOCATE_abstractmetamodel___MMLocalClass___abstract};
+  struct trace_t trace = {NULL, NULL, 351, LOCATE_abstractmetamodel___MMLocalClass___abstract};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_abstractmetamodel;
   tracehead = trace.prev;
   return ATTR_abstractmetamodel___MMLocalClass____abstract( self) /*MMLocalClass::_abstract*/;
 }
 void abstractmetamodel___MMLocalClass___abstract__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_abstractmetamodel, 351, LOCATE_abstractmetamodel___MMLocalClass___abstract__eq};
+  struct trace_t trace = {NULL, NULL, 351, LOCATE_abstractmetamodel___MMLocalClass___abstract__eq};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_abstractmetamodel;
   ATTR_abstractmetamodel___MMLocalClass____abstract( self) /*MMLocalClass::_abstract*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t abstractmetamodel___MMLocalClass___global(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_abstractmetamodel, 354, LOCATE_abstractmetamodel___MMLocalClass___global};
+  struct trace_t trace = {NULL, NULL, 354, LOCATE_abstractmetamodel___MMLocalClass___global};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_abstractmetamodel;
   tracehead = trace.prev;
   return ATTR_abstractmetamodel___MMLocalClass____global( self) /*MMLocalClass::_global*/;
 }
 val_t abstractmetamodel___MMLocalClass___crhe(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_abstractmetamodel, 357, LOCATE_abstractmetamodel___MMLocalClass___crhe};
+  struct trace_t trace = {NULL, NULL, 357, LOCATE_abstractmetamodel___MMLocalClass___crhe};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_abstractmetamodel;
   tracehead = trace.prev;
   return ATTR_abstractmetamodel___MMLocalClass____crhe( self) /*MMLocalClass::_crhe*/;
 }
 val_t abstractmetamodel___MMLocalClass___cshe(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_abstractmetamodel, 360, LOCATE_abstractmetamodel___MMLocalClass___cshe};
+  struct trace_t trace = {NULL, NULL, 360, LOCATE_abstractmetamodel___MMLocalClass___cshe};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_abstractmetamodel;
   tracehead = trace.prev;
   return ATTR_abstractmetamodel___MMLocalClass____cshe( self) /*MMLocalClass::_cshe*/;
 }
 val_t abstractmetamodel___MMLocalClass___che(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_abstractmetamodel, 363, LOCATE_abstractmetamodel___MMLocalClass___che};
+  struct trace_t trace = {NULL, NULL, 363, LOCATE_abstractmetamodel___MMLocalClass___che};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_abstractmetamodel;
   tracehead = trace.prev;
   return ATTR_abstractmetamodel___MMLocalClass____che( self) /*MMLocalClass::_che*/;
 }
 val_t abstractmetamodel___MMLocalClass___local_property_by_global(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_abstractmetamodel, 366, LOCATE_abstractmetamodel___MMLocalClass___local_property_by_global};
+  struct trace_t trace = {NULL, NULL, 366, LOCATE_abstractmetamodel___MMLocalClass___local_property_by_global};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_abstractmetamodel;
   tracehead = trace.prev;
   return ATTR_abstractmetamodel___MMLocalClass____local_property_by_global( self) /*MMLocalClass::_local_property_by_global*/;
 }
 val_t abstractmetamodel___MMLocalClass___global_properties(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_abstractmetamodel, 369, LOCATE_abstractmetamodel___MMLocalClass___global_properties};
+  struct trace_t trace = {NULL, NULL, 369, LOCATE_abstractmetamodel___MMLocalClass___global_properties};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_abstractmetamodel;
   tracehead = trace.prev;
   return ATTR_abstractmetamodel___MMLocalClass____global_properties( self) /*MMLocalClass::_global_properties*/;
 }
 val_t abstractmetamodel___MMLocalClass___properties_by_name(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_abstractmetamodel, 372, LOCATE_abstractmetamodel___MMLocalClass___properties_by_name};
+  struct trace_t trace = {NULL, NULL, 372, LOCATE_abstractmetamodel___MMLocalClass___properties_by_name};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_abstractmetamodel;
   tracehead = trace.prev;
   return ATTR_abstractmetamodel___MMLocalClass____properties_by_name( self) /*MMLocalClass::_properties_by_name*/;
 }
 void abstractmetamodel___MMLocalClass___init(val_t  self, val_t  param0, val_t  param1, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_abstractmetamodel, 375, LOCATE_abstractmetamodel___MMLocalClass___init};
+  struct trace_t trace = {NULL, NULL, 375, LOCATE_abstractmetamodel___MMLocalClass___init};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_abstractmetamodel;
   variable0 =  param0;
   variable1 =  param1;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_MMLocalClass].i]) return;
@@ -786,10 +851,11 @@ void abstractmetamodel___MMLocalClass___init(val_t  self, val_t  param0, val_t
   return;
 }
 val_t abstractmetamodel___MMLocalClass___for_module(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_abstractmetamodel, 382, LOCATE_abstractmetamodel___MMLocalClass___for_module};
+  struct trace_t trace = {NULL, NULL, 382, LOCATE_abstractmetamodel___MMLocalClass___for_module};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_abstractmetamodel;
   variable0 =  param0;
   variable1 = ((abstractmetamodel___MMLocalClass___global_t)CALL( self,COLOR_abstractmetamodel___MMLocalClass___global))( self) /*MMLocalClass::global*/;
   variable1 = ((abstractmetamodel___MMModule_____bra_t)CALL( variable0 /*m*/,COLOR_abstractmetamodel___MMModule_____bra))( variable0 /*m*/, variable1) /*MMModule::[]*/;
@@ -799,11 +865,12 @@ val_t abstractmetamodel___MMLocalClass___for_module(val_t  self, val_t  param0)
   return variable1;
 }
 void abstractmetamodel___MMLocalClass___new_global(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_abstractmetamodel, 388, LOCATE_abstractmetamodel___MMLocalClass___new_global};
+  struct trace_t trace = {NULL, NULL, 388, LOCATE_abstractmetamodel___MMLocalClass___new_global};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_abstractmetamodel;
   variable1 = NEW_abstractmetamodel___MMGlobalClass___init( self); /*new MMGlobalClass*/
   variable0 = variable1;
   variable1 = ATTR_abstractmetamodel___MMLocalClass____module( self) /*MMLocalClass::_module*/;
@@ -818,10 +885,11 @@ void abstractmetamodel___MMLocalClass___new_global(val_t  self) {
   return;
 }
 void abstractmetamodel___MMLocalClass___set_global(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_abstractmetamodel, 397, LOCATE_abstractmetamodel___MMLocalClass___set_global};
+  struct trace_t trace = {NULL, NULL, 397, LOCATE_abstractmetamodel___MMLocalClass___set_global};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_abstractmetamodel;
   variable0 =  param0;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*g*/ ==  NIT_NULL /*null*/) || (( variable0 /*g*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*g*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*g*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*g*/,COLOR_kernel___Object_____eqeq))( variable0 /*g*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (!UNTAG_Bool(variable1)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_abstractmetamodel___MMLocalClass___set_global, LOCATE_abstractmetamodel, 402); nit_exit(1);}
@@ -834,11 +902,12 @@ void abstractmetamodel___MMLocalClass___set_global(val_t  self, val_t  param0) {
   return;
 }
 val_t abstractmetamodel___MMLocalClass___has_global_property_by_name(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_abstractmetamodel, 408, LOCATE_abstractmetamodel___MMLocalClass___has_global_property_by_name};
+  struct trace_t trace = {NULL, NULL, 408, LOCATE_abstractmetamodel___MMLocalClass___has_global_property_by_name};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_abstractmetamodel;
   variable0 =  param0;
   variable2 = ATTR_abstractmetamodel___MMLocalClass____properties_by_name( self) /*MMLocalClass::_properties_by_name*/;
   variable2 = ((abstract_collection___Map_____bra_t)CALL(variable2,COLOR_abstract_collection___Map_____bra))(variable2,  variable0 /*n*/) /*Map::[]*/;
@@ -851,12 +920,13 @@ val_t abstractmetamodel___MMLocalClass___has_global_property_by_name(val_t  self
   return variable1;
 }
 val_t abstractmetamodel___MMLocalClass___get_property_by_name(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_abstractmetamodel, 416, LOCATE_abstractmetamodel___MMLocalClass___get_property_by_name};
+  struct trace_t trace = {NULL, NULL, 416, LOCATE_abstractmetamodel___MMLocalClass___get_property_by_name};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   val_t variable3;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_abstractmetamodel;
   variable0 =  param0;
   variable2 = ATTR_abstractmetamodel___MMLocalClass____properties_by_name( self) /*MMLocalClass::_properties_by_name*/;
   variable2 = ((abstract_collection___Map_____bra_t)CALL(variable2,COLOR_abstract_collection___Map_____bra))(variable2,  variable0 /*n*/) /*Map::[]*/;
@@ -880,10 +950,11 @@ val_t abstractmetamodel___MMLocalClass___get_property_by_name(val_t  self, val_t
   return variable1;
 }
 val_t abstractmetamodel___MMLocalClass___attribute(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_abstractmetamodel, 427, LOCATE_abstractmetamodel___MMLocalClass___attribute};
+  struct trace_t trace = {NULL, NULL, 427, LOCATE_abstractmetamodel___MMLocalClass___attribute};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_abstractmetamodel;
   variable0 =  param0;
   variable1 = ((abstractmetamodel___MMLocalClass___get_property_by_name_t)CALL( self,COLOR_abstractmetamodel___MMLocalClass___get_property_by_name))( self,  variable0 /*a*/) /*MMLocalClass::get_property_by_name*/;
   goto return_label32;
@@ -892,11 +963,12 @@ val_t abstractmetamodel___MMLocalClass___attribute(val_t  self, val_t  param0) {
   return variable1;
 }
 val_t abstractmetamodel___MMLocalClass___method(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_abstractmetamodel, 434, LOCATE_abstractmetamodel___MMLocalClass___method};
+  struct trace_t trace = {NULL, NULL, 434, LOCATE_abstractmetamodel___MMLocalClass___method};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_abstractmetamodel;
   variable0 =  param0;
   variable1 = ATTR_abstractmetamodel___MMLocalClass____properties_by_name( self) /*MMLocalClass::_properties_by_name*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 ==  NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -917,12 +989,13 @@ val_t abstractmetamodel___MMLocalClass___method(val_t  self, val_t  param0) {
   return variable1;
 }
 val_t abstractmetamodel___MMLocalClass___select_method(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_abstractmetamodel, 447, LOCATE_abstractmetamodel___MMLocalClass___select_method};
+  struct trace_t trace = {NULL, NULL, 447, LOCATE_abstractmetamodel___MMLocalClass___select_method};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   val_t variable3;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_abstractmetamodel;
   variable0 =  param0;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*name*/ ==  NIT_NULL /*null*/) || (( variable0 /*name*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*name*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*name*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*name*/,COLOR_kernel___Object_____eqeq))( variable0 /*name*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (!UNTAG_Bool(variable1)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_abstractmetamodel___MMLocalClass___select_method, LOCATE_abstractmetamodel, 451); nit_exit(1);}
@@ -944,12 +1017,13 @@ val_t abstractmetamodel___MMLocalClass___select_method(val_t  self, val_t  param
   return variable1;
 }
 val_t abstractmetamodel___MMLocalClass___select_attribute(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_abstractmetamodel, 459, LOCATE_abstractmetamodel___MMLocalClass___select_attribute};
+  struct trace_t trace = {NULL, NULL, 459, LOCATE_abstractmetamodel___MMLocalClass___select_attribute};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   val_t variable3;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_abstractmetamodel;
   variable0 =  param0;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*name*/ ==  NIT_NULL /*null*/) || (( variable0 /*name*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*name*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*name*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*name*/,COLOR_kernel___Object_____eqeq))( variable0 /*name*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (!UNTAG_Bool(variable1)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_abstractmetamodel___MMLocalClass___select_attribute, LOCATE_abstractmetamodel, 463); nit_exit(1);}
@@ -971,7 +1045,7 @@ val_t abstractmetamodel___MMLocalClass___select_attribute(val_t  self, val_t  pa
   return variable1;
 }
 val_t abstractmetamodel___MMLocalClass___super_methods_named(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_abstractmetamodel, 471, LOCATE_abstractmetamodel___MMLocalClass___super_methods_named};
+  struct trace_t trace = {NULL, NULL, 471, LOCATE_abstractmetamodel___MMLocalClass___super_methods_named};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -980,6 +1054,7 @@ val_t abstractmetamodel___MMLocalClass___super_methods_named(val_t  self, val_t
     val_t variable5;
     val_t variable6;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_abstractmetamodel;
   variable0 =  param0;
   variable2 = NEW_array___Array___init(); /*new Array[E]*/
   variable1 = variable2;
@@ -1027,11 +1102,12 @@ val_t abstractmetamodel___MMLocalClass___super_methods_named(val_t  self, val_t
   return variable1;
 }
 void abstractmetamodel___MMLocalClass___register_local_property(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_abstractmetamodel, 491, LOCATE_abstractmetamodel___MMLocalClass___register_local_property};
+  struct trace_t trace = {NULL, NULL, 491, LOCATE_abstractmetamodel___MMLocalClass___register_local_property};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_abstractmetamodel;
   variable0 =  param0;
   variable1 = ((abstractmetamodel___MMLocalProperty___global_t)CALL( variable0 /*p*/,COLOR_abstractmetamodel___MMLocalProperty___global))( variable0 /*p*/) /*MMLocalProperty::global*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 ==  NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -1048,7 +1124,7 @@ void abstractmetamodel___MMLocalClass___register_local_property(val_t  self, val
   return;
 }
 void abstractmetamodel___MMLocalClass___register_global_property(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_abstractmetamodel, 501, LOCATE_abstractmetamodel___MMLocalClass___register_global_property};
+  struct trace_t trace = {NULL, NULL, 501, LOCATE_abstractmetamodel___MMLocalClass___register_global_property};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -1056,6 +1132,7 @@ void abstractmetamodel___MMLocalClass___register_global_property(val_t  self, va
   val_t variable4;
     val_t variable5;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_abstractmetamodel;
   variable0 =  param0;
   variable2 = ((abstractmetamodel___MMGlobalProperty___intro_t)CALL( variable0 /*glob*/,COLOR_abstractmetamodel___MMGlobalProperty___intro))( variable0 /*glob*/) /*MMGlobalProperty::intro*/;
   variable1 = variable2;
@@ -1082,10 +1159,11 @@ void abstractmetamodel___MMLocalClass___register_global_property(val_t  self, va
   return;
 }
 val_t abstractmetamodel___MMLocalClass_____bra(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_abstractmetamodel, 516, LOCATE_abstractmetamodel___MMLocalClass_____bra};
+  struct trace_t trace = {NULL, NULL, 516, LOCATE_abstractmetamodel___MMLocalClass_____bra};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_abstractmetamodel;
   variable0 =  param0;
   variable1 = ATTR_abstractmetamodel___MMLocalClass____local_property_by_global( self) /*MMLocalClass::_local_property_by_global*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 ==  NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -1106,9 +1184,10 @@ val_t abstractmetamodel___MMLocalClass_____bra(val_t  self, val_t  param0) {
   return variable1;
 }
 val_t abstractmetamodel___MMLocalClass___context(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_abstractmetamodel, 527, LOCATE_abstractmetamodel___MMLocalClass___context};
+  struct trace_t trace = {NULL, NULL, 527, LOCATE_abstractmetamodel___MMLocalClass___context};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_abstractmetamodel;
   variable0 = ((abstractmetamodel___MMLocalClass___module_t)CALL( self,COLOR_abstractmetamodel___MMLocalClass___module))( self) /*MMLocalClass::module*/;
   variable0 = ((abstractmetamodel___MMModule___context_t)CALL(variable0,COLOR_abstractmetamodel___MMModule___context))(variable0) /*MMModule::context*/;
   goto return_label42;
@@ -1117,9 +1196,10 @@ val_t abstractmetamodel___MMLocalClass___context(val_t  self) {
   return variable0;
 }
 val_t abstractmetamodel___MMLocalClass___to_s(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_abstractmetamodel, 530, LOCATE_abstractmetamodel___MMLocalClass___to_s};
+  struct trace_t trace = {NULL, NULL, 530, LOCATE_abstractmetamodel___MMLocalClass___to_s};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_abstractmetamodel;
   variable0 = ATTR_abstractmetamodel___MMLocalClass____name( self) /*MMLocalClass::_name*/;
   variable0 = ((symbol___Symbol___to_s_t)CALL(variable0,COLOR_string___Object___to_s))(variable0) /*Symbol::to_s*/;
   goto return_label43;
@@ -1128,15 +1208,17 @@ val_t abstractmetamodel___MMLocalClass___to_s(val_t  self) {
   return variable0;
 }
 val_t abstractmetamodel___MMGlobalProperty___intro(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_abstractmetamodel, 540, LOCATE_abstractmetamodel___MMGlobalProperty___intro};
+  struct trace_t trace = {NULL, NULL, 540, LOCATE_abstractmetamodel___MMGlobalProperty___intro};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_abstractmetamodel;
   tracehead = trace.prev;
   return ATTR_abstractmetamodel___MMGlobalProperty____intro( self) /*MMGlobalProperty::_intro*/;
 }
 val_t abstractmetamodel___MMGlobalProperty___local_class(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_abstractmetamodel, 543, LOCATE_abstractmetamodel___MMGlobalProperty___local_class};
+  struct trace_t trace = {NULL, NULL, 543, LOCATE_abstractmetamodel___MMGlobalProperty___local_class};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_abstractmetamodel;
   variable0 = ((abstractmetamodel___MMGlobalProperty___intro_t)CALL( self,COLOR_abstractmetamodel___MMGlobalProperty___intro))( self) /*MMGlobalProperty::intro*/;
   variable0 = ((abstractmetamodel___MMLocalProperty___local_class_t)CALL(variable0,COLOR_abstractmetamodel___MMLocalProperty___local_class))(variable0) /*MMLocalProperty::local_class*/;
   goto return_label44;
@@ -1145,16 +1227,18 @@ val_t abstractmetamodel___MMGlobalProperty___local_class(val_t  self) {
   return variable0;
 }
 val_t abstractmetamodel___MMGlobalProperty___property_hierarchy(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_abstractmetamodel, 549, LOCATE_abstractmetamodel___MMGlobalProperty___property_hierarchy};
+  struct trace_t trace = {NULL, NULL, 549, LOCATE_abstractmetamodel___MMGlobalProperty___property_hierarchy};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_abstractmetamodel;
   tracehead = trace.prev;
   return ATTR_abstractmetamodel___MMGlobalProperty____property_hierarchy( self) /*MMGlobalProperty::_property_hierarchy*/;
 }
 void abstractmetamodel___MMGlobalProperty___init(val_t  self, val_t  param0, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_abstractmetamodel, 552, LOCATE_abstractmetamodel___MMGlobalProperty___init};
+  struct trace_t trace = {NULL, NULL, 552, LOCATE_abstractmetamodel___MMGlobalProperty___init};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_abstractmetamodel;
   variable0 =  param0;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_MMGlobalProperty].i]) return;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*p*/ ==  NIT_NULL /*null*/) || (( variable0 /*p*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*p*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*p*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*p*/,COLOR_kernel___Object_____eqeq))( variable0 /*p*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -1169,9 +1253,10 @@ void abstractmetamodel___MMGlobalProperty___init(val_t  self, val_t  param0, int
   return;
 }
 val_t abstractmetamodel___MMGlobalProperty___to_s(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_abstractmetamodel, 563, LOCATE_abstractmetamodel___MMGlobalProperty___to_s};
+  struct trace_t trace = {NULL, NULL, 563, LOCATE_abstractmetamodel___MMGlobalProperty___to_s};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_abstractmetamodel;
   variable0 = ((abstractmetamodel___MMGlobalProperty___intro_t)CALL( self,COLOR_abstractmetamodel___MMGlobalProperty___intro))( self) /*MMGlobalProperty::intro*/;
   variable0 = ((abstractmetamodel___MMLocalProperty___full_name_t)CALL(variable0,COLOR_abstractmetamodel___MMLocalProperty___full_name))(variable0) /*MMLocalProperty::full_name*/;
   goto return_label46;
@@ -1180,11 +1265,12 @@ val_t abstractmetamodel___MMGlobalProperty___to_s(val_t  self) {
   return variable0;
 }
 void abstractmetamodel___MMGlobalProperty___add_local_property(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_abstractmetamodel, 565, LOCATE_abstractmetamodel___MMGlobalProperty___add_local_property};
+  struct trace_t trace = {NULL, NULL, 565, LOCATE_abstractmetamodel___MMGlobalProperty___add_local_property};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_abstractmetamodel;
   variable0 =  param0;
   variable1 =  param1;
   variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*i*/ ==  NIT_NULL /*null*/) || (( variable0 /*i*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*i*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*i*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*i*/,COLOR_kernel___Object_____eqeq))( variable0 /*i*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -1198,9 +1284,10 @@ void abstractmetamodel___MMGlobalProperty___add_local_property(val_t  self, val_
   return;
 }
 val_t abstractmetamodel___MMGlobalProperty___is_attribute(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_abstractmetamodel, 573, LOCATE_abstractmetamodel___MMGlobalProperty___is_attribute};
+  struct trace_t trace = {NULL, NULL, 573, LOCATE_abstractmetamodel___MMGlobalProperty___is_attribute};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_abstractmetamodel;
   variable0 = ((abstractmetamodel___MMGlobalProperty___intro_t)CALL( self,COLOR_abstractmetamodel___MMGlobalProperty___intro))( self) /*MMGlobalProperty::intro*/;
   variable0 = TAG_Bool((variable0==NIT_NULL) || VAL_ISA(variable0, COLOR_MMAttribute, ID_MMAttribute)) /*cast MMAttribute*/;
   goto return_label48;
@@ -1209,9 +1296,10 @@ val_t abstractmetamodel___MMGlobalProperty___is_attribute(val_t  self) {
   return variable0;
 }
 val_t abstractmetamodel___MMGlobalProperty___is_method(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_abstractmetamodel, 576, LOCATE_abstractmetamodel___MMGlobalProperty___is_method};
+  struct trace_t trace = {NULL, NULL, 576, LOCATE_abstractmetamodel___MMGlobalProperty___is_method};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_abstractmetamodel;
   variable0 = ((abstractmetamodel___MMGlobalProperty___intro_t)CALL( self,COLOR_abstractmetamodel___MMGlobalProperty___intro))( self) /*MMGlobalProperty::intro*/;
   variable0 = TAG_Bool((variable0==NIT_NULL) || VAL_ISA(variable0, COLOR_MMMethod, ID_MMMethod)) /*cast MMMethod*/;
   goto return_label49;
@@ -1220,59 +1308,68 @@ val_t abstractmetamodel___MMGlobalProperty___is_method(val_t  self) {
   return variable0;
 }
 val_t abstractmetamodel___MMGlobalProperty___is_init(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_abstractmetamodel, 579, LOCATE_abstractmetamodel___MMGlobalProperty___is_init};
+  struct trace_t trace = {NULL, NULL, 579, LOCATE_abstractmetamodel___MMGlobalProperty___is_init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_abstractmetamodel;
   tracehead = trace.prev;
   return ATTR_abstractmetamodel___MMGlobalProperty____is_init( self) /*MMGlobalProperty::_is_init*/;
 }
 void abstractmetamodel___MMGlobalProperty___is_init__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_abstractmetamodel, 579, LOCATE_abstractmetamodel___MMGlobalProperty___is_init__eq};
+  struct trace_t trace = {NULL, NULL, 579, LOCATE_abstractmetamodel___MMGlobalProperty___is_init__eq};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_abstractmetamodel;
   ATTR_abstractmetamodel___MMGlobalProperty____is_init( self) /*MMGlobalProperty::_is_init*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t abstractmetamodel___MMGlobalProperty___visibility_level(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_abstractmetamodel, 582, LOCATE_abstractmetamodel___MMGlobalProperty___visibility_level};
+  struct trace_t trace = {NULL, NULL, 582, LOCATE_abstractmetamodel___MMGlobalProperty___visibility_level};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_abstractmetamodel;
   tracehead = trace.prev;
   return ATTR_abstractmetamodel___MMGlobalProperty____visibility_level( self) /*MMGlobalProperty::_visibility_level*/;
 }
 void abstractmetamodel___MMGlobalProperty___visibility_level__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_abstractmetamodel, 582, LOCATE_abstractmetamodel___MMGlobalProperty___visibility_level__eq};
+  struct trace_t trace = {NULL, NULL, 582, LOCATE_abstractmetamodel___MMGlobalProperty___visibility_level__eq};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_abstractmetamodel;
   ATTR_abstractmetamodel___MMGlobalProperty____visibility_level( self) /*MMGlobalProperty::_visibility_level*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t abstractmetamodel___MMLocalProperty___name(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_abstractmetamodel, 591, LOCATE_abstractmetamodel___MMLocalProperty___name};
+  struct trace_t trace = {NULL, NULL, 591, LOCATE_abstractmetamodel___MMLocalProperty___name};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_abstractmetamodel;
   tracehead = trace.prev;
   return ATTR_abstractmetamodel___MMLocalProperty____name( self) /*MMLocalProperty::_name*/;
 }
 val_t abstractmetamodel___MMLocalProperty___local_class(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_abstractmetamodel, 594, LOCATE_abstractmetamodel___MMLocalProperty___local_class};
+  struct trace_t trace = {NULL, NULL, 594, LOCATE_abstractmetamodel___MMLocalProperty___local_class};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_abstractmetamodel;
   tracehead = trace.prev;
   return ATTR_abstractmetamodel___MMLocalProperty____local_class( self) /*MMLocalProperty::_local_class*/;
 }
 val_t abstractmetamodel___MMLocalProperty___global(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_abstractmetamodel, 597, LOCATE_abstractmetamodel___MMLocalProperty___global};
+  struct trace_t trace = {NULL, NULL, 597, LOCATE_abstractmetamodel___MMLocalProperty___global};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_abstractmetamodel;
   tracehead = trace.prev;
   return ATTR_abstractmetamodel___MMLocalProperty____global( self) /*MMLocalProperty::_global*/;
 }
 val_t abstractmetamodel___MMLocalProperty___prhe(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_abstractmetamodel, 600, LOCATE_abstractmetamodel___MMLocalProperty___prhe};
+  struct trace_t trace = {NULL, NULL, 600, LOCATE_abstractmetamodel___MMLocalProperty___prhe};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_abstractmetamodel;
   tracehead = trace.prev;
   return ATTR_abstractmetamodel___MMLocalProperty____prhe( self) /*MMLocalProperty::_prhe*/;
 }
 val_t abstractmetamodel___MMLocalProperty___module(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_abstractmetamodel, 603, LOCATE_abstractmetamodel___MMLocalProperty___module};
+  struct trace_t trace = {NULL, NULL, 603, LOCATE_abstractmetamodel___MMLocalProperty___module};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_abstractmetamodel;
   variable0 = ATTR_abstractmetamodel___MMLocalProperty____local_class( self) /*MMLocalProperty::_local_class*/;
   variable0 = ((abstractmetamodel___MMLocalClass___module_t)CALL(variable0,COLOR_abstractmetamodel___MMLocalClass___module))(variable0) /*MMLocalClass::module*/;
   goto return_label50;
@@ -1281,7 +1378,7 @@ val_t abstractmetamodel___MMLocalProperty___module(val_t  self) {
   return variable0;
 }
 val_t abstractmetamodel___MMLocalProperty___full_name(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_abstractmetamodel, 606, LOCATE_abstractmetamodel___MMLocalProperty___full_name};
+  struct trace_t trace = {NULL, NULL, 606, LOCATE_abstractmetamodel___MMLocalProperty___full_name};
   val_t variable0;
     val_t variable1;
     val_t variable2;
@@ -1298,6 +1395,7 @@ val_t abstractmetamodel___MMLocalProperty___full_name(val_t  self) {
     val_t variable13;
     val_t variable14;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_abstractmetamodel;
   variable0 = ((abstractmetamodel___MMLocalProperty___global_t)CALL( self,COLOR_abstractmetamodel___MMLocalProperty___global))( self) /*MMLocalProperty::global*/;
   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::==*/)))));
   if (UNTAG_Bool(variable0)) { /*if*/
@@ -1396,10 +1494,11 @@ val_t abstractmetamodel___MMLocalProperty___full_name(val_t  self) {
   return variable0;
 }
 void abstractmetamodel___MMLocalProperty___set_global(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_abstractmetamodel, 618, LOCATE_abstractmetamodel___MMLocalProperty___set_global};
+  struct trace_t trace = {NULL, NULL, 618, LOCATE_abstractmetamodel___MMLocalProperty___set_global};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_abstractmetamodel;
   variable0 =  param0;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*g*/ ==  NIT_NULL /*null*/) || (( variable0 /*g*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*g*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*g*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*g*/,COLOR_kernel___Object_____eqeq))( variable0 /*g*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (!UNTAG_Bool(variable1)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_abstractmetamodel___MMLocalProperty___set_global, LOCATE_abstractmetamodel, 621); nit_exit(1);}
@@ -1410,10 +1509,11 @@ void abstractmetamodel___MMLocalProperty___set_global(val_t  self, val_t  param0
   return;
 }
 void abstractmetamodel___MMLocalProperty___new_global(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_abstractmetamodel, 626, LOCATE_abstractmetamodel___MMLocalProperty___new_global};
+  struct trace_t trace = {NULL, NULL, 626, LOCATE_abstractmetamodel___MMLocalProperty___new_global};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_abstractmetamodel;
   variable0 = ATTR_abstractmetamodel___MMLocalProperty____global( self) /*MMLocalProperty::_global*/;
   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::==*/)))));
   if (!UNTAG_Bool(variable0)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_abstractmetamodel___MMLocalProperty___new_global, LOCATE_abstractmetamodel, 629); nit_exit(1);}
@@ -1426,9 +1526,10 @@ void abstractmetamodel___MMLocalProperty___new_global(val_t  self) {
   return;
 }
 val_t abstractmetamodel___MMLocalProperty___to_s(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_abstractmetamodel, 634, LOCATE_abstractmetamodel___MMLocalProperty___to_s};
+  struct trace_t trace = {NULL, NULL, 634, LOCATE_abstractmetamodel___MMLocalProperty___to_s};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_abstractmetamodel;
   variable0 = ((abstractmetamodel___MMLocalProperty___name_t)CALL( self,COLOR_abstractmetamodel___MMLocalProperty___name))( self) /*MMLocalProperty::name*/;
   variable0 = ((symbol___Symbol___to_s_t)CALL(variable0,COLOR_string___Object___to_s))(variable0) /*Symbol::to_s*/;
   goto return_label54;
@@ -1437,23 +1538,26 @@ val_t abstractmetamodel___MMLocalProperty___to_s(val_t  self) {
   return variable0;
 }
 val_t abstractmetamodel___MMLocalProperty___need_super(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_abstractmetamodel, 636, LOCATE_abstractmetamodel___MMLocalProperty___need_super};
+  struct trace_t trace = {NULL, NULL, 636, LOCATE_abstractmetamodel___MMLocalProperty___need_super};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_abstractmetamodel;
   tracehead = trace.prev;
   return ATTR_abstractmetamodel___MMLocalProperty____need_super( self) /*MMLocalProperty::_need_super*/;
 }
 void abstractmetamodel___MMLocalProperty___need_super__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_abstractmetamodel, 636, LOCATE_abstractmetamodel___MMLocalProperty___need_super__eq};
+  struct trace_t trace = {NULL, NULL, 636, LOCATE_abstractmetamodel___MMLocalProperty___need_super__eq};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_abstractmetamodel;
   ATTR_abstractmetamodel___MMLocalProperty____need_super( self) /*MMLocalProperty::_need_super*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 void abstractmetamodel___MMLocalProperty___init(val_t  self, val_t  param0, val_t  param1, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_abstractmetamodel, 639, LOCATE_abstractmetamodel___MMLocalProperty___init};
+  struct trace_t trace = {NULL, NULL, 639, LOCATE_abstractmetamodel___MMLocalProperty___init};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_abstractmetamodel;
   variable0 =  param0;
   variable1 =  param1;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_MMLocalProperty].i]) return;
index 489c3bf..229ed3c 100644 (file)
@@ -1,6 +1,6 @@
 /* This C header file is generated by NIT to compile modules and programs that requires abstractmetamodel. */
-#ifndef abstractmetamodel_2_sep
-#define abstractmetamodel_2_sep
+#ifndef abstractmetamodel_sep
+#define abstractmetamodel_sep
 #include "partial_order._sep.h"
 #include <nit_common.h>
 
@@ -23,7 +23,7 @@ extern const classtable_elt_t VFT_MMAttribute[];
 extern const classtable_elt_t VFT_MMMethod[];
 
 extern const classtable_elt_t VFT_MMConcreteClass[];
-#define LOCATE_abstractmetamodel "./metamodel//abstractmetamodel.nit"
+extern const char *LOCATE_abstractmetamodel;
 extern const int SFT_abstractmetamodel[];
 #define ID_MMContext SFT_abstractmetamodel[0]
 #define COLOR_MMContext SFT_abstractmetamodel[1]
index 85dbd1f..a3c182b 100644 (file)
@@ -1,9 +1,10 @@
 /* This C file is generated by NIT to compile module abstracttool. */
 #include "abstracttool._sep.h"
 void abstracttool___AbstractCompiler___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_abstracttool, 28, LOCATE_abstracttool___AbstractCompiler___init};
+  struct trace_t trace = {NULL, NULL, 28, LOCATE_abstracttool___AbstractCompiler___init};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_abstracttool;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AbstractCompiler].i]) return;
   ((mmloader___ToolContext___init_t)CALL( self,COLOR_mmloader___ToolContext___init))( self, init_table /*YYY*/) /*ToolContext::init*/;
   variable0 = NEW_syntax___SrcModuleLoader___init(); /*new SrcModuleLoader*/
@@ -13,7 +14,7 @@ void abstracttool___AbstractCompiler___init(val_t  self, int* init_table) {
   return;
 }
 void abstracttool___AbstractCompiler___exec_cmd_line(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_abstracttool, 34, LOCATE_abstracttool___AbstractCompiler___exec_cmd_line};
+  struct trace_t trace = {NULL, NULL, 34, LOCATE_abstracttool___AbstractCompiler___exec_cmd_line};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -23,6 +24,7 @@ void abstracttool___AbstractCompiler___exec_cmd_line(val_t  self) {
     val_t variable6;
     val_t variable7;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_abstracttool;
   ((mmloader___ToolContext___process_options_t)CALL( self,COLOR_mmloader___ToolContext___process_options))( self) /*ToolContext::process_options*/;
   variable0 = ((mmloader___ToolContext___opt_help_t)CALL( self,COLOR_mmloader___ToolContext___opt_help))( self) /*ToolContext::opt_help*/;
   variable0 = ((opts___Option___value_t)CALL(variable0,COLOR_opts___Option___value))(variable0) /*Option::value*/;
@@ -93,8 +95,9 @@ void abstracttool___AbstractCompiler___exec_cmd_line(val_t  self) {
   return;
 }
 void abstracttool___AbstractCompiler___perform_work(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_abstracttool, 63, LOCATE_abstracttool___AbstractCompiler___perform_work};
+  struct trace_t trace = {NULL, NULL, 63, LOCATE_abstracttool___AbstractCompiler___perform_work};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_abstracttool;
   fprintf(stderr, "Deferred method %s called");
   fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_abstracttool, 63);
   nit_exit(1);
@@ -102,7 +105,7 @@ void abstracttool___AbstractCompiler___perform_work(val_t  self, val_t  param0)
   return;
 }
 void abstracttool___AbstractCompiler___dump_context_info(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_abstracttool, 65, LOCATE_abstracttool___AbstractCompiler___dump_context_info};
+  struct trace_t trace = {NULL, NULL, 65, LOCATE_abstracttool___AbstractCompiler___dump_context_info};
   val_t variable0;
     val_t variable1;
   val_t variable2;
@@ -113,6 +116,7 @@ void abstracttool___AbstractCompiler___dump_context_info(val_t  self) {
   val_t variable7;
   val_t variable8;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_abstracttool;
   variable0 = ((abstractmetamodel___MMContext___module_hierarchy_t)CALL( self,COLOR_abstractmetamodel___MMContext___module_hierarchy))( self) /*MMContext::module_hierarchy*/;
   variable0 = ((partial_order___PartialOrder___iterator_t)CALL(variable0,COLOR_abstract_collection___Collection___iterator))(variable0) /*PartialOrder::iterator*/;
   while (true) { /*for*/
@@ -169,7 +173,7 @@ void abstracttool___AbstractCompiler___dump_context_info(val_t  self) {
   return;
 }
 void abstracttool___MMModule___dump_module_info(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_abstracttool, 85, LOCATE_abstracttool___MMModule___dump_module_info};
+  struct trace_t trace = {NULL, NULL, 85, LOCATE_abstracttool___MMModule___dump_module_info};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -183,6 +187,7 @@ void abstracttool___MMModule___dump_module_info(val_t  self) {
   val_t variable10;
   val_t variable11;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_abstracttool;
   variable1 = ((mmloader___MMModule___filename_t)CALL( self,COLOR_mmloader___MMModule___filename))( self) /*MMModule::filename*/;
   variable1 = ((file___String___file_path_t)CALL(variable1,COLOR_file___String___file_path))(variable1) /*String::file_path*/;
   variable0 = variable1;
@@ -249,7 +254,7 @@ void abstracttool___MMModule___dump_module_info(val_t  self) {
   return;
 }
 void abstracttool___MMLocalClass___dump_properties(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_abstracttool, 103, LOCATE_abstracttool___MMLocalClass___dump_properties};
+  struct trace_t trace = {NULL, NULL, 103, LOCATE_abstracttool___MMLocalClass___dump_properties};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -265,6 +270,7 @@ void abstracttool___MMLocalClass___dump_properties(val_t  self, val_t  param0) {
     val_t variable12;
     val_t variable13;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_abstracttool;
   variable0 =  param0;
   variable1 = NEW_string___String___init(); /*new String*/
   variable2 = NEW_string___String___with_native(BOX_NativeString("class "), TAG_Int(6)); /*new String*/
index 2d137d6..fb8178c 100644 (file)
@@ -1,11 +1,11 @@
 /* This C header file is generated by NIT to compile modules and programs that requires abstracttool. */
-#ifndef abstracttool_2_sep
-#define abstracttool_2_sep
+#ifndef abstracttool_sep
+#define abstracttool_sep
 #include "syntax._sep.h"
 #include <nit_common.h>
 
 extern const classtable_elt_t VFT_AbstractCompiler[];
-#define LOCATE_abstracttool "./abstracttool.nit"
+extern const char *LOCATE_abstracttool;
 extern const int SFT_abstracttool[];
 #define ID_AbstractCompiler SFT_abstracttool[0]
 #define COLOR_AbstractCompiler SFT_abstracttool[1]
index 23410d5..fd5d43d 100644 (file)
@@ -1,8 +1,9 @@
 /* This C file is generated by NIT to compile module array. */
 #include "array._sep.h"
 void array___AbstractArray___enlarge(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_array, 23, LOCATE_array___AbstractArray___enlarge};
+  struct trace_t trace = {NULL, NULL, 23, LOCATE_array___AbstractArray___enlarge};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_array;
   fprintf(stderr, "Deferred method %s called");
   fprintf(stderr, " (%s:%d)\n", LOCATE_array, 23);
   nit_exit(1);
@@ -10,15 +11,17 @@ void array___AbstractArray___enlarge(val_t  self, val_t  param0) {
   return;
 }
 val_t array___AbstractArray___length(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_array, 25, LOCATE_array___AbstractArray___length};
+  struct trace_t trace = {NULL, NULL, 25, LOCATE_array___AbstractArray___length};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_array;
   tracehead = trace.prev;
   return ATTR_array___AbstractArray____length( self) /*AbstractArray::_length*/;
 }
 val_t array___AbstractArray___is_empty(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_array, 28, LOCATE_array___AbstractArray___is_empty};
+  struct trace_t trace = {NULL, NULL, 28, LOCATE_array___AbstractArray___is_empty};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_array;
   variable0 = ATTR_array___AbstractArray____length( self) /*AbstractArray::_length*/;
   variable0 = TAG_Bool((variable0)==( TAG_Int(0)));
   goto return_label0;
@@ -27,19 +30,21 @@ val_t array___AbstractArray___is_empty(val_t  self) {
   return variable0;
 }
 void array___AbstractArray___push(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_array, 30, LOCATE_array___AbstractArray___push};
+  struct trace_t trace = {NULL, NULL, 30, LOCATE_array___AbstractArray___push};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_array;
   variable0 =  param0;
   ((array___AbstractArray___add_t)CALL( self,COLOR_abstract_collection___SimpleCollection___add))( self,  variable0 /*item*/) /*AbstractArray::add*/;
   tracehead = trace.prev;
   return;
 }
 val_t array___AbstractArray___pop(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_array, 32, LOCATE_array___AbstractArray___pop};
+  struct trace_t trace = {NULL, NULL, 32, LOCATE_array___AbstractArray___pop};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_array;
   variable0 = ((array___AbstractArray___is_empty_t)CALL( self,COLOR_abstract_collection___Collection___is_empty))( self) /*AbstractArray::is_empty*/;
   if (!UNTAG_Bool( TAG_Bool(!UNTAG_Bool(variable0)))) { fprintf(stderr, "Assert%s failed", " 'not_empty' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___AbstractArray___pop, LOCATE_array, 34); nit_exit(1);}
   variable1 = ((abstract_collection___IndexedCollection___last_t)CALL( self,COLOR_abstract_collection___IndexedCollection___last))( self) /*IndexedCollection::last*/;
@@ -52,13 +57,14 @@ val_t array___AbstractArray___pop(val_t  self) {
   return variable0;
 }
 val_t array___AbstractArray___shift(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_array, 40, LOCATE_array___AbstractArray___shift};
+  struct trace_t trace = {NULL, NULL, 40, LOCATE_array___AbstractArray___shift};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   val_t variable3;
     val_t variable4;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_array;
   variable0 = ((array___AbstractArray___is_empty_t)CALL( self,COLOR_abstract_collection___Collection___is_empty))( self) /*AbstractArray::is_empty*/;
   if (!UNTAG_Bool( TAG_Bool(!UNTAG_Bool(variable0)))) { fprintf(stderr, "Assert%s failed", " 'not_empty' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___AbstractArray___shift, LOCATE_array, 42); nit_exit(1);}
   variable1 = ((abstract_collection___IndexedCollection___first_t)CALL( self,COLOR_abstract_collection___Collection___first))( self) /*IndexedCollection::first*/;
@@ -85,12 +91,13 @@ val_t array___AbstractArray___shift(val_t  self) {
   return variable0;
 }
 void array___AbstractArray___unshift(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_array, 54, LOCATE_array___AbstractArray___unshift};
+  struct trace_t trace = {NULL, NULL, 54, LOCATE_array___AbstractArray___unshift};
   val_t variable0;
   val_t variable1;
   val_t variable2;
     val_t variable3;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_array;
   variable0 =  param0;
   variable2 = ((array___AbstractArray___length_t)CALL( self,COLOR_abstract_collection___Collection___length))( self) /*AbstractArray::length*/;
   variable2 = TAG_Int(UNTAG_Int(variable2)-UNTAG_Int( TAG_Int(1)));
@@ -110,12 +117,13 @@ void array___AbstractArray___unshift(val_t  self, val_t  param0) {
   return;
 }
 void array___AbstractArray___insert(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_array, 64, LOCATE_array___AbstractArray___insert};
+  struct trace_t trace = {NULL, NULL, 64, LOCATE_array___AbstractArray___insert};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   val_t variable3;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_array;
   variable0 =  param0;
   variable1 =  param1;
   variable2 = ((array___AbstractArray___length_t)CALL( self,COLOR_abstract_collection___Collection___length))( self) /*AbstractArray::length*/;
@@ -130,10 +138,11 @@ void array___AbstractArray___insert(val_t  self, val_t  param0, val_t  param1) {
   return;
 }
 void array___AbstractArray___add(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_array, 71, LOCATE_array___AbstractArray___add};
+  struct trace_t trace = {NULL, NULL, 71, LOCATE_array___AbstractArray___add};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_array;
   variable0 =  param0;
   variable1 = ((array___AbstractArray___length_t)CALL( self,COLOR_abstract_collection___Collection___length))( self) /*AbstractArray::length*/;
   ((abstract_collection___Map_____braeq_t)CALL( self,COLOR_abstract_collection___Map_____braeq))( self, variable1,  variable0 /*item*/) /*Map::[]=*/;
@@ -141,19 +150,21 @@ void array___AbstractArray___add(val_t  self, val_t  param0) {
   return;
 }
 void array___AbstractArray___clear(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_array, 73, LOCATE_array___AbstractArray___clear};
+  struct trace_t trace = {NULL, NULL, 73, LOCATE_array___AbstractArray___clear};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_array;
   ATTR_array___AbstractArray____length( self) /*AbstractArray::_length*/ =  TAG_Int(0);
   tracehead = trace.prev;
   return;
 }
 val_t array___AbstractArray___has(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_array, 75, LOCATE_array___AbstractArray___has};
+  struct trace_t trace = {NULL, NULL, 75, LOCATE_array___AbstractArray___has};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   val_t variable3;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_array;
   variable0 =  param0;
   variable1 =  TAG_Int(0);
   variable3 = ((array___AbstractArray___length_t)CALL( self,COLOR_abstract_collection___Collection___length))( self) /*AbstractArray::length*/;
@@ -178,12 +189,13 @@ val_t array___AbstractArray___has(val_t  self, val_t  param0) {
   return variable1;
 }
 val_t array___AbstractArray___has_only(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_array, 86, LOCATE_array___AbstractArray___has_only};
+  struct trace_t trace = {NULL, NULL, 86, LOCATE_array___AbstractArray___has_only};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   val_t variable3;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_array;
   variable0 =  param0;
   variable1 =  TAG_Int(0);
   variable3 = ((array___AbstractArray___length_t)CALL( self,COLOR_abstract_collection___Collection___length))( self) /*AbstractArray::length*/;
@@ -208,11 +220,12 @@ val_t array___AbstractArray___has_only(val_t  self, val_t  param0) {
   return variable1;
 }
 val_t array___AbstractArray___has_key(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_array, 97, LOCATE_array___AbstractArray___has_key};
+  struct trace_t trace = {NULL, NULL, 97, LOCATE_array___AbstractArray___has_key};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_array;
   variable0 =  param0;
   variable1 = TAG_Bool(UNTAG_Int( variable0 /*index*/)>=UNTAG_Int( TAG_Int(0)));
   variable2 = variable1;
@@ -227,13 +240,14 @@ val_t array___AbstractArray___has_key(val_t  self, val_t  param0) {
   return variable1;
 }
 val_t array___AbstractArray___count(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_array, 99, LOCATE_array___AbstractArray___count};
+  struct trace_t trace = {NULL, NULL, 99, LOCATE_array___AbstractArray___count};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   val_t variable3;
   val_t variable4;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_array;
   variable0 =  param0;
   variable1 =  TAG_Int(0);
   variable2 =  TAG_Int(0);
@@ -258,10 +272,11 @@ val_t array___AbstractArray___count(val_t  self, val_t  param0) {
   return variable1;
 }
 val_t array___AbstractArray___index_of(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_array, 111, LOCATE_array___AbstractArray___index_of};
+  struct trace_t trace = {NULL, NULL, 111, LOCATE_array___AbstractArray___index_of};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_array;
   variable0 =  param0;
   variable1 = ((array___AbstractArray___index_of_from_t)CALL( self,COLOR_array___AbstractArray___index_of_from))( self,  variable0 /*item*/,  TAG_Int(0)) /*AbstractArray::index_of_from*/;
   goto return_label17;
@@ -270,10 +285,11 @@ val_t array___AbstractArray___index_of(val_t  self, val_t  param0) {
   return variable1;
 }
 val_t array___AbstractArray___last_index_of(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_array, 113, LOCATE_array___AbstractArray___last_index_of};
+  struct trace_t trace = {NULL, NULL, 113, LOCATE_array___AbstractArray___last_index_of};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_array;
   variable0 =  param0;
   variable1 = ((array___AbstractArray___length_t)CALL( self,COLOR_abstract_collection___Collection___length))( self) /*AbstractArray::length*/;
   variable1 = TAG_Int(UNTAG_Int(variable1)-UNTAG_Int( TAG_Int(1)));
@@ -284,13 +300,14 @@ val_t array___AbstractArray___last_index_of(val_t  self, val_t  param0) {
   return variable1;
 }
 val_t array___AbstractArray___index_of_from(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_array, 115, LOCATE_array___AbstractArray___index_of_from};
+  struct trace_t trace = {NULL, NULL, 115, LOCATE_array___AbstractArray___index_of_from};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   val_t variable3;
   val_t variable4;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_array;
   variable0 =  param0;
   variable1 =  param1;
   variable2 =  variable1 /*pos*/;
@@ -317,12 +334,13 @@ val_t array___AbstractArray___index_of_from(val_t  self, val_t  param0, val_t  p
   return variable2;
 }
 val_t array___AbstractArray___last_index_of_from(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_array, 128, LOCATE_array___AbstractArray___last_index_of_from};
+  struct trace_t trace = {NULL, NULL, 128, LOCATE_array___AbstractArray___last_index_of_from};
   val_t variable0;
   val_t variable1;
   val_t variable2;
     val_t variable3;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_array;
   variable0 =  param0;
   variable1 =  param1;
   variable2 =  variable1 /*pos*/;
@@ -348,11 +366,12 @@ val_t array___AbstractArray___last_index_of_from(val_t  self, val_t  param0, val
   return variable2;
 }
 val_t array___AbstractArray___reversed(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_array, 141, LOCATE_array___AbstractArray___reversed};
+  struct trace_t trace = {NULL, NULL, 141, LOCATE_array___AbstractArray___reversed};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_array;
   variable1 = ATTR_array___AbstractArray____length( self) /*AbstractArray::_length*/;
   variable0 = variable1;
   variable2 = NEW_array___Array___with_capacity( variable0 /*cmp*/); /*new Array[E]*/
@@ -373,10 +392,11 @@ val_t array___AbstractArray___reversed(val_t  self) {
   return variable0;
 }
 void array___AbstractArray___remove(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_array, 152, LOCATE_array___AbstractArray___remove};
+  struct trace_t trace = {NULL, NULL, 152, LOCATE_array___AbstractArray___remove};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_array;
   variable0 =  param0;
   variable1 = ((array___AbstractArray___index_of_t)CALL( self,COLOR_abstract_collection___IndexedCollection___index_of))( self,  variable0 /*item*/) /*AbstractArray::index_of*/;
   ((array___AbstractArray___remove_at_t)CALL( self,COLOR_abstract_collection___Map___remove_at))( self, variable1) /*AbstractArray::remove_at*/;
@@ -384,11 +404,12 @@ void array___AbstractArray___remove(val_t  self, val_t  param0) {
   return;
 }
 void array___AbstractArray___remove_all(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_array, 154, LOCATE_array___AbstractArray___remove_all};
+  struct trace_t trace = {NULL, NULL, 154, LOCATE_array___AbstractArray___remove_all};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_array;
   variable0 =  param0;
   variable2 = ((array___AbstractArray___index_of_t)CALL( self,COLOR_abstract_collection___IndexedCollection___index_of))( self,  variable0 /*item*/) /*AbstractArray::index_of*/;
   variable1 = variable2;
@@ -405,13 +426,14 @@ void array___AbstractArray___remove_all(val_t  self, val_t  param0) {
   return;
 }
 void array___AbstractArray___remove_at(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_array, 163, LOCATE_array___AbstractArray___remove_at};
+  struct trace_t trace = {NULL, NULL, 163, LOCATE_array___AbstractArray___remove_at};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   val_t variable3;
       val_t variable4;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_array;
   variable0 =  param0;
   variable2 = ((array___AbstractArray___length_t)CALL( self,COLOR_abstract_collection___Collection___length))( self) /*AbstractArray::length*/;
   variable1 = variable2;
@@ -441,7 +463,7 @@ void array___AbstractArray___remove_at(val_t  self, val_t  param0) {
   return;
 }
 void array___AbstractArray___copy_to(val_t  self, val_t  param0, val_t  param1, val_t  param2, val_t  param3) {
-  struct trace_t trace = {NULL, LOCATE_array, 176, LOCATE_array___AbstractArray___copy_to};
+  struct trace_t trace = {NULL, NULL, 176, LOCATE_array___AbstractArray___copy_to};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -450,6 +472,7 @@ void array___AbstractArray___copy_to(val_t  self, val_t  param0, val_t  param1,
     val_t variable5;
     val_t variable6;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_array;
   variable0 =  param0;
   variable1 =  param1;
   variable2 =  param2;
@@ -470,12 +493,13 @@ void array___AbstractArray___copy_to(val_t  self, val_t  param0, val_t  param1,
   return;
 }
 void array___AbstractArray___output(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_array, 186, LOCATE_array___AbstractArray___output};
+  struct trace_t trace = {NULL, NULL, 186, LOCATE_array___AbstractArray___output};
   val_t variable0;
   val_t variable1;
   val_t variable2;
     val_t variable3;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_array;
   variable0 =  TAG_Int(0);
   variable2 = ((array___AbstractArray___length_t)CALL( self,COLOR_abstract_collection___Collection___length))( self) /*AbstractArray::length*/;
   variable1 = variable2;
@@ -496,9 +520,10 @@ void array___AbstractArray___output(val_t  self) {
   return;
 }
 val_t array___AbstractArray___iterator(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_array, 197, LOCATE_array___AbstractArray___iterator};
+  struct trace_t trace = {NULL, NULL, 197, LOCATE_array___AbstractArray___iterator};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_array;
   variable0 = NEW_array___ArrayIterator___init( self); /*new ArrayIterator[E]*/
   goto return_label34;
   return_label34: while(false);
@@ -506,13 +531,14 @@ val_t array___AbstractArray___iterator(val_t  self) {
   return variable0;
 }
 val_t array___AbstractArray_____eqeq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_array, 199, LOCATE_array___AbstractArray_____eqeq};
+  struct trace_t trace = {NULL, NULL, 199, LOCATE_array___AbstractArray_____eqeq};
   val_t variable0;
   val_t variable1;
   val_t variable2;
     val_t variable3;
     val_t variable4;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_array;
   variable0 =  param0;
   variable1 = TAG_Bool(( variable0 /*o*/==NIT_NULL) || VAL_ISA( variable0 /*o*/, COLOR_AbstractArray, ID_AbstractArray)) /*cast AbstractArray[E]*/;
   variable1 =  TAG_Bool(!UNTAG_Bool(variable1));
@@ -555,11 +581,12 @@ val_t array___AbstractArray_____eqeq(val_t  self, val_t  param0) {
   return variable1;
 }
 val_t array___Array_____bra(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_array, 227, LOCATE_array___Array_____bra};
+  struct trace_t trace = {NULL, NULL, 227, LOCATE_array___Array_____bra};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_array;
   variable0 =  param0;
   variable1 = TAG_Bool(UNTAG_Int( variable0 /*index*/)>=UNTAG_Int( TAG_Int(0)));
   variable2 = variable1;
@@ -577,12 +604,13 @@ val_t array___Array_____bra(val_t  self, val_t  param0) {
   return variable1;
 }
 void array___Array_____braeq(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_array, 233, LOCATE_array___Array_____braeq};
+  struct trace_t trace = {NULL, NULL, 233, LOCATE_array___Array_____braeq};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   val_t variable3;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_array;
   variable0 =  param0;
   variable1 =  param1;
   variable2 = TAG_Bool(UNTAG_Int( variable0 /*index*/)>=UNTAG_Int( TAG_Int(0)));
@@ -612,13 +640,14 @@ void array___Array_____braeq(val_t  self, val_t  param0, val_t  param1) {
   return;
 }
 void array___Array___enlarge(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_array, 245, LOCATE_array___Array___enlarge};
+  struct trace_t trace = {NULL, NULL, 245, LOCATE_array___Array___enlarge};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   val_t variable3;
     val_t variable4;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_array;
   variable0 =  param0;
   variable2 = ATTR_array___Array____capacity( self) /*Array::_capacity*/;
   variable1 = variable2;
@@ -651,8 +680,9 @@ void array___Array___enlarge(val_t  self, val_t  param0) {
   return;
 }
 void array___Array___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_array, 256, LOCATE_array___Array___init};
+  struct trace_t trace = {NULL, NULL, 256, LOCATE_array___Array___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_array;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_Array].i]) return;
   ATTR_array___Array____capacity( self) /*Array::_capacity*/ =  TAG_Int(0);
   ATTR_array___AbstractArray____length( self) /*AbstractArray::_length*/ =  TAG_Int(0);
@@ -661,10 +691,11 @@ void array___Array___init(val_t  self, int* init_table) {
   return;
 }
 void array___Array___with(val_t  self, val_t  param0, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_array, 263, LOCATE_array___Array___with};
+  struct trace_t trace = {NULL, NULL, 263, LOCATE_array___Array___with};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_array;
   /* check if p<Array[E] with p:E */
   if (( param0!=NIT_NULL) && !VAL_ISA( param0, COLOR_Array, ID_Array)) { fprintf(stderr, "Cast failled"); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array___init, LOCATE_array, 264); nit_exit(1); } /*cast Array[E]*/;
   variable0 =  param0;
@@ -680,10 +711,11 @@ void array___Array___with(val_t  self, val_t  param0, int* init_table) {
   return;
 }
 void array___Array___with_capacity(val_t  self, val_t  param0, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_array, 271, LOCATE_array___Array___with_capacity};
+  struct trace_t trace = {NULL, NULL, 271, LOCATE_array___Array___with_capacity};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_array;
   variable0 =  param0;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_Array].i]) return;
   variable1 = TAG_Bool(UNTAG_Int( variable0 /*cap*/)>=UNTAG_Int( TAG_Int(0)));
@@ -697,12 +729,13 @@ void array___Array___with_capacity(val_t  self, val_t  param0, int* init_table)
   return;
 }
 void array___Array___filled_with(val_t  self, val_t  param0, val_t  param1, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_array, 280, LOCATE_array___Array___filled_with};
+  struct trace_t trace = {NULL, NULL, 280, LOCATE_array___Array___filled_with};
   val_t variable0;
   val_t variable1;
   val_t variable2;
     val_t variable3;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_array;
   variable0 =  param0;
   variable1 =  param1;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_Array].i]) return;
@@ -726,11 +759,12 @@ void array___Array___filled_with(val_t  self, val_t  param0, val_t  param1, int*
   return;
 }
 void array___Array___with_native(val_t  self, val_t  param0, val_t  param1, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_array, 294, LOCATE_array___Array___with_native};
+  struct trace_t trace = {NULL, NULL, 294, LOCATE_array___Array___with_native};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_array;
   variable0 =  param0;
   variable1 =  param1;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_Array].i]) return;
@@ -744,10 +778,11 @@ void array___Array___with_native(val_t  self, val_t  param0, val_t  param1, int*
   return;
 }
 val_t array___ArrayIterator___item(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_array, 313, LOCATE_array___ArrayIterator___item};
+  struct trace_t trace = {NULL, NULL, 313, LOCATE_array___ArrayIterator___item};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_array;
   variable0 = ATTR_array___ArrayIterator____array( self) /*ArrayIterator::_array*/;
   variable1 = ATTR_array___ArrayIterator____index( self) /*ArrayIterator::_index*/;
   variable0 = ((abstract_collection___Map_____bra_t)CALL(variable0,COLOR_abstract_collection___Map_____bra))(variable0, variable1) /*Map::[]*/;
@@ -757,11 +792,12 @@ val_t array___ArrayIterator___item(val_t  self) {
   return variable0;
 }
 void array___ArrayIterator___item__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_array, 315, LOCATE_array___ArrayIterator___item__eq};
+  struct trace_t trace = {NULL, NULL, 315, LOCATE_array___ArrayIterator___item__eq};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_array;
   variable0 =  param0;
   variable1 = ATTR_array___ArrayIterator____array( self) /*ArrayIterator::_array*/;
   variable2 = ATTR_array___ArrayIterator____index( self) /*ArrayIterator::_index*/;
@@ -770,10 +806,11 @@ void array___ArrayIterator___item__eq(val_t  self, val_t  param0) {
   return;
 }
 val_t array___ArrayIterator___is_ok(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_array, 317, LOCATE_array___ArrayIterator___is_ok};
+  struct trace_t trace = {NULL, NULL, 317, LOCATE_array___ArrayIterator___is_ok};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_array;
   variable0 = ATTR_array___ArrayIterator____index( self) /*ArrayIterator::_index*/;
   variable1 = ATTR_array___ArrayIterator____array( self) /*ArrayIterator::_array*/;
   variable1 = ((array___AbstractArray___length_t)CALL(variable1,COLOR_abstract_collection___Collection___length))(variable1) /*AbstractArray::length*/;
@@ -784,17 +821,19 @@ val_t array___ArrayIterator___is_ok(val_t  self) {
   return variable0;
 }
 void array___ArrayIterator___next(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_array, 319, LOCATE_array___ArrayIterator___next};
+  struct trace_t trace = {NULL, NULL, 319, LOCATE_array___ArrayIterator___next};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_array;
   ATTR_array___ArrayIterator____index( self) /*ArrayIterator::_index*/ = TAG_Int(UNTAG_Int(ATTR_array___ArrayIterator____index( self) /*ArrayIterator::_index*/)+UNTAG_Int( TAG_Int(1)));
   tracehead = trace.prev;
   return;
 }
 void array___ArrayIterator___init(val_t  self, val_t  param0, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_array, 321, LOCATE_array___ArrayIterator___init};
+  struct trace_t trace = {NULL, NULL, 321, LOCATE_array___ArrayIterator___init};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_array;
   variable0 =  param0;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ArrayIterator].i]) return;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*a*/ ==  NIT_NULL /*null*/) || (( variable0 /*a*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*a*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*a*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*a*/,COLOR_kernel___Object_____eqeq))( variable0 /*a*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -806,16 +845,18 @@ void array___ArrayIterator___init(val_t  self, val_t  param0, int* init_table) {
   return;
 }
 val_t array___ArrayIterator___index(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_array, 328, LOCATE_array___ArrayIterator___index};
+  struct trace_t trace = {NULL, NULL, 328, LOCATE_array___ArrayIterator___index};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_array;
   tracehead = trace.prev;
   return ATTR_array___ArrayIterator____index( self) /*ArrayIterator::_index*/;
 }
 val_t array___ArraySet___has(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_array, 340, LOCATE_array___ArraySet___has};
+  struct trace_t trace = {NULL, NULL, 340, LOCATE_array___ArraySet___has};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_array;
   variable0 =  param0;
   variable1 = ATTR_array___ArraySet____array( self) /*ArraySet::_array*/;
   variable1 = ((array___AbstractArray___has_t)CALL(variable1,COLOR_abstract_collection___Collection___has))(variable1,  variable0 /*e*/) /*AbstractArray::has*/;
@@ -825,10 +866,11 @@ val_t array___ArraySet___has(val_t  self, val_t  param0) {
   return variable1;
 }
 void array___ArraySet___add(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_array, 342, LOCATE_array___ArraySet___add};
+  struct trace_t trace = {NULL, NULL, 342, LOCATE_array___ArraySet___add};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_array;
   variable0 =  param0;
   variable1 = ATTR_array___ArraySet____array( self) /*ArraySet::_array*/;
   variable1 = ((array___AbstractArray___has_t)CALL(variable1,COLOR_abstract_collection___Collection___has))(variable1,  variable0 /*e*/) /*AbstractArray::has*/;
@@ -840,9 +882,10 @@ void array___ArraySet___add(val_t  self, val_t  param0) {
   return;
 }
 val_t array___ArraySet___is_empty(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_array, 344, LOCATE_array___ArraySet___is_empty};
+  struct trace_t trace = {NULL, NULL, 344, LOCATE_array___ArraySet___is_empty};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_array;
   variable0 = ATTR_array___ArraySet____array( self) /*ArraySet::_array*/;
   variable0 = ((array___AbstractArray___is_empty_t)CALL(variable0,COLOR_abstract_collection___Collection___is_empty))(variable0) /*AbstractArray::is_empty*/;
   goto return_label54;
@@ -851,9 +894,10 @@ val_t array___ArraySet___is_empty(val_t  self) {
   return variable0;
 }
 val_t array___ArraySet___length(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_array, 346, LOCATE_array___ArraySet___length};
+  struct trace_t trace = {NULL, NULL, 346, LOCATE_array___ArraySet___length};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_array;
   variable0 = ATTR_array___ArraySet____array( self) /*ArraySet::_array*/;
   variable0 = ((array___AbstractArray___length_t)CALL(variable0,COLOR_abstract_collection___Collection___length))(variable0) /*AbstractArray::length*/;
   goto return_label55;
@@ -862,9 +906,10 @@ val_t array___ArraySet___length(val_t  self) {
   return variable0;
 }
 val_t array___ArraySet___first(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_array, 348, LOCATE_array___ArraySet___first};
+  struct trace_t trace = {NULL, NULL, 348, LOCATE_array___ArraySet___first};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_array;
   variable0 = ATTR_array___ArraySet____array( self) /*ArraySet::_array*/;
   variable0 = ((array___AbstractArray___length_t)CALL(variable0,COLOR_abstract_collection___Collection___length))(variable0) /*AbstractArray::length*/;
   variable0 = TAG_Bool(UNTAG_Int(variable0)>UNTAG_Int( TAG_Int(0)));
@@ -877,11 +922,12 @@ val_t array___ArraySet___first(val_t  self) {
   return variable0;
 }
 void array___ArraySet___remove(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_array, 354, LOCATE_array___ArraySet___remove};
+  struct trace_t trace = {NULL, NULL, 354, LOCATE_array___ArraySet___remove};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_array;
   variable0 =  param0;
   variable2 = ATTR_array___ArraySet____array( self) /*ArraySet::_array*/;
   variable2 = ((array___AbstractArray___index_of_t)CALL(variable2,COLOR_abstract_collection___IndexedCollection___index_of))(variable2,  variable0 /*item*/) /*AbstractArray::index_of*/;
@@ -894,28 +940,31 @@ void array___ArraySet___remove(val_t  self, val_t  param0) {
   return;
 }
 void array___ArraySet___remove_all(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_array, 360, LOCATE_array___ArraySet___remove_all};
+  struct trace_t trace = {NULL, NULL, 360, LOCATE_array___ArraySet___remove_all};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_array;
   variable0 =  param0;
   ((array___ArraySet___remove_t)CALL( self,COLOR_abstract_collection___RemovableCollection___remove))( self,  variable0 /*item*/) /*ArraySet::remove*/;
   tracehead = trace.prev;
   return;
 }
 void array___ArraySet___clear(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_array, 362, LOCATE_array___ArraySet___clear};
+  struct trace_t trace = {NULL, NULL, 362, LOCATE_array___ArraySet___clear};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_array;
   variable0 = ATTR_array___ArraySet____array( self) /*ArraySet::_array*/;
   ((array___AbstractArray___clear_t)CALL(variable0,COLOR_abstract_collection___RemovableCollection___clear))(variable0) /*AbstractArray::clear*/;
   tracehead = trace.prev;
   return;
 }
 val_t array___ArraySet___iterator(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_array, 364, LOCATE_array___ArraySet___iterator};
+  struct trace_t trace = {NULL, NULL, 364, LOCATE_array___ArraySet___iterator};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_array;
   variable0 = ATTR_array___ArraySet____array( self) /*ArraySet::_array*/;
   variable0 = ((array___AbstractArray___iterator_t)CALL(variable0,COLOR_abstract_collection___Collection___iterator))(variable0) /*AbstractArray::iterator*/;
   variable1 = NEW_array___ArraySetIterator___init(variable0); /*new ArraySetIterator[E]*/
@@ -926,10 +975,11 @@ val_t array___ArraySet___iterator(val_t  self) {
   return variable0;
 }
 void array___ArraySet___enlarge(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_array, 366, LOCATE_array___ArraySet___enlarge};
+  struct trace_t trace = {NULL, NULL, 366, LOCATE_array___ArraySet___enlarge};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_array;
   variable0 =  param0;
   variable1 = ATTR_array___ArraySet____array( self) /*ArraySet::_array*/;
   ((array___Array___enlarge_t)CALL(variable1,COLOR_array___AbstractArray___enlarge))(variable1,  variable0 /*cap*/) /*Array::enlarge*/;
@@ -937,11 +987,12 @@ void array___ArraySet___enlarge(val_t  self, val_t  param0) {
   return;
 }
 void array___ArraySet___remove_at(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_array, 369, LOCATE_array___ArraySet___remove_at};
+  struct trace_t trace = {NULL, NULL, 369, LOCATE_array___ArraySet___remove_at};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_array;
   variable0 =  param0;
   variable1 = ATTR_array___ArraySet____array( self) /*ArraySet::_array*/;
   variable2 = ATTR_array___ArraySet____array( self) /*ArraySet::_array*/;
@@ -953,9 +1004,10 @@ void array___ArraySet___remove_at(val_t  self, val_t  param0) {
   return;
 }
 void array___ArraySet___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_array, 375, LOCATE_array___ArraySet___init};
+  struct trace_t trace = {NULL, NULL, 375, LOCATE_array___ArraySet___init};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_array;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ArraySet].i]) return;
   variable0 = NEW_array___Array___init(); /*new Array[E]*/
   ATTR_array___ArraySet____array( self) /*ArraySet::_array*/ = variable0;
@@ -964,10 +1016,11 @@ void array___ArraySet___init(val_t  self, int* init_table) {
   return;
 }
 void array___ArraySet___with_capacity(val_t  self, val_t  param0, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_array, 378, LOCATE_array___ArraySet___with_capacity};
+  struct trace_t trace = {NULL, NULL, 378, LOCATE_array___ArraySet___with_capacity};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_array;
   variable0 =  param0;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ArraySet].i]) return;
   variable1 = NEW_array___Array___with_capacity( variable0 /*i*/); /*new Array[E]*/
@@ -977,9 +1030,10 @@ void array___ArraySet___with_capacity(val_t  self, val_t  param0, int* init_tabl
   return;
 }
 val_t array___ArraySetIterator___is_ok(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_array, 386, LOCATE_array___ArraySetIterator___is_ok};
+  struct trace_t trace = {NULL, NULL, 386, LOCATE_array___ArraySetIterator___is_ok};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_array;
   variable0 = ATTR_array___ArraySetIterator____iter( self) /*ArraySetIterator::_iter*/;
   variable0 = ((array___ArrayIterator___is_ok_t)CALL(variable0,COLOR_abstract_collection___Iterator___is_ok))(variable0) /*ArrayIterator::is_ok*/;
   goto return_label65;
@@ -988,18 +1042,20 @@ val_t array___ArraySetIterator___is_ok(val_t  self) {
   return variable0;
 }
 void array___ArraySetIterator___next(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_array, 388, LOCATE_array___ArraySetIterator___next};
+  struct trace_t trace = {NULL, NULL, 388, LOCATE_array___ArraySetIterator___next};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_array;
   variable0 = ATTR_array___ArraySetIterator____iter( self) /*ArraySetIterator::_iter*/;
   ((array___ArrayIterator___next_t)CALL(variable0,COLOR_abstract_collection___Iterator___next))(variable0) /*ArrayIterator::next*/;
   tracehead = trace.prev;
   return;
 }
 val_t array___ArraySetIterator___item(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_array, 390, LOCATE_array___ArraySetIterator___item};
+  struct trace_t trace = {NULL, NULL, 390, LOCATE_array___ArraySetIterator___item};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_array;
   variable0 = ATTR_array___ArraySetIterator____iter( self) /*ArraySetIterator::_iter*/;
   variable0 = ((array___ArrayIterator___item_t)CALL(variable0,COLOR_abstract_collection___Iterator___item))(variable0) /*ArrayIterator::item*/;
   goto return_label67;
@@ -1008,9 +1064,10 @@ val_t array___ArraySetIterator___item(val_t  self) {
   return variable0;
 }
 void array___ArraySetIterator___init(val_t  self, val_t  param0, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_array, 392, LOCATE_array___ArraySetIterator___init};
+  struct trace_t trace = {NULL, NULL, 392, LOCATE_array___ArraySetIterator___init};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_array;
   variable0 =  param0;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ArraySetIterator].i]) return;
   ATTR_array___ArraySetIterator____iter( self) /*ArraySetIterator::_iter*/ =  variable0 /*iter*/;
@@ -1019,7 +1076,7 @@ void array___ArraySetIterator___init(val_t  self, val_t  param0, int* init_table
   return;
 }
 val_t array___ArrayMap_____bra(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_array, 402, LOCATE_array___ArrayMap_____bra};
+  struct trace_t trace = {NULL, NULL, 402, LOCATE_array___ArrayMap_____bra};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -1027,6 +1084,7 @@ val_t array___ArrayMap_____bra(val_t  self, val_t  param0) {
     val_t variable4;
     val_t variable5;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_array;
   variable0 =  param0;
   variable2 = ((array___ArrayMap___index_t)CALL( self,COLOR_array___ArrayMap___index))( self,  variable0 /*key*/) /*ArrayMap::index*/;
   variable1 = variable2;
@@ -1061,7 +1119,7 @@ val_t array___ArrayMap_____bra(val_t  self, val_t  param0) {
   return variable1;
 }
 void array___ArrayMap_____braeq(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_array, 413, LOCATE_array___ArrayMap_____braeq};
+  struct trace_t trace = {NULL, NULL, 413, LOCATE_array___ArrayMap_____braeq};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -1070,6 +1128,7 @@ void array___ArrayMap_____braeq(val_t  self, val_t  param0, val_t  param1) {
     val_t variable5;
     val_t variable6;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_array;
   variable0 =  param0;
   variable1 =  param1;
   variable3 = ((array___ArrayMap___index_t)CALL( self,COLOR_array___ArrayMap___index))( self,  variable0 /*key*/) /*ArrayMap::index*/;
@@ -1103,10 +1162,11 @@ void array___ArrayMap_____braeq(val_t  self, val_t  param0, val_t  param1) {
   return;
 }
 val_t array___ArrayMap___has_key(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_array, 424, LOCATE_array___ArrayMap___has_key};
+  struct trace_t trace = {NULL, NULL, 424, LOCATE_array___ArrayMap___has_key};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_array;
   variable0 =  param0;
   variable1 = ((array___ArrayMap___index_t)CALL( self,COLOR_array___ArrayMap___index))( self,  variable0 /*key*/) /*ArrayMap::index*/;
   variable1 = TAG_Bool(UNTAG_Int(variable1)>=UNTAG_Int( TAG_Int(0)));
@@ -1116,12 +1176,13 @@ val_t array___ArrayMap___has_key(val_t  self, val_t  param0) {
   return variable1;
 }
 val_t array___ArrayMap___has(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_array, 427, LOCATE_array___ArrayMap___has};
+  struct trace_t trace = {NULL, NULL, 427, LOCATE_array___ArrayMap___has};
   val_t variable0;
   val_t variable1;
     val_t variable2;
     val_t variable3;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_array;
   variable0 =  param0;
   variable1 = ATTR_array___ArrayMap____items( self) /*ArrayMap::_items*/;
   variable1 = ((array___AbstractArray___iterator_t)CALL(variable1,COLOR_abstract_collection___Collection___iterator))(variable1) /*AbstractArray::iterator*/;
@@ -1146,12 +1207,13 @@ val_t array___ArrayMap___has(val_t  self, val_t  param0) {
   return variable1;
 }
 val_t array___ArrayMap___has_only(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_array, 434, LOCATE_array___ArrayMap___has_only};
+  struct trace_t trace = {NULL, NULL, 434, LOCATE_array___ArrayMap___has_only};
   val_t variable0;
   val_t variable1;
     val_t variable2;
     val_t variable3;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_array;
   variable0 =  param0;
   variable1 = ATTR_array___ArrayMap____items( self) /*ArrayMap::_items*/;
   variable1 = ((array___AbstractArray___iterator_t)CALL(variable1,COLOR_abstract_collection___Collection___iterator))(variable1) /*AbstractArray::iterator*/;
@@ -1176,9 +1238,10 @@ val_t array___ArrayMap___has_only(val_t  self, val_t  param0) {
   return variable1;
 }
 val_t array___ArrayMap___length(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_array, 441, LOCATE_array___ArrayMap___length};
+  struct trace_t trace = {NULL, NULL, 441, LOCATE_array___ArrayMap___length};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_array;
   variable0 = ATTR_array___ArrayMap____items( self) /*ArrayMap::_items*/;
   variable0 = ((array___AbstractArray___length_t)CALL(variable0,COLOR_abstract_collection___Collection___length))(variable0) /*AbstractArray::length*/;
   goto return_label78;
@@ -1187,9 +1250,10 @@ val_t array___ArrayMap___length(val_t  self) {
   return variable0;
 }
 val_t array___ArrayMap___first(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_array, 444, LOCATE_array___ArrayMap___first};
+  struct trace_t trace = {NULL, NULL, 444, LOCATE_array___ArrayMap___first};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_array;
   variable0 = ATTR_array___ArrayMap____items( self) /*ArrayMap::_items*/;
   variable0 = ((abstract_collection___IndexedCollection___first_t)CALL(variable0,COLOR_abstract_collection___Collection___first))(variable0) /*IndexedCollection::first*/;
   variable0 = ((abstract_collection___Couple___first_t)CALL(variable0,COLOR_abstract_collection___Couple___first))(variable0) /*Couple::first*/;
@@ -1199,13 +1263,14 @@ val_t array___ArrayMap___first(val_t  self) {
   return variable0;
 }
 val_t array___ArrayMap___count(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_array, 446, LOCATE_array___ArrayMap___count};
+  struct trace_t trace = {NULL, NULL, 446, LOCATE_array___ArrayMap___count};
   val_t variable0;
   val_t variable1;
   val_t variable2;
     val_t variable3;
     val_t variable4;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_array;
   variable0 =  param0;
   variable1 =  TAG_Int(0);
   variable2 = ATTR_array___ArrayMap____items( self) /*ArrayMap::_items*/;
@@ -1230,10 +1295,11 @@ val_t array___ArrayMap___count(val_t  self, val_t  param0) {
   return variable1;
 }
 val_t array___ArrayMap___iterator(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_array, 454, LOCATE_array___ArrayMap___iterator};
+  struct trace_t trace = {NULL, NULL, 454, LOCATE_array___ArrayMap___iterator};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_array;
   variable0 = ATTR_array___ArrayMap____items( self) /*ArrayMap::_items*/;
   variable0 = ((array___AbstractArray___iterator_t)CALL(variable0,COLOR_abstract_collection___Collection___iterator))(variable0) /*AbstractArray::iterator*/;
   variable1 = NEW_abstract_collection___CoupleMapIterator___init(variable0); /*new CoupleMapIterator[K, E]*/
@@ -1244,9 +1310,10 @@ val_t array___ArrayMap___iterator(val_t  self) {
   return variable0;
 }
 val_t array___ArrayMap___is_empty(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_array, 456, LOCATE_array___ArrayMap___is_empty};
+  struct trace_t trace = {NULL, NULL, 456, LOCATE_array___ArrayMap___is_empty};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_array;
   variable0 = ATTR_array___ArrayMap____items( self) /*ArrayMap::_items*/;
   variable0 = ((array___AbstractArray___is_empty_t)CALL(variable0,COLOR_abstract_collection___Collection___is_empty))(variable0) /*AbstractArray::is_empty*/;
   goto return_label83;
@@ -1255,7 +1322,7 @@ val_t array___ArrayMap___is_empty(val_t  self) {
   return variable0;
 }
 void array___ArrayMap___remove(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_array, 458, LOCATE_array___ArrayMap___remove};
+  struct trace_t trace = {NULL, NULL, 458, LOCATE_array___ArrayMap___remove};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -1263,6 +1330,7 @@ void array___ArrayMap___remove(val_t  self, val_t  param0) {
     val_t variable4;
     val_t variable5;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_array;
   variable0 =  param0;
   variable2 = ATTR_array___ArrayMap____items( self) /*ArrayMap::_items*/;
   variable2 = ((array___AbstractArray___length_t)CALL(variable2,COLOR_abstract_collection___Collection___length))(variable2) /*AbstractArray::length*/;
@@ -1303,7 +1371,7 @@ void array___ArrayMap___remove(val_t  self, val_t  param0) {
   return;
 }
 void array___ArrayMap___remove_all(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_array, 470, LOCATE_array___ArrayMap___remove_all};
+  struct trace_t trace = {NULL, NULL, 470, LOCATE_array___ArrayMap___remove_all};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -1311,6 +1379,7 @@ void array___ArrayMap___remove_all(val_t  self, val_t  param0) {
     val_t variable4;
     val_t variable5;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_array;
   variable0 =  param0;
   variable2 = ATTR_array___ArrayMap____items( self) /*ArrayMap::_items*/;
   variable2 = ((array___AbstractArray___length_t)CALL(variable2,COLOR_abstract_collection___Collection___length))(variable2) /*AbstractArray::length*/;
@@ -1349,11 +1418,12 @@ void array___ArrayMap___remove_all(val_t  self, val_t  param0) {
   return;
 }
 void array___ArrayMap___remove_at(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_array, 481, LOCATE_array___ArrayMap___remove_at};
+  struct trace_t trace = {NULL, NULL, 481, LOCATE_array___ArrayMap___remove_at};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_array;
   variable0 =  param0;
   variable2 = ((array___ArrayMap___index_t)CALL( self,COLOR_array___ArrayMap___index))( self,  variable0 /*key*/) /*ArrayMap::index*/;
   variable1 = variable2;
@@ -1365,19 +1435,21 @@ void array___ArrayMap___remove_at(val_t  self, val_t  param0) {
   return;
 }
 void array___ArrayMap___clear(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_array, 487, LOCATE_array___ArrayMap___clear};
+  struct trace_t trace = {NULL, NULL, 487, LOCATE_array___ArrayMap___clear};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_array;
   variable0 = ATTR_array___ArrayMap____items( self) /*ArrayMap::_items*/;
   ((array___AbstractArray___clear_t)CALL(variable0,COLOR_abstract_collection___RemovableCollection___clear))(variable0) /*AbstractArray::clear*/;
   tracehead = trace.prev;
   return;
 }
 void array___ArrayMap___enlarge(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_array, 489, LOCATE_array___ArrayMap___enlarge};
+  struct trace_t trace = {NULL, NULL, 489, LOCATE_array___ArrayMap___enlarge};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_array;
   variable0 =  param0;
   variable1 = ATTR_array___ArrayMap____items( self) /*ArrayMap::_items*/;
   ((array___Array___enlarge_t)CALL(variable1,COLOR_array___AbstractArray___enlarge))(variable1,  variable0 /*cap*/) /*Array::enlarge*/;
@@ -1385,7 +1457,7 @@ void array___ArrayMap___enlarge(val_t  self, val_t  param0) {
   return;
 }
 val_t array___ArrayMap___couple_at(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_array, 492, LOCATE_array___ArrayMap___couple_at};
+  struct trace_t trace = {NULL, NULL, 492, LOCATE_array___ArrayMap___couple_at};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -1393,6 +1465,7 @@ val_t array___ArrayMap___couple_at(val_t  self, val_t  param0) {
     val_t variable4;
     val_t variable5;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_array;
   variable0 =  param0;
   variable2 = ((array___ArrayMap___index_t)CALL( self,COLOR_array___ArrayMap___index))( self,  variable0 /*key*/) /*ArrayMap::index*/;
   variable1 = variable2;
@@ -1426,11 +1499,12 @@ val_t array___ArrayMap___couple_at(val_t  self, val_t  param0) {
   return variable1;
 }
 void array___ArrayMap___remove_at_index(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_array, 505, LOCATE_array___ArrayMap___remove_at_index};
+  struct trace_t trace = {NULL, NULL, 505, LOCATE_array___ArrayMap___remove_at_index};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_array;
   variable0 =  param0;
   variable1 = ATTR_array___ArrayMap____items( self) /*ArrayMap::_items*/;
   variable2 = ATTR_array___ArrayMap____items( self) /*ArrayMap::_items*/;
@@ -1442,7 +1516,7 @@ void array___ArrayMap___remove_at_index(val_t  self, val_t  param0) {
   return;
 }
 val_t array___ArrayMap___index(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_array, 515, LOCATE_array___ArrayMap___index};
+  struct trace_t trace = {NULL, NULL, 515, LOCATE_array___ArrayMap___index};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -1451,6 +1525,7 @@ val_t array___ArrayMap___index(val_t  self, val_t  param0) {
     val_t variable5;
     val_t variable6;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_array;
   variable0 =  param0;
   variable2 = ATTR_array___ArrayMap____last_index( self) /*ArrayMap::_last_index*/;
   variable1 = variable2;
@@ -1526,9 +1601,10 @@ val_t array___ArrayMap___index(val_t  self, val_t  param0) {
   return variable1;
 }
 void array___ArrayMap___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_array, 533, LOCATE_array___ArrayMap___init};
+  struct trace_t trace = {NULL, NULL, 533, LOCATE_array___ArrayMap___init};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_array;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ArrayMap].i]) return;
   variable0 = NEW_array___Array___init(); /*new Array[E]*/
   ATTR_array___ArrayMap____items( self) /*ArrayMap::_items*/ = variable0;
@@ -1537,10 +1613,11 @@ void array___ArrayMap___init(val_t  self, int* init_table) {
   return;
 }
 val_t array___Iterator___to_a(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_array, 543, LOCATE_array___Iterator___to_a};
+  struct trace_t trace = {NULL, NULL, 543, LOCATE_array___Iterator___to_a};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_array;
   variable1 = NEW_array___Array___init(); /*new Array[E]*/
   variable0 = variable1;
   while (true) { /*while*/
@@ -1559,9 +1636,10 @@ val_t array___Iterator___to_a(val_t  self) {
   return variable0;
 }
 val_t array___Collection___to_a(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_array, 556, LOCATE_array___Collection___to_a};
+  struct trace_t trace = {NULL, NULL, 556, LOCATE_array___Collection___to_a};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_array;
   variable0 = ((abstract_collection___Collection___iterator_t)CALL( self,COLOR_abstract_collection___Collection___iterator))( self) /*Collection::iterator*/;
   variable0 = ((array___Iterator___to_a_t)CALL(variable0,COLOR_array___Iterator___to_a))(variable0) /*Iterator::to_a*/;
   goto return_label103;
@@ -1570,27 +1648,31 @@ val_t array___Collection___to_a(val_t  self) {
   return variable0;
 }
 val_t array___ArrayCapable___calloc_array(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_array, 567, LOCATE_array___ArrayCapable___calloc_array};
+  struct trace_t trace = {NULL, NULL, 567, LOCATE_array___ArrayCapable___calloc_array};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_array;
   tracehead = trace.prev;
   return BOX_NativeArray((val_t*)malloc((UNTAG_Int( param0) * sizeof(val_t))));
 }
 val_t array___NativeArray_____bra(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_array, 573, LOCATE_array___NativeArray_____bra};
+  struct trace_t trace = {NULL, NULL, 573, LOCATE_array___NativeArray_____bra};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_array;
   tracehead = trace.prev;
   return UNBOX_NativeArray( self)[UNTAG_Int( param0)];
 }
 void array___NativeArray_____braeq(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_array, 574, LOCATE_array___NativeArray_____braeq};
+  struct trace_t trace = {NULL, NULL, 574, LOCATE_array___NativeArray_____braeq};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_array;
   UNBOX_NativeArray( self)[UNTAG_Int( param0)]= param1;
   tracehead = trace.prev;
   return;
 }
 void array___NativeArray___copy_to(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_array, 575, LOCATE_array___NativeArray___copy_to};
+  struct trace_t trace = {NULL, NULL, 575, LOCATE_array___NativeArray___copy_to};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_array;
   (void)memcpy(UNBOX_NativeArray( param0), UNBOX_NativeArray( self), UNTAG_Int( param1)*sizeof(val_t));
   tracehead = trace.prev;
   return;
index c5c2210..0ec2326 100644 (file)
@@ -1,6 +1,6 @@
 /* This C header file is generated by NIT to compile modules and programs that requires array. */
-#ifndef array_2_sep
-#define array_2_sep
+#ifndef array_sep
+#define array_sep
 #include "abstract_collection._sep.h"
 #include <nit_common.h>
 
@@ -22,7 +22,7 @@ extern const classtable_elt_t VFT_NativeArray[];
 struct TBOX_NativeArray { const classtable_elt_t * vft; val_t * val;};
 val_t BOX_NativeArray(val_t * val);
 #define UNBOX_NativeArray(x) (((struct TBOX_NativeArray *)(VAL2OBJ(x)))->val)
-#define LOCATE_array "./../lib/standard//array.nit"
+extern const char *LOCATE_array;
 extern const int SFT_array[];
 #define ID_AbstractArray SFT_array[0]
 #define COLOR_AbstractArray SFT_array[1]
index be914d0..0b54c5d 100644 (file)
@@ -1,7 +1,7 @@
 /* This C file is generated by NIT to compile module compiling. */
 #include "compiling._sep.h"
 void compiling___MMSrcModule___compile_prog_to_c(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_compiling, 26, LOCATE_compiling___MMSrcModule___compile_prog_to_c};
+  struct trace_t trace = {NULL, NULL, 26, LOCATE_compiling___MMSrcModule___compile_prog_to_c};
   val_t variable0;
   val_t variable1;
     val_t variable2;
@@ -19,11 +19,12 @@ void compiling___MMSrcModule___compile_prog_to_c(val_t  self, val_t  param0) {
     val_t variable14;
     val_t variable15;
     val_t variable16;
-    val_t variable17;
-    val_t variable18;
-    val_t variable19;
-    val_t variable20;
+  val_t variable17;
+  val_t variable18;
+  val_t variable19;
+  val_t variable20;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling;
   variable0 =  param0;
   variable1 = ((abstractmetamodel___MMModule___mhe_t)CALL( self,COLOR_abstractmetamodel___MMModule___mhe))( self) /*MMModule::mhe*/;
   variable1 = ((partial_order___PartialOrderElement___greaters_and_self_t)CALL(variable1,COLOR_partial_order___PartialOrderElement___greaters_and_self))(variable1) /*PartialOrderElement::greaters_and_self*/;
@@ -41,7 +42,7 @@ void compiling___MMSrcModule___compile_prog_to_c(val_t  self, val_t  param0) {
   break_1: while(0);
   variable2 = ((compiling_global___MMSrcModule___global_analysis_t)CALL( self,COLOR_compiling_global___MMSrcModule___global_analysis))( self,  variable0 /*tc*/) /*MMSrcModule::global_analysis*/;
   variable1 = variable2;
-  variable2 = ((compiling_base___ToolContext___base_dir_t)CALL( variable0 /*tc*/,COLOR_compiling_base___ToolContext___base_dir))( variable0 /*tc*/) /*ToolContext::base_dir*/;
+  variable2 = ((compiling_base___ToolContext___compdir_t)CALL( variable0 /*tc*/,COLOR_compiling_base___ToolContext___compdir))( variable0 /*tc*/) /*ToolContext::compdir*/;
   ((file___String___mkdir_t)CALL(variable2,COLOR_file___String___mkdir))(variable2) /*String::mkdir*/;
   variable3 = NEW_array___Array___init(); /*new Array[E]*/
   variable2 = variable3;
@@ -62,7 +63,7 @@ void compiling___MMSrcModule___compile_prog_to_c(val_t  self, val_t  param0) {
     variable7 = NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
     variable8 = variable7;
     ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable8) /*String::append*/;
-    variable9 = ((compiling_base___ToolContext___base_dir_t)CALL( variable0 /*tc*/,COLOR_compiling_base___ToolContext___base_dir))( variable0 /*tc*/) /*ToolContext::base_dir*/;
+    variable9 = ((compiling_base___ToolContext___compdir_t)CALL( variable0 /*tc*/,COLOR_compiling_base___ToolContext___compdir))( variable0 /*tc*/) /*ToolContext::compdir*/;
     variable10 = variable9;
     ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable10) /*String::append*/;
     variable11 = NEW_string___String___with_native(BOX_NativeString("/"), TAG_Int(1)); /*new String*/
@@ -72,15 +73,9 @@ void compiling___MMSrcModule___compile_prog_to_c(val_t  self, val_t  param0) {
     variable14 = variable13;
     variable14 = ((string___String___to_s_t)CALL(variable14,COLOR_string___Object___to_s))(variable14) /*String::to_s*/;
     ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable14) /*String::append*/;
-    variable15 = NEW_string___String___with_native(BOX_NativeString("."), TAG_Int(1)); /*new String*/
+    variable15 = NEW_string___String___with_native(BOX_NativeString("._sep.c"), TAG_Int(7)); /*new String*/
     variable16 = variable15;
     ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable16) /*String::append*/;
-    variable17 = ((compiling_base___ToolContext___ext_prefix_t)CALL( variable0 /*tc*/,COLOR_compiling_base___ToolContext___ext_prefix))( variable0 /*tc*/) /*ToolContext::ext_prefix*/;
-    variable18 = variable17;
-    ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable18) /*String::append*/;
-    variable19 = NEW_string___String___with_native(BOX_NativeString("_sep.c"), TAG_Int(6)); /*new String*/
-    variable20 = variable19;
-    ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable20) /*String::append*/;
     ((array___AbstractArray___add_t)CALL( variable2 /*files*/,COLOR_abstract_collection___SimpleCollection___add))( variable2 /*files*/, variable6) /*AbstractArray::add*/;
     ((compiling___MMSrcModule___compile_separate_module_t)CALL( variable5 /*m*/,COLOR_compiling___MMSrcModule___compile_separate_module))( variable5 /*m*/,  variable0 /*tc*/,  variable1 /*ga*/) /*MMSrcModule::compile_separate_module*/;
     variable7 = ((mmloader___MMModule___filename_t)CALL( variable5 /*m*/,COLOR_mmloader___MMModule___filename))( variable5 /*m*/) /*MMModule::filename*/;
@@ -117,7 +112,7 @@ void compiling___MMSrcModule___compile_prog_to_c(val_t  self, val_t  param0) {
   variable5 = NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
   variable6 = variable5;
   ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable6) /*String::append*/;
-  variable7 = ((compiling_base___ToolContext___base_dir_t)CALL( variable0 /*tc*/,COLOR_compiling_base___ToolContext___base_dir))( variable0 /*tc*/) /*ToolContext::base_dir*/;
+  variable7 = ((compiling_base___ToolContext___compdir_t)CALL( variable0 /*tc*/,COLOR_compiling_base___ToolContext___compdir))( variable0 /*tc*/) /*ToolContext::compdir*/;
   variable8 = variable7;
   ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable8) /*String::append*/;
   variable9 = NEW_string___String___with_native(BOX_NativeString("/"), TAG_Int(1)); /*new String*/
@@ -127,22 +122,16 @@ void compiling___MMSrcModule___compile_prog_to_c(val_t  self, val_t  param0) {
   variable12 = variable11;
   variable12 = ((string___String___to_s_t)CALL(variable12,COLOR_string___Object___to_s))(variable12) /*String::to_s*/;
   ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable12) /*String::append*/;
-  variable13 = NEW_string___String___with_native(BOX_NativeString("."), TAG_Int(1)); /*new String*/
+  variable13 = NEW_string___String___with_native(BOX_NativeString("._tables.c"), TAG_Int(10)); /*new String*/
   variable14 = variable13;
   ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable14) /*String::append*/;
-  variable15 = ((compiling_base___ToolContext___ext_prefix_t)CALL( variable0 /*tc*/,COLOR_compiling_base___ToolContext___ext_prefix))( variable0 /*tc*/) /*ToolContext::ext_prefix*/;
-  variable16 = variable15;
-  ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable16) /*String::append*/;
-  variable17 = NEW_string___String___with_native(BOX_NativeString("_tables.c"), TAG_Int(9)); /*new String*/
-  variable18 = variable17;
-  ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable18) /*String::append*/;
   ((array___AbstractArray___add_t)CALL( variable2 /*files*/,COLOR_abstract_collection___SimpleCollection___add))( variable2 /*files*/, variable4) /*AbstractArray::add*/;
   ((compiling___MMSrcModule___compile_main_t)CALL( self,COLOR_compiling___MMSrcModule___compile_main))( self,  variable0 /*tc*/,  variable1 /*ga*/) /*MMSrcModule::compile_main*/;
   variable5 = NEW_string___String___init(); /*new String*/
   variable6 = NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
   variable7 = variable6;
   ((string___String___append_t)CALL(variable5,COLOR_abstract_collection___IndexedCollection___append))(variable5, variable7) /*String::append*/;
-  variable8 = ((compiling_base___ToolContext___base_dir_t)CALL( variable0 /*tc*/,COLOR_compiling_base___ToolContext___base_dir))( variable0 /*tc*/) /*ToolContext::base_dir*/;
+  variable8 = ((compiling_base___ToolContext___compdir_t)CALL( variable0 /*tc*/,COLOR_compiling_base___ToolContext___compdir))( variable0 /*tc*/) /*ToolContext::compdir*/;
   variable9 = variable8;
   ((string___String___append_t)CALL(variable5,COLOR_abstract_collection___IndexedCollection___append))(variable5, variable9) /*String::append*/;
   variable10 = NEW_string___String___with_native(BOX_NativeString("/"), TAG_Int(1)); /*new String*/
@@ -152,15 +141,9 @@ void compiling___MMSrcModule___compile_prog_to_c(val_t  self, val_t  param0) {
   variable13 = variable12;
   variable13 = ((string___String___to_s_t)CALL(variable13,COLOR_string___Object___to_s))(variable13) /*String::to_s*/;
   ((string___String___append_t)CALL(variable5,COLOR_abstract_collection___IndexedCollection___append))(variable5, variable13) /*String::append*/;
-  variable14 = NEW_string___String___with_native(BOX_NativeString("."), TAG_Int(1)); /*new String*/
+  variable14 = NEW_string___String___with_native(BOX_NativeString("._build.sh"), TAG_Int(10)); /*new String*/
   variable15 = variable14;
   ((string___String___append_t)CALL(variable5,COLOR_abstract_collection___IndexedCollection___append))(variable5, variable15) /*String::append*/;
-  variable16 = ((compiling_base___ToolContext___ext_prefix_t)CALL( variable0 /*tc*/,COLOR_compiling_base___ToolContext___ext_prefix))( variable0 /*tc*/) /*ToolContext::ext_prefix*/;
-  variable17 = variable16;
-  ((string___String___append_t)CALL(variable5,COLOR_abstract_collection___IndexedCollection___append))(variable5, variable17) /*String::append*/;
-  variable18 = NEW_string___String___with_native(BOX_NativeString("_build.sh"), TAG_Int(9)); /*new String*/
-  variable19 = variable18;
-  ((string___String___append_t)CALL(variable5,COLOR_abstract_collection___IndexedCollection___append))(variable5, variable19) /*String::append*/;
   variable4 = variable5;
   variable6 = NEW_file___OFStream___open( variable4 /*fn*/); /*new OFStream*/
   variable5 = variable6;
@@ -199,7 +182,7 @@ void compiling___MMSrcModule___compile_prog_to_c(val_t  self, val_t  param0) {
   variable11 = NEW_string___String___with_native(BOX_NativeString("/gccx -d "), TAG_Int(9)); /*new String*/
   variable12 = variable11;
   ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable12) /*String::append*/;
-  variable13 = ((compiling_base___ToolContext___base_dir_t)CALL( variable0 /*tc*/,COLOR_compiling_base___ToolContext___base_dir))( variable0 /*tc*/) /*ToolContext::base_dir*/;
+  variable13 = ((compiling_base___ToolContext___compdir_t)CALL( variable0 /*tc*/,COLOR_compiling_base___ToolContext___compdir))( variable0 /*tc*/) /*ToolContext::compdir*/;
   variable14 = variable13;
   ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable14) /*String::append*/;
   variable15 = NEW_string___String___with_native(BOX_NativeString(" -I $CLIBDIR "), TAG_Int(13)); /*new String*/
@@ -300,7 +283,7 @@ void compiling___MMSrcModule___compile_prog_to_c(val_t  self, val_t  param0) {
   return;
 }
 void compiling___MMSrcModule___compile_main(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_compiling, 80, LOCATE_compiling___MMSrcModule___compile_main};
+  struct trace_t trace = {NULL, NULL, 80, LOCATE_compiling___MMSrcModule___compile_main};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -316,11 +299,8 @@ void compiling___MMSrcModule___compile_main(val_t  self, val_t  param0, val_t  p
   val_t variable12;
   val_t variable13;
   val_t variable14;
-  val_t variable15;
-  val_t variable16;
-  val_t variable17;
-  val_t variable18;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling;
   variable0 =  param0;
   variable1 =  param1;
   variable3 = NEW_compiling_base___CompilerVisitor___init( self); /*new CompilerVisitor*/
@@ -335,7 +315,7 @@ void compiling___MMSrcModule___compile_main(val_t  self, val_t  param0, val_t  p
   variable5 = NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
   variable6 = variable5;
   ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable6) /*String::append*/;
-  variable7 = ((compiling_base___ToolContext___base_dir_t)CALL( variable0 /*tc*/,COLOR_compiling_base___ToolContext___base_dir))( variable0 /*tc*/) /*ToolContext::base_dir*/;
+  variable7 = ((compiling_base___ToolContext___compdir_t)CALL( variable0 /*tc*/,COLOR_compiling_base___ToolContext___compdir))( variable0 /*tc*/) /*ToolContext::compdir*/;
   variable8 = variable7;
   ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable8) /*String::append*/;
   variable9 = NEW_string___String___with_native(BOX_NativeString("/"), TAG_Int(1)); /*new String*/
@@ -345,15 +325,9 @@ void compiling___MMSrcModule___compile_main(val_t  self, val_t  param0, val_t  p
   variable12 = variable11;
   variable12 = ((string___String___to_s_t)CALL(variable12,COLOR_string___Object___to_s))(variable12) /*String::to_s*/;
   ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable12) /*String::append*/;
-  variable13 = NEW_string___String___with_native(BOX_NativeString("."), TAG_Int(1)); /*new String*/
+  variable13 = NEW_string___String___with_native(BOX_NativeString("._tables.c"), TAG_Int(10)); /*new String*/
   variable14 = variable13;
   ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable14) /*String::append*/;
-  variable15 = ((compiling_base___ToolContext___ext_prefix_t)CALL( variable0 /*tc*/,COLOR_compiling_base___ToolContext___ext_prefix))( variable0 /*tc*/) /*ToolContext::ext_prefix*/;
-  variable16 = variable15;
-  ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable16) /*String::append*/;
-  variable17 = NEW_string___String___with_native(BOX_NativeString("_tables.c"), TAG_Int(9)); /*new String*/
-  variable18 = variable17;
-  ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable18) /*String::append*/;
   variable5 = NEW_file___OFStream___open(variable4); /*new OFStream*/
   variable4 = variable5;
   variable3 = variable4;
@@ -384,15 +358,9 @@ void compiling___MMSrcModule___compile_main(val_t  self, val_t  param0, val_t  p
     variable10 = variable9;
     variable10 = ((string___String___to_s_t)CALL(variable10,COLOR_string___Object___to_s))(variable10) /*String::to_s*/;
     ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable10) /*String::append*/;
-    variable11 = NEW_string___String___with_native(BOX_NativeString("."), TAG_Int(1)); /*new String*/
+    variable11 = NEW_string___String___with_native(BOX_NativeString("._sep.h\"\n"), TAG_Int(9)); /*new String*/
     variable12 = variable11;
     ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable12) /*String::append*/;
-    variable13 = ((compiling_base___ToolContext___ext_prefix_t)CALL( variable0 /*tc*/,COLOR_compiling_base___ToolContext___ext_prefix))( variable0 /*tc*/) /*ToolContext::ext_prefix*/;
-    variable14 = variable13;
-    ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable14) /*String::append*/;
-    variable15 = NEW_string___String___with_native(BOX_NativeString("_sep.h\"\n"), TAG_Int(8)); /*new String*/
-    variable16 = variable15;
-    ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable16) /*String::append*/;
     ((file___OFStream___write_t)CALL( variable3 /*f*/,COLOR_stream___OStream___write))( variable3 /*f*/, variable6) /*OFStream::write*/;
     continue_4: while(0);
     ((abstract_collection___Iterator___next_t)CALL(variable4,COLOR_abstract_collection___Iterator___next))(variable4) /*Iterator::next*/;
@@ -405,7 +373,7 @@ void compiling___MMSrcModule___compile_main(val_t  self, val_t  param0, val_t  p
   return;
 }
 void compiling___MMSrcModule___compile_separate_module(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_compiling, 98, LOCATE_compiling___MMSrcModule___compile_separate_module};
+  struct trace_t trace = {NULL, NULL, 98, LOCATE_compiling___MMSrcModule___compile_separate_module};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -423,11 +391,8 @@ void compiling___MMSrcModule___compile_separate_module(val_t  self, val_t  param
   val_t variable14;
   val_t variable15;
   val_t variable16;
-  val_t variable17;
-  val_t variable18;
-  val_t variable19;
-  val_t variable20;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling;
   variable0 =  param0;
   variable1 =  param1;
   variable3 = NEW_compiling_base___CompilerVisitor___init( self); /*new CompilerVisitor*/
@@ -463,7 +428,7 @@ void compiling___MMSrcModule___compile_separate_module(val_t  self, val_t  param
   variable6 = NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
   variable7 = variable6;
   ((string___String___append_t)CALL(variable5,COLOR_abstract_collection___IndexedCollection___append))(variable5, variable7) /*String::append*/;
-  variable8 = ((compiling_base___ToolContext___base_dir_t)CALL( variable0 /*tc*/,COLOR_compiling_base___ToolContext___base_dir))( variable0 /*tc*/) /*ToolContext::base_dir*/;
+  variable8 = ((compiling_base___ToolContext___compdir_t)CALL( variable0 /*tc*/,COLOR_compiling_base___ToolContext___compdir))( variable0 /*tc*/) /*ToolContext::compdir*/;
   variable9 = variable8;
   ((string___String___append_t)CALL(variable5,COLOR_abstract_collection___IndexedCollection___append))(variable5, variable9) /*String::append*/;
   variable10 = NEW_string___String___with_native(BOX_NativeString("/"), TAG_Int(1)); /*new String*/
@@ -473,15 +438,9 @@ void compiling___MMSrcModule___compile_separate_module(val_t  self, val_t  param
   variable13 = variable12;
   variable13 = ((string___String___to_s_t)CALL(variable13,COLOR_string___Object___to_s))(variable13) /*String::to_s*/;
   ((string___String___append_t)CALL(variable5,COLOR_abstract_collection___IndexedCollection___append))(variable5, variable13) /*String::append*/;
-  variable14 = NEW_string___String___with_native(BOX_NativeString("."), TAG_Int(1)); /*new String*/
+  variable14 = NEW_string___String___with_native(BOX_NativeString("._sep.h"), TAG_Int(7)); /*new String*/
   variable15 = variable14;
   ((string___String___append_t)CALL(variable5,COLOR_abstract_collection___IndexedCollection___append))(variable5, variable15) /*String::append*/;
-  variable16 = ((compiling_base___ToolContext___ext_prefix_t)CALL( variable0 /*tc*/,COLOR_compiling_base___ToolContext___ext_prefix))( variable0 /*tc*/) /*ToolContext::ext_prefix*/;
-  variable17 = variable16;
-  ((string___String___append_t)CALL(variable5,COLOR_abstract_collection___IndexedCollection___append))(variable5, variable17) /*String::append*/;
-  variable18 = NEW_string___String___with_native(BOX_NativeString("_sep.h"), TAG_Int(6)); /*new String*/
-  variable19 = variable18;
-  ((string___String___append_t)CALL(variable5,COLOR_abstract_collection___IndexedCollection___append))(variable5, variable19) /*String::append*/;
   variable6 = NEW_file___OFStream___open(variable5); /*new OFStream*/
   variable5 = variable6;
   variable4 = variable5;
@@ -505,15 +464,9 @@ void compiling___MMSrcModule___compile_separate_module(val_t  self, val_t  param
   variable9 = variable8;
   variable9 = ((string___String___to_s_t)CALL(variable9,COLOR_string___Object___to_s))(variable9) /*String::to_s*/;
   ((string___String___append_t)CALL(variable5,COLOR_abstract_collection___IndexedCollection___append))(variable5, variable9) /*String::append*/;
-  variable10 = NEW_string___String___with_native(BOX_NativeString("_"), TAG_Int(1)); /*new String*/
+  variable10 = NEW_string___String___with_native(BOX_NativeString("_sep\n"), TAG_Int(5)); /*new String*/
   variable11 = variable10;
   ((string___String___append_t)CALL(variable5,COLOR_abstract_collection___IndexedCollection___append))(variable5, variable11) /*String::append*/;
-  variable12 = ((compiling_base___ToolContext___ext_prefix_t)CALL( variable0 /*tc*/,COLOR_compiling_base___ToolContext___ext_prefix))( variable0 /*tc*/) /*ToolContext::ext_prefix*/;
-  variable13 = variable12;
-  ((string___String___append_t)CALL(variable5,COLOR_abstract_collection___IndexedCollection___append))(variable5, variable13) /*String::append*/;
-  variable14 = NEW_string___String___with_native(BOX_NativeString("_sep\n"), TAG_Int(5)); /*new String*/
-  variable15 = variable14;
-  ((string___String___append_t)CALL(variable5,COLOR_abstract_collection___IndexedCollection___append))(variable5, variable15) /*String::append*/;
   ((file___OFStream___write_t)CALL( variable4 /*f*/,COLOR_stream___OStream___write))( variable4 /*f*/, variable5) /*OFStream::write*/;
   variable5 = NEW_string___String___init(); /*new String*/
   variable6 = NEW_string___String___with_native(BOX_NativeString("#define "), TAG_Int(8)); /*new String*/
@@ -523,15 +476,9 @@ void compiling___MMSrcModule___compile_separate_module(val_t  self, val_t  param
   variable9 = variable8;
   variable9 = ((string___String___to_s_t)CALL(variable9,COLOR_string___Object___to_s))(variable9) /*String::to_s*/;
   ((string___String___append_t)CALL(variable5,COLOR_abstract_collection___IndexedCollection___append))(variable5, variable9) /*String::append*/;
-  variable10 = NEW_string___String___with_native(BOX_NativeString("_"), TAG_Int(1)); /*new String*/
+  variable10 = NEW_string___String___with_native(BOX_NativeString("_sep\n"), TAG_Int(5)); /*new String*/
   variable11 = variable10;
   ((string___String___append_t)CALL(variable5,COLOR_abstract_collection___IndexedCollection___append))(variable5, variable11) /*String::append*/;
-  variable12 = ((compiling_base___ToolContext___ext_prefix_t)CALL( variable0 /*tc*/,COLOR_compiling_base___ToolContext___ext_prefix))( variable0 /*tc*/) /*ToolContext::ext_prefix*/;
-  variable13 = variable12;
-  ((string___String___append_t)CALL(variable5,COLOR_abstract_collection___IndexedCollection___append))(variable5, variable13) /*String::append*/;
-  variable14 = NEW_string___String___with_native(BOX_NativeString("_sep\n"), TAG_Int(5)); /*new String*/
-  variable15 = variable14;
-  ((string___String___append_t)CALL(variable5,COLOR_abstract_collection___IndexedCollection___append))(variable5, variable15) /*String::append*/;
   ((file___OFStream___write_t)CALL( variable4 /*f*/,COLOR_stream___OStream___write))( variable4 /*f*/, variable5) /*OFStream::write*/;
   variable5 = ((abstractmetamodel___MMModule___mhe_t)CALL( self,COLOR_abstractmetamodel___MMModule___mhe))( self) /*MMModule::mhe*/;
   variable5 = ((partial_order___PartialOrderElement___direct_greaters_t)CALL(variable5,COLOR_partial_order___PartialOrderElement___direct_greaters))(variable5) /*PartialOrderElement::direct_greaters*/;
@@ -548,15 +495,9 @@ void compiling___MMSrcModule___compile_separate_module(val_t  self, val_t  param
     variable11 = variable10;
     variable11 = ((string___String___to_s_t)CALL(variable11,COLOR_string___Object___to_s))(variable11) /*String::to_s*/;
     ((string___String___append_t)CALL(variable7,COLOR_abstract_collection___IndexedCollection___append))(variable7, variable11) /*String::append*/;
-    variable12 = NEW_string___String___with_native(BOX_NativeString("."), TAG_Int(1)); /*new String*/
+    variable12 = NEW_string___String___with_native(BOX_NativeString("._sep.h\"\n"), TAG_Int(9)); /*new String*/
     variable13 = variable12;
     ((string___String___append_t)CALL(variable7,COLOR_abstract_collection___IndexedCollection___append))(variable7, variable13) /*String::append*/;
-    variable14 = ((compiling_base___ToolContext___ext_prefix_t)CALL( variable0 /*tc*/,COLOR_compiling_base___ToolContext___ext_prefix))( variable0 /*tc*/) /*ToolContext::ext_prefix*/;
-    variable15 = variable14;
-    ((string___String___append_t)CALL(variable7,COLOR_abstract_collection___IndexedCollection___append))(variable7, variable15) /*String::append*/;
-    variable16 = NEW_string___String___with_native(BOX_NativeString("_sep.h\"\n"), TAG_Int(8)); /*new String*/
-    variable17 = variable16;
-    ((string___String___append_t)CALL(variable7,COLOR_abstract_collection___IndexedCollection___append))(variable7, variable17) /*String::append*/;
     ((file___OFStream___write_t)CALL( variable4 /*f*/,COLOR_stream___OStream___write))( variable4 /*f*/, variable7) /*OFStream::write*/;
     continue_6: while(0);
     ((array___ArrayIterator___next_t)CALL(variable5,COLOR_abstract_collection___Iterator___next))(variable5) /*ArrayIterator::next*/;
@@ -574,7 +515,7 @@ void compiling___MMSrcModule___compile_separate_module(val_t  self, val_t  param
   variable7 = NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
   variable8 = variable7;
   ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable8) /*String::append*/;
-  variable9 = ((compiling_base___ToolContext___base_dir_t)CALL( variable0 /*tc*/,COLOR_compiling_base___ToolContext___base_dir))( variable0 /*tc*/) /*ToolContext::base_dir*/;
+  variable9 = ((compiling_base___ToolContext___compdir_t)CALL( variable0 /*tc*/,COLOR_compiling_base___ToolContext___compdir))( variable0 /*tc*/) /*ToolContext::compdir*/;
   variable10 = variable9;
   ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable10) /*String::append*/;
   variable11 = NEW_string___String___with_native(BOX_NativeString("/"), TAG_Int(1)); /*new String*/
@@ -584,15 +525,9 @@ void compiling___MMSrcModule___compile_separate_module(val_t  self, val_t  param
   variable14 = variable13;
   variable14 = ((string___String___to_s_t)CALL(variable14,COLOR_string___Object___to_s))(variable14) /*String::to_s*/;
   ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable14) /*String::append*/;
-  variable15 = NEW_string___String___with_native(BOX_NativeString("."), TAG_Int(1)); /*new String*/
+  variable15 = NEW_string___String___with_native(BOX_NativeString("._sep.c"), TAG_Int(7)); /*new String*/
   variable16 = variable15;
   ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable16) /*String::append*/;
-  variable17 = ((compiling_base___ToolContext___ext_prefix_t)CALL( variable0 /*tc*/,COLOR_compiling_base___ToolContext___ext_prefix))( variable0 /*tc*/) /*ToolContext::ext_prefix*/;
-  variable18 = variable17;
-  ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable18) /*String::append*/;
-  variable19 = NEW_string___String___with_native(BOX_NativeString("_sep.c"), TAG_Int(6)); /*new String*/
-  variable20 = variable19;
-  ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable20) /*String::append*/;
   variable7 = NEW_file___OFStream___open(variable6); /*new OFStream*/
   variable6 = variable7;
   variable5 = variable6;
@@ -616,15 +551,9 @@ void compiling___MMSrcModule___compile_separate_module(val_t  self, val_t  param
   variable10 = variable9;
   variable10 = ((string___String___to_s_t)CALL(variable10,COLOR_string___Object___to_s))(variable10) /*String::to_s*/;
   ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable10) /*String::append*/;
-  variable11 = NEW_string___String___with_native(BOX_NativeString("."), TAG_Int(1)); /*new String*/
+  variable11 = NEW_string___String___with_native(BOX_NativeString("._sep.h\"\n"), TAG_Int(9)); /*new String*/
   variable12 = variable11;
   ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable12) /*String::append*/;
-  variable13 = ((compiling_base___ToolContext___ext_prefix_t)CALL( variable0 /*tc*/,COLOR_compiling_base___ToolContext___ext_prefix))( variable0 /*tc*/) /*ToolContext::ext_prefix*/;
-  variable14 = variable13;
-  ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable14) /*String::append*/;
-  variable15 = NEW_string___String___with_native(BOX_NativeString("_sep.h\"\n"), TAG_Int(8)); /*new String*/
-  variable16 = variable15;
-  ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable16) /*String::append*/;
   ((file___OFStream___write_t)CALL( variable5 /*f*/,COLOR_stream___OStream___write))( variable5 /*f*/, variable6) /*OFStream::write*/;
   variable6 = ((compiling_base___CompilerVisitor___ctx_t)CALL( variable2 /*v*/,COLOR_compiling_base___CompilerVisitor___ctx))( variable2 /*v*/) /*CompilerVisitor::ctx*/;
   variable6 = ((compiling_base___CContext___instrs_t)CALL(variable6,COLOR_compiling_base___CContext___instrs))(variable6) /*CContext::instrs*/;
index a63681b..ede792e 100644 (file)
@@ -1,9 +1,9 @@
 /* This C header file is generated by NIT to compile modules and programs that requires compiling. */
-#ifndef compiling_2_sep
-#define compiling_2_sep
+#ifndef compiling_sep
+#define compiling_sep
 #include "compiling_global._sep.h"
 #include <nit_common.h>
-#define LOCATE_compiling "./compiling//compiling.nit"
+extern const char *LOCATE_compiling;
 extern const int SFT_compiling[];
 #define COLOR_compiling___MMSrcModule___compile_prog_to_c SFT_compiling[0]
 #define COLOR_compiling___MMSrcModule___compile_main SFT_compiling[1]
index e50ea8e..9ad4c75 100644 (file)
 /* This C file is generated by NIT to compile module compiling_base. */
 #include "compiling_base._sep.h"
 val_t compiling_base___ToolContext___global(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_compiling_base, 24, LOCATE_compiling_base___ToolContext___global};
+  struct trace_t trace = {NULL, NULL, 24, LOCATE_compiling_base___ToolContext___global};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_base;
   tracehead = trace.prev;
   return ATTR_compiling_base___ToolContext____global( self) /*ToolContext::_global*/;
 }
 void compiling_base___ToolContext___global__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_compiling_base, 24, LOCATE_compiling_base___ToolContext___global__eq};
+  struct trace_t trace = {NULL, NULL, 24, LOCATE_compiling_base___ToolContext___global__eq};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_base;
   ATTR_compiling_base___ToolContext____global( self) /*ToolContext::_global*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t compiling_base___ToolContext___attr_sim(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_compiling_base, 25, LOCATE_compiling_base___ToolContext___attr_sim};
+  struct trace_t trace = {NULL, NULL, 25, LOCATE_compiling_base___ToolContext___attr_sim};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_base;
   tracehead = trace.prev;
   return ATTR_compiling_base___ToolContext____attr_sim( self) /*ToolContext::_attr_sim*/;
 }
 void compiling_base___ToolContext___attr_sim__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_compiling_base, 25, LOCATE_compiling_base___ToolContext___attr_sim__eq};
+  struct trace_t trace = {NULL, NULL, 25, LOCATE_compiling_base___ToolContext___attr_sim__eq};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_base;
   ATTR_compiling_base___ToolContext____attr_sim( self) /*ToolContext::_attr_sim*/ =  param0;
   tracehead = trace.prev;
   return;
 }
-val_t compiling_base___ToolContext___base_dir(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_compiling_base, 26, LOCATE_compiling_base___ToolContext___base_dir};
+val_t compiling_base___ToolContext___compdir(val_t  self) {
+  struct trace_t trace = {NULL, NULL, 26, LOCATE_compiling_base___ToolContext___compdir};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_base;
   tracehead = trace.prev;
-  return ATTR_compiling_base___ToolContext____base_dir( self) /*ToolContext::_base_dir*/;
+  return ATTR_compiling_base___ToolContext____compdir( self) /*ToolContext::_compdir*/;
 }
-void compiling_base___ToolContext___base_dir__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_compiling_base, 26, LOCATE_compiling_base___ToolContext___base_dir__eq};
+void compiling_base___ToolContext___compdir__eq(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, NULL, 26, LOCATE_compiling_base___ToolContext___compdir__eq};
   trace.prev = tracehead; tracehead = &trace;
-  ATTR_compiling_base___ToolContext____base_dir( self) /*ToolContext::_base_dir*/ =  param0;
+  trace.file = LOCATE_compiling_base;
+  ATTR_compiling_base___ToolContext____compdir( self) /*ToolContext::_compdir*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t compiling_base___ToolContext___clibdir(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_compiling_base, 27, LOCATE_compiling_base___ToolContext___clibdir};
+  struct trace_t trace = {NULL, NULL, 27, LOCATE_compiling_base___ToolContext___clibdir};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_base;
   tracehead = trace.prev;
   return ATTR_compiling_base___ToolContext____clibdir( self) /*ToolContext::_clibdir*/;
 }
 void compiling_base___ToolContext___clibdir__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_compiling_base, 27, LOCATE_compiling_base___ToolContext___clibdir__eq};
+  struct trace_t trace = {NULL, NULL, 27, LOCATE_compiling_base___ToolContext___clibdir__eq};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_base;
   ATTR_compiling_base___ToolContext____clibdir( self) /*ToolContext::_clibdir*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t compiling_base___ToolContext___bindir(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_compiling_base, 28, LOCATE_compiling_base___ToolContext___bindir};
+  struct trace_t trace = {NULL, NULL, 28, LOCATE_compiling_base___ToolContext___bindir};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_base;
   tracehead = trace.prev;
   return ATTR_compiling_base___ToolContext____bindir( self) /*ToolContext::_bindir*/;
 }
 void compiling_base___ToolContext___bindir__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_compiling_base, 28, LOCATE_compiling_base___ToolContext___bindir__eq};
+  struct trace_t trace = {NULL, NULL, 28, LOCATE_compiling_base___ToolContext___bindir__eq};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_base;
   ATTR_compiling_base___ToolContext____bindir( self) /*ToolContext::_bindir*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t compiling_base___ToolContext___output_file(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_compiling_base, 29, LOCATE_compiling_base___ToolContext___output_file};
+  struct trace_t trace = {NULL, NULL, 29, LOCATE_compiling_base___ToolContext___output_file};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_base;
   tracehead = trace.prev;
   return ATTR_compiling_base___ToolContext____output_file( self) /*ToolContext::_output_file*/;
 }
 void compiling_base___ToolContext___output_file__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_compiling_base, 29, LOCATE_compiling_base___ToolContext___output_file__eq};
+  struct trace_t trace = {NULL, NULL, 29, LOCATE_compiling_base___ToolContext___output_file__eq};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_base;
   ATTR_compiling_base___ToolContext____output_file( self) /*ToolContext::_output_file*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t compiling_base___ToolContext___boost(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_compiling_base, 30, LOCATE_compiling_base___ToolContext___boost};
+  struct trace_t trace = {NULL, NULL, 30, LOCATE_compiling_base___ToolContext___boost};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_base;
   tracehead = trace.prev;
   return ATTR_compiling_base___ToolContext____boost( self) /*ToolContext::_boost*/;
 }
 void compiling_base___ToolContext___boost__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_compiling_base, 30, LOCATE_compiling_base___ToolContext___boost__eq};
+  struct trace_t trace = {NULL, NULL, 30, LOCATE_compiling_base___ToolContext___boost__eq};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_base;
   ATTR_compiling_base___ToolContext____boost( self) /*ToolContext::_boost*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t compiling_base___ToolContext___no_cc(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_compiling_base, 31, LOCATE_compiling_base___ToolContext___no_cc};
+  struct trace_t trace = {NULL, NULL, 31, LOCATE_compiling_base___ToolContext___no_cc};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_base;
   tracehead = trace.prev;
   return ATTR_compiling_base___ToolContext____no_cc( self) /*ToolContext::_no_cc*/;
 }
 void compiling_base___ToolContext___no_cc__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_compiling_base, 31, LOCATE_compiling_base___ToolContext___no_cc__eq};
+  struct trace_t trace = {NULL, NULL, 31, LOCATE_compiling_base___ToolContext___no_cc__eq};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_base;
   ATTR_compiling_base___ToolContext____no_cc( self) /*ToolContext::_no_cc*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t compiling_base___ToolContext___ext_prefix(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_compiling_base, 32, LOCATE_compiling_base___ToolContext___ext_prefix};
+  struct trace_t trace = {NULL, NULL, 32, LOCATE_compiling_base___ToolContext___ext_prefix};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_base;
   tracehead = trace.prev;
   return ATTR_compiling_base___ToolContext____ext_prefix( self) /*ToolContext::_ext_prefix*/;
 }
 void compiling_base___ToolContext___ext_prefix__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_compiling_base, 32, LOCATE_compiling_base___ToolContext___ext_prefix__eq};
+  struct trace_t trace = {NULL, NULL, 32, LOCATE_compiling_base___ToolContext___ext_prefix__eq};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_base;
   ATTR_compiling_base___ToolContext____ext_prefix( self) /*ToolContext::_ext_prefix*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 void compiling_base___CompilerVisitor___add_decl(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_compiling_base, 39, LOCATE_compiling_base___CompilerVisitor___add_decl};
+  struct trace_t trace = {NULL, NULL, 39, LOCATE_compiling_base___CompilerVisitor___add_decl};
   val_t variable0;
   val_t variable1;
     val_t variable2;
     val_t variable3;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_base;
   variable0 =  param0;
   variable1 = ATTR_compiling_base___CompilerVisitor____indent_level( self) /*CompilerVisitor::_indent_level*/;
   variable1 = TAG_Bool(UNTAG_Int(variable1)>=UNTAG_Int( TAG_Int(8)));
@@ -146,12 +165,13 @@ void compiling_base___CompilerVisitor___add_decl(val_t  self, val_t  param0) {
   return;
 }
 void compiling_base___CompilerVisitor___add_instr(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_compiling_base, 49, LOCATE_compiling_base___CompilerVisitor___add_instr};
+  struct trace_t trace = {NULL, NULL, 49, LOCATE_compiling_base___CompilerVisitor___add_instr};
   val_t variable0;
   val_t variable1;
     val_t variable2;
     val_t variable3;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_base;
   variable0 =  param0;
   variable1 = ATTR_compiling_base___CompilerVisitor____indent_level( self) /*CompilerVisitor::_indent_level*/;
   variable1 = TAG_Bool(UNTAG_Int(variable1)>=UNTAG_Int( TAG_Int(8)));
@@ -174,10 +194,11 @@ void compiling_base___CompilerVisitor___add_instr(val_t  self, val_t  param0) {
   return;
 }
 val_t compiling_base___CompilerVisitor___new_number(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_compiling_base, 59, LOCATE_compiling_base___CompilerVisitor___new_number};
+  struct trace_t trace = {NULL, NULL, 59, LOCATE_compiling_base___CompilerVisitor___new_number};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_base;
   variable1 = ATTR_compiling_base___CompilerVisitor____number_cpt( self) /*CompilerVisitor::_number_cpt*/;
   variable0 = variable1;
   variable1 = TAG_Int(UNTAG_Int( variable0 /*res*/)+UNTAG_Int( TAG_Int(1)));
@@ -189,16 +210,18 @@ val_t compiling_base___CompilerVisitor___new_number(val_t  self) {
   return variable0;
 }
 void compiling_base___CompilerVisitor___indent(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_compiling_base, 69, LOCATE_compiling_base___CompilerVisitor___indent};
+  struct trace_t trace = {NULL, NULL, 69, LOCATE_compiling_base___CompilerVisitor___indent};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_base;
   ATTR_compiling_base___CompilerVisitor____indent_level( self) /*CompilerVisitor::_indent_level*/ = TAG_Int(UNTAG_Int(ATTR_compiling_base___CompilerVisitor____indent_level( self) /*CompilerVisitor::_indent_level*/)+UNTAG_Int( TAG_Int(1)));
   tracehead = trace.prev;
   return;
 }
 void compiling_base___CompilerVisitor___unindent(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_compiling_base, 73, LOCATE_compiling_base___CompilerVisitor___unindent};
+  struct trace_t trace = {NULL, NULL, 73, LOCATE_compiling_base___CompilerVisitor___unindent};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_base;
   ATTR_compiling_base___CompilerVisitor____indent_level( self) /*CompilerVisitor::_indent_level*/ = TAG_Int(UNTAG_Int(ATTR_compiling_base___CompilerVisitor____indent_level( self) /*CompilerVisitor::_indent_level*/)-UNTAG_Int( TAG_Int(1)));
   variable0 = ATTR_compiling_base___CompilerVisitor____indent_level( self) /*CompilerVisitor::_indent_level*/;
   variable0 = TAG_Bool(UNTAG_Int(variable0)<UNTAG_Int( TAG_Int(0)));
@@ -209,10 +232,11 @@ void compiling_base___CompilerVisitor___unindent(val_t  self) {
   return;
 }
 val_t compiling_base___CompilerVisitor___to_s(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_compiling_base, 80, LOCATE_compiling_base___CompilerVisitor___to_s};
+  struct trace_t trace = {NULL, NULL, 80, LOCATE_compiling_base___CompilerVisitor___to_s};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_base;
   variable1 = NEW_array___Array___init(); /*new Array[E]*/
   variable0 = variable1;
   variable1 = ATTR_compiling_base___CompilerVisitor____ctx( self) /*CompilerVisitor::_ctx*/;
@@ -232,61 +256,70 @@ val_t compiling_base___CompilerVisitor___to_s(val_t  self) {
   return variable0;
 }
 val_t compiling_base___CompilerVisitor___module(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_compiling_base, 90, LOCATE_compiling_base___CompilerVisitor___module};
+  struct trace_t trace = {NULL, NULL, 90, LOCATE_compiling_base___CompilerVisitor___module};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_base;
   tracehead = trace.prev;
   return ATTR_compiling_base___CompilerVisitor____module( self) /*CompilerVisitor::_module*/;
 }
 void compiling_base___CompilerVisitor___module__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_compiling_base, 90, LOCATE_compiling_base___CompilerVisitor___module__eq};
+  struct trace_t trace = {NULL, NULL, 90, LOCATE_compiling_base___CompilerVisitor___module__eq};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_base;
   ATTR_compiling_base___CompilerVisitor____module( self) /*CompilerVisitor::_module*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t compiling_base___CompilerVisitor___ctx(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_compiling_base, 93, LOCATE_compiling_base___CompilerVisitor___ctx};
+  struct trace_t trace = {NULL, NULL, 93, LOCATE_compiling_base___CompilerVisitor___ctx};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_base;
   tracehead = trace.prev;
   return ATTR_compiling_base___CompilerVisitor____ctx( self) /*CompilerVisitor::_ctx*/;
 }
 void compiling_base___CompilerVisitor___ctx__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_compiling_base, 93, LOCATE_compiling_base___CompilerVisitor___ctx__eq};
+  struct trace_t trace = {NULL, NULL, 93, LOCATE_compiling_base___CompilerVisitor___ctx__eq};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_base;
   ATTR_compiling_base___CompilerVisitor____ctx( self) /*CompilerVisitor::_ctx*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t compiling_base___CompilerVisitor___indent_level(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_compiling_base, 96, LOCATE_compiling_base___CompilerVisitor___indent_level};
+  struct trace_t trace = {NULL, NULL, 96, LOCATE_compiling_base___CompilerVisitor___indent_level};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_base;
   tracehead = trace.prev;
   return ATTR_compiling_base___CompilerVisitor____indent_level( self) /*CompilerVisitor::_indent_level*/;
 }
 void compiling_base___CompilerVisitor___indent_level__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_compiling_base, 96, LOCATE_compiling_base___CompilerVisitor___indent_level__eq};
+  struct trace_t trace = {NULL, NULL, 96, LOCATE_compiling_base___CompilerVisitor___indent_level__eq};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_base;
   ATTR_compiling_base___CompilerVisitor____indent_level( self) /*CompilerVisitor::_indent_level*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t compiling_base___CompilerVisitor___tc(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_compiling_base, 99, LOCATE_compiling_base___CompilerVisitor___tc};
+  struct trace_t trace = {NULL, NULL, 99, LOCATE_compiling_base___CompilerVisitor___tc};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_base;
   tracehead = trace.prev;
   return ATTR_compiling_base___CompilerVisitor____tc( self) /*CompilerVisitor::_tc*/;
 }
 void compiling_base___CompilerVisitor___tc__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_compiling_base, 99, LOCATE_compiling_base___CompilerVisitor___tc__eq};
+  struct trace_t trace = {NULL, NULL, 99, LOCATE_compiling_base___CompilerVisitor___tc__eq};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_base;
   ATTR_compiling_base___CompilerVisitor____tc( self) /*CompilerVisitor::_tc*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 void compiling_base___CompilerVisitor___init(val_t  self, val_t  param0, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_compiling_base, 102, LOCATE_compiling_base___CompilerVisitor___init};
+  struct trace_t trace = {NULL, NULL, 102, LOCATE_compiling_base___CompilerVisitor___init};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_base;
   variable0 =  param0;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_CompilerVisitor].i]) return;
   ATTR_compiling_base___CompilerVisitor____module( self) /*CompilerVisitor::_module*/ =  variable0 /*module*/;
@@ -295,23 +328,26 @@ void compiling_base___CompilerVisitor___init(val_t  self, val_t  param0, int* in
   return;
 }
 val_t compiling_base___CContext___decls(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_compiling_base, 109, LOCATE_compiling_base___CContext___decls};
+  struct trace_t trace = {NULL, NULL, 109, LOCATE_compiling_base___CContext___decls};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_base;
   tracehead = trace.prev;
   return ATTR_compiling_base___CContext____decls( self) /*CContext::_decls*/;
 }
 val_t compiling_base___CContext___instrs(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_compiling_base, 110, LOCATE_compiling_base___CContext___instrs};
+  struct trace_t trace = {NULL, NULL, 110, LOCATE_compiling_base___CContext___instrs};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_base;
   tracehead = trace.prev;
   return ATTR_compiling_base___CContext____instrs( self) /*CContext::_instrs*/;
 }
 void compiling_base___CContext___append(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_compiling_base, 112, LOCATE_compiling_base___CContext___append};
+  struct trace_t trace = {NULL, NULL, 112, LOCATE_compiling_base___CContext___append};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_base;
   variable0 =  param0;
   variable1 = ATTR_compiling_base___CContext____instrs( self) /*CContext::_instrs*/;
   variable2 = ((compiling_base___CContext___decls_t)CALL( variable0 /*c*/,COLOR_compiling_base___CContext___decls))( variable0 /*c*/) /*CContext::decls*/;
@@ -323,15 +359,16 @@ void compiling_base___CContext___append(val_t  self, val_t  param0) {
   return;
 }
 void compiling_base___CContext___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_compiling_base, 118, LOCATE_compiling_base___CContext___init};
+  struct trace_t trace = {NULL, NULL, 118, LOCATE_compiling_base___CContext___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_base;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_CContext].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_CContext].i] = 1;
   tracehead = trace.prev;
   return;
 }
 val_t compiling_base___MMGlobalProperty___meth_call(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_compiling_base, 122, LOCATE_compiling_base___MMGlobalProperty___meth_call};
+  struct trace_t trace = {NULL, NULL, 122, LOCATE_compiling_base___MMGlobalProperty___meth_call};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -340,6 +377,7 @@ val_t compiling_base___MMGlobalProperty___meth_call(val_t  self) {
   val_t variable5;
   val_t variable6;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_base;
   variable0 = NEW_string___String___init(); /*new String*/
   variable1 = NEW_string___String___with_native(BOX_NativeString("CALL_"), TAG_Int(5)); /*new String*/
   variable2 = variable1;
@@ -357,7 +395,7 @@ val_t compiling_base___MMGlobalProperty___meth_call(val_t  self) {
   return variable0;
 }
 val_t compiling_base___MMGlobalProperty___attr_access(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_compiling_base, 128, LOCATE_compiling_base___MMGlobalProperty___attr_access};
+  struct trace_t trace = {NULL, NULL, 128, LOCATE_compiling_base___MMGlobalProperty___attr_access};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -366,6 +404,7 @@ val_t compiling_base___MMGlobalProperty___attr_access(val_t  self) {
   val_t variable5;
   val_t variable6;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_base;
   variable0 = NEW_string___String___init(); /*new String*/
   variable1 = NEW_string___String___with_native(BOX_NativeString("ATTR_"), TAG_Int(5)); /*new String*/
   variable2 = variable1;
@@ -383,7 +422,7 @@ val_t compiling_base___MMGlobalProperty___attr_access(val_t  self) {
   return variable0;
 }
 val_t compiling_base___MMGlobalProperty___color_id(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_compiling_base, 134, LOCATE_compiling_base___MMGlobalProperty___color_id};
+  struct trace_t trace = {NULL, NULL, 134, LOCATE_compiling_base___MMGlobalProperty___color_id};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -392,6 +431,7 @@ val_t compiling_base___MMGlobalProperty___color_id(val_t  self) {
   val_t variable5;
   val_t variable6;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_base;
   variable0 = NEW_string___String___init(); /*new String*/
   variable1 = NEW_string___String___with_native(BOX_NativeString("COLOR_"), TAG_Int(6)); /*new String*/
   variable2 = variable1;
@@ -409,7 +449,7 @@ val_t compiling_base___MMGlobalProperty___color_id(val_t  self) {
   return variable0;
 }
 val_t compiling_base___MMGlobalClass___id_id(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_compiling_base, 143, LOCATE_compiling_base___MMGlobalClass___id_id};
+  struct trace_t trace = {NULL, NULL, 143, LOCATE_compiling_base___MMGlobalClass___id_id};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -418,6 +458,7 @@ val_t compiling_base___MMGlobalClass___id_id(val_t  self) {
   val_t variable5;
   val_t variable6;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_base;
   variable0 = NEW_string___String___init(); /*new String*/
   variable1 = NEW_string___String___with_native(BOX_NativeString("ID_"), TAG_Int(3)); /*new String*/
   variable2 = variable1;
@@ -436,7 +477,7 @@ val_t compiling_base___MMGlobalClass___id_id(val_t  self) {
   return variable0;
 }
 val_t compiling_base___MMGlobalClass___color_id(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_compiling_base, 149, LOCATE_compiling_base___MMGlobalClass___color_id};
+  struct trace_t trace = {NULL, NULL, 149, LOCATE_compiling_base___MMGlobalClass___color_id};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -445,6 +486,7 @@ val_t compiling_base___MMGlobalClass___color_id(val_t  self) {
   val_t variable5;
   val_t variable6;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_base;
   variable0 = NEW_string___String___init(); /*new String*/
   variable1 = NEW_string___String___with_native(BOX_NativeString("COLOR_"), TAG_Int(6)); /*new String*/
   variable2 = variable1;
@@ -463,7 +505,7 @@ val_t compiling_base___MMGlobalClass___color_id(val_t  self) {
   return variable0;
 }
 val_t compiling_base___MMGlobalClass___init_table_pos_id(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_compiling_base, 155, LOCATE_compiling_base___MMGlobalClass___init_table_pos_id};
+  struct trace_t trace = {NULL, NULL, 155, LOCATE_compiling_base___MMGlobalClass___init_table_pos_id};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -472,6 +514,7 @@ val_t compiling_base___MMGlobalClass___init_table_pos_id(val_t  self) {
   val_t variable5;
   val_t variable6;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_base;
   variable0 = NEW_string___String___init(); /*new String*/
   variable1 = NEW_string___String___with_native(BOX_NativeString("INIT_TABLE_POS_"), TAG_Int(15)); /*new String*/
   variable2 = variable1;
@@ -490,7 +533,7 @@ val_t compiling_base___MMGlobalClass___init_table_pos_id(val_t  self) {
   return variable0;
 }
 val_t compiling_base___MMLocalClass___primitive_info(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_compiling_base, 169, LOCATE_compiling_base___MMLocalClass___primitive_info};
+  struct trace_t trace = {NULL, NULL, 169, LOCATE_compiling_base___MMLocalClass___primitive_info};
   val_t variable0;
   val_t variable1;
   static val_t once_value_variable1_16; static int once_bool_variable1_16;
@@ -498,6 +541,7 @@ val_t compiling_base___MMLocalClass___primitive_info(val_t  self) {
     val_t variable3;
       val_t variable4;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_base;
   variable0 = ATTR_compiling_base___MMLocalClass____primitive_info_b( self) /*MMLocalClass::_primitive_info_b*/;
   variable0 = TAG_Bool((variable0)==( TAG_Bool(true)));
   if (UNTAG_Bool(variable0)) { /*if*/
@@ -558,7 +602,7 @@ val_t compiling_base___MMLocalClass___primitive_info(val_t  self) {
   return variable0;
 }
 val_t compiling_base___MMLocalClass___primitive_ctypes(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_compiling_base, 199, LOCATE_compiling_base___MMLocalClass___primitive_ctypes};
+  struct trace_t trace = {NULL, NULL, 199, LOCATE_compiling_base___MMLocalClass___primitive_ctypes};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -572,6 +616,7 @@ val_t compiling_base___MMLocalClass___primitive_ctypes(val_t  self) {
   val_t variable10;
   val_t variable11;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_base;
   variable1 = NEW_hash___HashMap___init(); /*new HashMap[K, V]*/
   variable0 = variable1;
   variable2 = NEW_array___Array___with_capacity(TAG_Int(7)); /*new Array[E]*/
@@ -684,57 +729,65 @@ val_t compiling_base___MMLocalClass___primitive_ctypes(val_t  self) {
   return variable0;
 }
 val_t compiling_base___PrimitiveInfo___name(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_compiling_base, 220, LOCATE_compiling_base___PrimitiveInfo___name};
+  struct trace_t trace = {NULL, NULL, 220, LOCATE_compiling_base___PrimitiveInfo___name};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_base;
   tracehead = trace.prev;
   return ATTR_compiling_base___PrimitiveInfo____name( self) /*PrimitiveInfo::_name*/;
 }
 void compiling_base___PrimitiveInfo___name__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_compiling_base, 220, LOCATE_compiling_base___PrimitiveInfo___name__eq};
+  struct trace_t trace = {NULL, NULL, 220, LOCATE_compiling_base___PrimitiveInfo___name__eq};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_base;
   ATTR_compiling_base___PrimitiveInfo____name( self) /*PrimitiveInfo::_name*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t compiling_base___PrimitiveInfo___tagged(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_compiling_base, 223, LOCATE_compiling_base___PrimitiveInfo___tagged};
+  struct trace_t trace = {NULL, NULL, 223, LOCATE_compiling_base___PrimitiveInfo___tagged};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_base;
   tracehead = trace.prev;
   return ATTR_compiling_base___PrimitiveInfo____tagged( self) /*PrimitiveInfo::_tagged*/;
 }
 void compiling_base___PrimitiveInfo___tagged__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_compiling_base, 223, LOCATE_compiling_base___PrimitiveInfo___tagged__eq};
+  struct trace_t trace = {NULL, NULL, 223, LOCATE_compiling_base___PrimitiveInfo___tagged__eq};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_base;
   ATTR_compiling_base___PrimitiveInfo____tagged( self) /*PrimitiveInfo::_tagged*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t compiling_base___PrimitiveInfo___cname(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_compiling_base, 226, LOCATE_compiling_base___PrimitiveInfo___cname};
+  struct trace_t trace = {NULL, NULL, 226, LOCATE_compiling_base___PrimitiveInfo___cname};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_base;
   tracehead = trace.prev;
   return ATTR_compiling_base___PrimitiveInfo____cname( self) /*PrimitiveInfo::_cname*/;
 }
 void compiling_base___PrimitiveInfo___cname__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_compiling_base, 226, LOCATE_compiling_base___PrimitiveInfo___cname__eq};
+  struct trace_t trace = {NULL, NULL, 226, LOCATE_compiling_base___PrimitiveInfo___cname__eq};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_base;
   ATTR_compiling_base___PrimitiveInfo____cname( self) /*PrimitiveInfo::_cname*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 void compiling_base___PrimitiveInfo___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_compiling_base, 229, LOCATE_compiling_base___PrimitiveInfo___init};
+  struct trace_t trace = {NULL, NULL, 229, LOCATE_compiling_base___PrimitiveInfo___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_base;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_PrimitiveInfo].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_PrimitiveInfo].i] = 1;
   tracehead = trace.prev;
   return;
 }
 val_t compiling_base___MMType___cname(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_compiling_base, 233, LOCATE_compiling_base___MMType___cname};
+  struct trace_t trace = {NULL, NULL, 233, LOCATE_compiling_base___MMType___cname};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_base;
   variable1 = ((static_type___MMType___local_class_t)CALL( self,COLOR_static_type___MMType___local_class))( self) /*MMType::local_class*/;
   variable1 = ((compiling_base___MMLocalClass___primitive_info_t)CALL(variable1,COLOR_compiling_base___MMLocalClass___primitive_info))(variable1) /*MMLocalClass::primitive_info*/;
   variable0 = variable1;
@@ -753,7 +806,7 @@ val_t compiling_base___MMType___cname(val_t  self) {
   return variable0;
 }
 val_t compiling_base___MMType___default_cvalue(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_compiling_base, 244, LOCATE_compiling_base___MMType___default_cvalue};
+  struct trace_t trace = {NULL, NULL, 244, LOCATE_compiling_base___MMType___default_cvalue};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -767,6 +820,7 @@ val_t compiling_base___MMType___default_cvalue(val_t  self) {
     val_t variable10;
     val_t variable11;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_base;
   variable1 = ((static_type___MMType___local_class_t)CALL( self,COLOR_static_type___MMType___local_class))( self) /*MMType::local_class*/;
   variable1 = ((compiling_base___MMLocalClass___primitive_info_t)CALL(variable1,COLOR_compiling_base___MMLocalClass___primitive_info))(variable1) /*MMLocalClass::primitive_info*/;
   variable0 = variable1;
@@ -807,7 +861,7 @@ val_t compiling_base___MMType___default_cvalue(val_t  self) {
   return variable0;
 }
 val_t compiling_base___MMType___boxtype(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_compiling_base, 256, LOCATE_compiling_base___MMType___boxtype};
+  struct trace_t trace = {NULL, NULL, 256, LOCATE_compiling_base___MMType___boxtype};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -821,6 +875,7 @@ val_t compiling_base___MMType___boxtype(val_t  self, val_t  param0) {
       val_t variable10;
       val_t variable11;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_base;
   variable0 =  param0;
   variable2 = ((static_type___MMType___local_class_t)CALL( self,COLOR_static_type___MMType___local_class))( self) /*MMType::local_class*/;
   variable2 = ((compiling_base___MMLocalClass___primitive_info_t)CALL(variable2,COLOR_compiling_base___MMLocalClass___primitive_info))(variable2) /*MMLocalClass::primitive_info*/;
@@ -878,7 +933,7 @@ val_t compiling_base___MMType___boxtype(val_t  self, val_t  param0) {
   return variable1;
 }
 val_t compiling_base___MMType___unboxtype(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_compiling_base, 270, LOCATE_compiling_base___MMType___unboxtype};
+  struct trace_t trace = {NULL, NULL, 270, LOCATE_compiling_base___MMType___unboxtype};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -892,6 +947,7 @@ val_t compiling_base___MMType___unboxtype(val_t  self, val_t  param0) {
       val_t variable10;
       val_t variable11;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_base;
   variable0 =  param0;
   variable2 = ((static_type___MMType___local_class_t)CALL( self,COLOR_static_type___MMType___local_class))( self) /*MMType::local_class*/;
   variable2 = ((compiling_base___MMLocalClass___primitive_info_t)CALL(variable2,COLOR_compiling_base___MMLocalClass___primitive_info))(variable2) /*MMLocalClass::primitive_info*/;
@@ -949,12 +1005,13 @@ val_t compiling_base___MMType___unboxtype(val_t  self, val_t  param0) {
   return variable1;
 }
 val_t compiling_base___MMLocalProperty___cname(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_compiling_base, 289, LOCATE_compiling_base___MMLocalProperty___cname};
+  struct trace_t trace = {NULL, NULL, 289, LOCATE_compiling_base___MMLocalProperty___cname};
   val_t variable0;
     val_t variable1;
     val_t variable2;
     val_t variable3;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_base;
   variable0 = ATTR_compiling_base___MMLocalProperty____cname_cache( self) /*MMLocalProperty::_cname_cache*/;
   variable0 = TAG_Bool((variable0 ==  NIT_NULL /*null*/) || ((variable0 != NIT_NULL) && UNTAG_Bool(((string___String_____eqeq_t)CALL(variable0,COLOR_kernel___Object_____eqeq))(variable0,  NIT_NULL /*null*/) /*String::==*/)));
   if (UNTAG_Bool(variable0)) { /*if*/
@@ -977,7 +1034,7 @@ val_t compiling_base___MMLocalProperty___cname(val_t  self) {
   return variable0;
 }
 val_t compiling_base___MMLocalProperty___color_id_for_super(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_compiling_base, 298, LOCATE_compiling_base___MMLocalProperty___color_id_for_super};
+  struct trace_t trace = {NULL, NULL, 298, LOCATE_compiling_base___MMLocalProperty___color_id_for_super};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -986,6 +1043,7 @@ val_t compiling_base___MMLocalProperty___color_id_for_super(val_t  self) {
   val_t variable5;
   val_t variable6;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_base;
   variable0 = NEW_string___String___init(); /*new String*/
   variable1 = NEW_string___String___with_native(BOX_NativeString("COLOR_SUPER_"), TAG_Int(12)); /*new String*/
   variable2 = variable1;
index b7b98d7..007f89d 100644 (file)
@@ -1,6 +1,6 @@
 /* This C header file is generated by NIT to compile modules and programs that requires compiling_base. */
-#ifndef compiling_base_2_sep
-#define compiling_base_2_sep
+#ifndef compiling_base_sep
+#define compiling_base_sep
 #include "syntax._sep.h"
 #include "utils._sep.h"
 #include <nit_common.h>
@@ -10,11 +10,11 @@ extern const classtable_elt_t VFT_CompilerVisitor[];
 extern const classtable_elt_t VFT_CContext[];
 
 extern const classtable_elt_t VFT_PrimitiveInfo[];
-#define LOCATE_compiling_base "./compiling//compiling_base.nit"
+extern const char *LOCATE_compiling_base;
 extern const int SFT_compiling_base[];
 #define COLOR_compiling_base___ToolContext____global SFT_compiling_base[0]
 #define COLOR_compiling_base___ToolContext____attr_sim SFT_compiling_base[1]
-#define COLOR_compiling_base___ToolContext____base_dir SFT_compiling_base[2]
+#define COLOR_compiling_base___ToolContext____compdir SFT_compiling_base[2]
 #define COLOR_compiling_base___ToolContext____clibdir SFT_compiling_base[3]
 #define COLOR_compiling_base___ToolContext____bindir SFT_compiling_base[4]
 #define COLOR_compiling_base___ToolContext____output_file SFT_compiling_base[5]
@@ -25,8 +25,8 @@ extern const int SFT_compiling_base[];
 #define COLOR_compiling_base___ToolContext___global__eq SFT_compiling_base[10]
 #define COLOR_compiling_base___ToolContext___attr_sim SFT_compiling_base[11]
 #define COLOR_compiling_base___ToolContext___attr_sim__eq SFT_compiling_base[12]
-#define COLOR_compiling_base___ToolContext___base_dir SFT_compiling_base[13]
-#define COLOR_compiling_base___ToolContext___base_dir__eq SFT_compiling_base[14]
+#define COLOR_compiling_base___ToolContext___compdir SFT_compiling_base[13]
+#define COLOR_compiling_base___ToolContext___compdir__eq SFT_compiling_base[14]
 #define COLOR_compiling_base___ToolContext___clibdir SFT_compiling_base[15]
 #define COLOR_compiling_base___ToolContext___clibdir__eq SFT_compiling_base[16]
 #define COLOR_compiling_base___ToolContext___bindir SFT_compiling_base[17]
@@ -114,13 +114,13 @@ val_t compiling_base___ToolContext___attr_sim(val_t  self);
 typedef void (* compiling_base___ToolContext___attr_sim__eq_t)(val_t  self, val_t  param0);
 void compiling_base___ToolContext___attr_sim__eq(val_t  self, val_t  param0);
 #define LOCATE_compiling_base___ToolContext___attr_sim__eq "compiling_base::ToolContext::attr_sim="
-#define ATTR_compiling_base___ToolContext____base_dir(recv) ATTR(recv, COLOR_compiling_base___ToolContext____base_dir)
-typedef val_t (* compiling_base___ToolContext___base_dir_t)(val_t  self);
-val_t compiling_base___ToolContext___base_dir(val_t  self);
-#define LOCATE_compiling_base___ToolContext___base_dir "compiling_base::ToolContext::base_dir"
-typedef void (* compiling_base___ToolContext___base_dir__eq_t)(val_t  self, val_t  param0);
-void compiling_base___ToolContext___base_dir__eq(val_t  self, val_t  param0);
-#define LOCATE_compiling_base___ToolContext___base_dir__eq "compiling_base::ToolContext::base_dir="
+#define ATTR_compiling_base___ToolContext____compdir(recv) ATTR(recv, COLOR_compiling_base___ToolContext____compdir)
+typedef val_t (* compiling_base___ToolContext___compdir_t)(val_t  self);
+val_t compiling_base___ToolContext___compdir(val_t  self);
+#define LOCATE_compiling_base___ToolContext___compdir "compiling_base::ToolContext::compdir"
+typedef void (* compiling_base___ToolContext___compdir__eq_t)(val_t  self, val_t  param0);
+void compiling_base___ToolContext___compdir__eq(val_t  self, val_t  param0);
+#define LOCATE_compiling_base___ToolContext___compdir__eq "compiling_base::ToolContext::compdir="
 #define ATTR_compiling_base___ToolContext____clibdir(recv) ATTR(recv, COLOR_compiling_base___ToolContext____clibdir)
 typedef val_t (* compiling_base___ToolContext___clibdir_t)(val_t  self);
 val_t compiling_base___ToolContext___clibdir(val_t  self);
index 8b443c3..57e7227 100644 (file)
@@ -1,10 +1,11 @@
 /* This C file is generated by NIT to compile module compiling_global. */
 #include "compiling_global._sep.h"
 val_t compiling_global___ColorContext___color(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_compiling_global, 28, LOCATE_compiling_global___ColorContext___color};
+  struct trace_t trace = {NULL, NULL, 28, LOCATE_compiling_global___ColorContext___color};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_global;
   variable0 =  param0;
   variable1 = ATTR_compiling_global___ColorContext____colors( self) /*ColorContext::_colors*/;
   variable1 = ((abstract_collection___CoupleMap_____bra_t)CALL(variable1,COLOR_abstract_collection___Map_____bra))(variable1,  variable0 /*e*/) /*CoupleMap::[]*/;
@@ -14,11 +15,12 @@ val_t compiling_global___ColorContext___color(val_t  self, val_t  param0) {
   return variable1;
 }
 val_t compiling_global___ColorContext___has_color(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_compiling_global, 34, LOCATE_compiling_global___ColorContext___has_color};
+  struct trace_t trace = {NULL, NULL, 34, LOCATE_compiling_global___ColorContext___has_color};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_global;
   variable0 =  param0;
   variable1 = ATTR_compiling_global___ColorContext____colors( self) /*ColorContext::_colors*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 ==  NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -34,7 +36,7 @@ val_t compiling_global___ColorContext___has_color(val_t  self, val_t  param0) {
   return variable1;
 }
 void compiling_global___ColorContext___color__eq(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_compiling_global, 40, LOCATE_compiling_global___ColorContext___color__eq};
+  struct trace_t trace = {NULL, NULL, 40, LOCATE_compiling_global___ColorContext___color__eq};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -43,6 +45,7 @@ void compiling_global___ColorContext___color__eq(val_t  self, val_t  param0, val
     val_t variable5;
     val_t variable6;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_global;
   variable0 =  param0;
   variable1 =  param1;
   variable2 = ATTR_compiling_global___ColorContext____colors( self) /*ColorContext::_colors*/;
@@ -75,35 +78,40 @@ void compiling_global___ColorContext___color__eq(val_t  self, val_t  param0, val
   return;
 }
 val_t compiling_global___GlobalAnalysis___compiled_classes(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_compiling_global, 56, LOCATE_compiling_global___GlobalAnalysis___compiled_classes};
+  struct trace_t trace = {NULL, NULL, 56, LOCATE_compiling_global___GlobalAnalysis___compiled_classes};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_global;
   tracehead = trace.prev;
   return ATTR_compiling_global___GlobalAnalysis____compiled_classes( self) /*GlobalAnalysis::_compiled_classes*/;
 }
 val_t compiling_global___GlobalAnalysis___module(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_compiling_global, 59, LOCATE_compiling_global___GlobalAnalysis___module};
+  struct trace_t trace = {NULL, NULL, 59, LOCATE_compiling_global___GlobalAnalysis___module};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_global;
   tracehead = trace.prev;
   return ATTR_compiling_global___GlobalAnalysis____module( self) /*GlobalAnalysis::_module*/;
 }
 val_t compiling_global___GlobalAnalysis___max_class_table_length(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_compiling_global, 62, LOCATE_compiling_global___GlobalAnalysis___max_class_table_length};
+  struct trace_t trace = {NULL, NULL, 62, LOCATE_compiling_global___GlobalAnalysis___max_class_table_length};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_global;
   tracehead = trace.prev;
   return ATTR_compiling_global___GlobalAnalysis____max_class_table_length( self) /*GlobalAnalysis::_max_class_table_length*/;
 }
 void compiling_global___GlobalAnalysis___max_class_table_length__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_compiling_global, 62, LOCATE_compiling_global___GlobalAnalysis___max_class_table_length__eq};
+  struct trace_t trace = {NULL, NULL, 62, LOCATE_compiling_global___GlobalAnalysis___max_class_table_length__eq};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_global;
   ATTR_compiling_global___GlobalAnalysis____max_class_table_length( self) /*GlobalAnalysis::_max_class_table_length*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 void compiling_global___GlobalAnalysis___init(val_t  self, val_t  param0, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_compiling_global, 65, LOCATE_compiling_global___GlobalAnalysis___init};
+  struct trace_t trace = {NULL, NULL, 65, LOCATE_compiling_global___GlobalAnalysis___init};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_global;
   variable0 =  param0;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_GlobalAnalysis].i]) return;
   variable1 = NEW_hash___HashMap___init(); /*new HashMap[K, V]*/
@@ -114,93 +122,107 @@ void compiling_global___GlobalAnalysis___init(val_t  self, val_t  param0, int* i
   return;
 }
 val_t compiling_global___CompilerVisitor___global_analysis(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_compiling_global, 73, LOCATE_compiling_global___CompilerVisitor___global_analysis};
+  struct trace_t trace = {NULL, NULL, 73, LOCATE_compiling_global___CompilerVisitor___global_analysis};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_global;
   tracehead = trace.prev;
   return ATTR_compiling_global___CompilerVisitor____global_analysis( self) /*CompilerVisitor::_global_analysis*/;
 }
 void compiling_global___CompilerVisitor___global_analysis__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_compiling_global, 73, LOCATE_compiling_global___CompilerVisitor___global_analysis__eq};
+  struct trace_t trace = {NULL, NULL, 73, LOCATE_compiling_global___CompilerVisitor___global_analysis__eq};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_global;
   ATTR_compiling_global___CompilerVisitor____global_analysis( self) /*CompilerVisitor::_global_analysis*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t compiling_global___CompiledClass___local_class(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_compiling_global, 80, LOCATE_compiling_global___CompiledClass___local_class};
+  struct trace_t trace = {NULL, NULL, 80, LOCATE_compiling_global___CompiledClass___local_class};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_global;
   tracehead = trace.prev;
   return ATTR_compiling_global___CompiledClass____local_class( self) /*CompiledClass::_local_class*/;
 }
 val_t compiling_global___CompiledClass___id(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_compiling_global, 83, LOCATE_compiling_global___CompiledClass___id};
+  struct trace_t trace = {NULL, NULL, 83, LOCATE_compiling_global___CompiledClass___id};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_global;
   tracehead = trace.prev;
   return ATTR_compiling_global___CompiledClass____id( self) /*CompiledClass::_id*/;
 }
 void compiling_global___CompiledClass___id__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_compiling_global, 83, LOCATE_compiling_global___CompiledClass___id__eq};
+  struct trace_t trace = {NULL, NULL, 83, LOCATE_compiling_global___CompiledClass___id__eq};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_global;
   ATTR_compiling_global___CompiledClass____id( self) /*CompiledClass::_id*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t compiling_global___CompiledClass___class_table(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_compiling_global, 86, LOCATE_compiling_global___CompiledClass___class_table};
+  struct trace_t trace = {NULL, NULL, 86, LOCATE_compiling_global___CompiledClass___class_table};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_global;
   tracehead = trace.prev;
   return ATTR_compiling_global___CompiledClass____class_table( self) /*CompiledClass::_class_table*/;
 }
 void compiling_global___CompiledClass___class_table__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_compiling_global, 86, LOCATE_compiling_global___CompiledClass___class_table__eq};
+  struct trace_t trace = {NULL, NULL, 86, LOCATE_compiling_global___CompiledClass___class_table__eq};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_global;
   ATTR_compiling_global___CompiledClass____class_table( self) /*CompiledClass::_class_table*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t compiling_global___CompiledClass___instance_table(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_compiling_global, 89, LOCATE_compiling_global___CompiledClass___instance_table};
+  struct trace_t trace = {NULL, NULL, 89, LOCATE_compiling_global___CompiledClass___instance_table};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_global;
   tracehead = trace.prev;
   return ATTR_compiling_global___CompiledClass____instance_table( self) /*CompiledClass::_instance_table*/;
 }
 void compiling_global___CompiledClass___instance_table__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_compiling_global, 89, LOCATE_compiling_global___CompiledClass___instance_table__eq};
+  struct trace_t trace = {NULL, NULL, 89, LOCATE_compiling_global___CompiledClass___instance_table__eq};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_global;
   ATTR_compiling_global___CompiledClass____instance_table( self) /*CompiledClass::_instance_table*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t compiling_global___CompiledClass___class_layout(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_compiling_global, 92, LOCATE_compiling_global___CompiledClass___class_layout};
+  struct trace_t trace = {NULL, NULL, 92, LOCATE_compiling_global___CompiledClass___class_layout};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_global;
   tracehead = trace.prev;
   return ATTR_compiling_global___CompiledClass____class_layout( self) /*CompiledClass::_class_layout*/;
 }
 void compiling_global___CompiledClass___class_layout__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_compiling_global, 92, LOCATE_compiling_global___CompiledClass___class_layout__eq};
+  struct trace_t trace = {NULL, NULL, 92, LOCATE_compiling_global___CompiledClass___class_layout__eq};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_global;
   ATTR_compiling_global___CompiledClass____class_layout( self) /*CompiledClass::_class_layout*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t compiling_global___CompiledClass___instance_layout(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_compiling_global, 95, LOCATE_compiling_global___CompiledClass___instance_layout};
+  struct trace_t trace = {NULL, NULL, 95, LOCATE_compiling_global___CompiledClass___instance_layout};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_global;
   tracehead = trace.prev;
   return ATTR_compiling_global___CompiledClass____instance_layout( self) /*CompiledClass::_instance_layout*/;
 }
 void compiling_global___CompiledClass___instance_layout__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_compiling_global, 95, LOCATE_compiling_global___CompiledClass___instance_layout__eq};
+  struct trace_t trace = {NULL, NULL, 95, LOCATE_compiling_global___CompiledClass___instance_layout__eq};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_global;
   ATTR_compiling_global___CompiledClass____instance_layout( self) /*CompiledClass::_instance_layout*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 void compiling_global___CompiledClass___init(val_t  self, val_t  param0, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_compiling_global, 98, LOCATE_compiling_global___CompiledClass___init};
+  struct trace_t trace = {NULL, NULL, 98, LOCATE_compiling_global___CompiledClass___init};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_global;
   variable0 =  param0;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_CompiledClass].i]) return;
   ATTR_compiling_global___CompiledClass____local_class( self) /*CompiledClass::_local_class*/ =  variable0 /*c*/;
@@ -209,44 +231,50 @@ void compiling_global___CompiledClass___init(val_t  self, val_t  param0, int* in
   return;
 }
 val_t compiling_global___MMGlobalProperty___pos_of(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_compiling_global, 102, LOCATE_compiling_global___MMGlobalProperty___pos_of};
+  struct trace_t trace = {NULL, NULL, 102, LOCATE_compiling_global___MMGlobalProperty___pos_of};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_global;
   tracehead = trace.prev;
   return ATTR_compiling_global___MMGlobalProperty____pos_of( self) /*MMGlobalProperty::_pos_of*/;
 }
 void compiling_global___MMGlobalProperty___pos_of__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_compiling_global, 102, LOCATE_compiling_global___MMGlobalProperty___pos_of__eq};
+  struct trace_t trace = {NULL, NULL, 102, LOCATE_compiling_global___MMGlobalProperty___pos_of__eq};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_global;
   ATTR_compiling_global___MMGlobalProperty____pos_of( self) /*MMGlobalProperty::_pos_of*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t compiling_global___MMSrcLocalClass___base_attr_pos(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_compiling_global, 108, LOCATE_compiling_global___MMSrcLocalClass___base_attr_pos};
+  struct trace_t trace = {NULL, NULL, 108, LOCATE_compiling_global___MMSrcLocalClass___base_attr_pos};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_global;
   tracehead = trace.prev;
   return ATTR_compiling_global___MMSrcLocalClass____base_attr_pos( self) /*MMSrcLocalClass::_base_attr_pos*/;
 }
 val_t compiling_global___MMSrcLocalClass___class_color_pos(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_compiling_global, 111, LOCATE_compiling_global___MMSrcLocalClass___class_color_pos};
+  struct trace_t trace = {NULL, NULL, 111, LOCATE_compiling_global___MMSrcLocalClass___class_color_pos};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_global;
   tracehead = trace.prev;
   return ATTR_compiling_global___MMSrcLocalClass____class_color_pos( self) /*MMSrcLocalClass::_class_color_pos*/;
 }
 val_t compiling_global___MMSrcLocalClass___class_layout(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_compiling_global, 114, LOCATE_compiling_global___MMSrcLocalClass___class_layout};
+  struct trace_t trace = {NULL, NULL, 114, LOCATE_compiling_global___MMSrcLocalClass___class_layout};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_global;
   tracehead = trace.prev;
   return ATTR_compiling_global___MMSrcLocalClass____class_layout( self) /*MMSrcLocalClass::_class_layout*/;
 }
 val_t compiling_global___MMSrcLocalClass___instance_layout(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_compiling_global, 117, LOCATE_compiling_global___MMSrcLocalClass___instance_layout};
+  struct trace_t trace = {NULL, NULL, 117, LOCATE_compiling_global___MMSrcLocalClass___instance_layout};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_global;
   tracehead = trace.prev;
   return ATTR_compiling_global___MMSrcLocalClass____instance_layout( self) /*MMSrcLocalClass::_instance_layout*/;
 }
 void compiling_global___MMSrcLocalClass___build_layout_in(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_compiling_global, 120, LOCATE_compiling_global___MMSrcLocalClass___build_layout_in};
+  struct trace_t trace = {NULL, NULL, 120, LOCATE_compiling_global___MMSrcLocalClass___build_layout_in};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -259,6 +287,7 @@ void compiling_global___MMSrcLocalClass___build_layout_in(val_t  self, val_t  pa
     val_t variable9;
     val_t variable10;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_global;
   variable0 =  param0;
   variable1 =  param1;
   variable3 = NEW_array___Array___init(); /*new Array[E]*/
@@ -347,12 +376,13 @@ void compiling_global___MMSrcLocalClass___build_layout_in(val_t  self, val_t  pa
   return;
 }
 void compiling_global___MMSrcModule___local_analysis(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_compiling_global, 168, LOCATE_compiling_global___MMSrcModule___local_analysis};
+  struct trace_t trace = {NULL, NULL, 168, LOCATE_compiling_global___MMSrcModule___local_analysis};
   val_t variable0;
   val_t variable1;
   val_t variable2;
     val_t variable3;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_global;
   variable0 =  param0;
   variable2 = NEW_array___Array___init(); /*new Array[E]*/
   variable1 = variable2;
@@ -372,7 +402,7 @@ void compiling_global___MMSrcModule___local_analysis(val_t  self, val_t  param0)
   return;
 }
 val_t compiling_global___MMSrcModule___global_analysis(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_compiling_global, 178, LOCATE_compiling_global___MMSrcModule___global_analysis};
+  struct trace_t trace = {NULL, NULL, 178, LOCATE_compiling_global___MMSrcModule___global_analysis};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -395,6 +425,7 @@ val_t compiling_global___MMSrcModule___global_analysis(val_t  self, val_t  param
       val_t variable19;
       val_t variable20;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_global;
   variable0 =  param0;
   variable2 = NEW_compiling_global___GlobalAnalysis___init( self); /*new GlobalAnalysis*/
   variable1 = variable2;
@@ -711,7 +742,7 @@ val_t compiling_global___MMSrcModule___global_analysis(val_t  self, val_t  param
   return variable1;
 }
 void compiling_global___MMSrcModule___append_to_table(val_t  self, val_t  param0, val_t  param1, val_t  param2) {
-  struct trace_t trace = {NULL, LOCATE_compiling_global, 338, LOCATE_compiling_global___MMSrcModule___append_to_table};
+  struct trace_t trace = {NULL, NULL, 338, LOCATE_compiling_global___MMSrcModule___append_to_table};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -720,6 +751,7 @@ void compiling_global___MMSrcModule___append_to_table(val_t  self, val_t  param0
     val_t variable5;
     val_t variable6;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_global;
   variable0 =  param0;
   variable1 =  param1;
   variable2 =  param2;
@@ -744,7 +776,7 @@ void compiling_global___MMSrcModule___append_to_table(val_t  self, val_t  param0
   return;
 }
 val_t compiling_global___MMSrcModule___build_tables(val_t  self, val_t  param0, val_t  param1, val_t  param2) {
-  struct trace_t trace = {NULL, LOCATE_compiling_global, 347, LOCATE_compiling_global___MMSrcModule___build_tables};
+  struct trace_t trace = {NULL, NULL, 347, LOCATE_compiling_global___MMSrcModule___build_tables};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -757,6 +789,7 @@ val_t compiling_global___MMSrcModule___build_tables(val_t  self, val_t  param0,
       val_t variable9;
         val_t variable10;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_global;
   variable0 =  param0;
   variable1 =  param1;
   variable2 =  param2;
@@ -826,7 +859,7 @@ val_t compiling_global___MMSrcModule___build_tables(val_t  self, val_t  param0,
   return variable3;
 }
 void compiling_global___MMSrcModule___colorize(val_t  self, val_t  param0, val_t  param1, val_t  param2, val_t  param3) {
-  struct trace_t trace = {NULL, LOCATE_compiling_global, 378, LOCATE_compiling_global___MMSrcModule___colorize};
+  struct trace_t trace = {NULL, NULL, 378, LOCATE_compiling_global___MMSrcModule___colorize};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -844,6 +877,7 @@ void compiling_global___MMSrcModule___colorize(val_t  self, val_t  param0, val_t
             val_t variable14;
             val_t variable15;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_global;
   variable0 =  param0;
   variable1 =  param1;
   variable2 =  param2;
@@ -955,13 +989,14 @@ void compiling_global___MMSrcModule___colorize(val_t  self, val_t  param0, val_t
   return;
 }
 val_t compiling_global___MMSrcModule___free_color(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_compiling_global, 422, LOCATE_compiling_global___MMSrcModule___free_color};
+  struct trace_t trace = {NULL, NULL, 422, LOCATE_compiling_global___MMSrcModule___free_color};
   val_t variable0;
   val_t variable1;
   val_t variable2;
     val_t variable3;
     val_t variable4;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_global;
   variable0 =  param0;
   variable1 =  param1;
   variable2 = ((array___AbstractArray___iterator_t)CALL( variable0 /*es*/,COLOR_abstract_collection___Collection___iterator))( variable0 /*es*/) /*AbstractArray::iterator*/;
@@ -985,7 +1020,7 @@ val_t compiling_global___MMSrcModule___free_color(val_t  self, val_t  param0, va
   return variable2;
 }
 void compiling_global___MMSrcModule___compile_tables_to_c(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_compiling_global, 432, LOCATE_compiling_global___MMSrcModule___compile_tables_to_c};
+  struct trace_t trace = {NULL, NULL, 432, LOCATE_compiling_global___MMSrcModule___compile_tables_to_c};
   val_t variable0;
   val_t variable1;
     val_t variable2;
@@ -997,6 +1032,7 @@ void compiling_global___MMSrcModule___compile_tables_to_c(val_t  self, val_t  pa
       val_t variable8;
       val_t variable9;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_global;
   variable0 =  param0;
   variable1 = ((abstractmetamodel___MMModule___mhe_t)CALL( self,COLOR_abstractmetamodel___MMModule___mhe))( self) /*MMModule::mhe*/;
   variable1 = ((partial_order___PartialOrderElement___greaters_and_self_t)CALL(variable1,COLOR_partial_order___PartialOrderElement___greaters_and_self))(variable1) /*PartialOrderElement::greaters_and_self*/;
@@ -1065,12 +1101,13 @@ void compiling_global___MMSrcModule___compile_tables_to_c(val_t  self, val_t  pa
   return;
 }
 void compiling_global___MMSrcModule___declare_class_tables_to_c(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_compiling_global, 455, LOCATE_compiling_global___MMSrcModule___declare_class_tables_to_c};
+  struct trace_t trace = {NULL, NULL, 455, LOCATE_compiling_global___MMSrcModule___declare_class_tables_to_c};
   val_t variable0;
   val_t variable1;
     val_t variable2;
     val_t variable3;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_global;
   variable0 =  param0;
   variable1 = ((abstractmetamodel___MMModule___local_classes_t)CALL( self,COLOR_abstractmetamodel___MMModule___local_classes))( self) /*MMModule::local_classes*/;
   variable1 = ((array___AbstractArray___iterator_t)CALL(variable1,COLOR_abstract_collection___Collection___iterator))(variable1) /*AbstractArray::iterator*/;
@@ -1092,7 +1129,7 @@ void compiling_global___MMSrcModule___declare_class_tables_to_c(val_t  self, val
   return;
 }
 void compiling_global___MMSrcModule___compile_main_part(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_compiling_global, 465, LOCATE_compiling_global___MMSrcModule___compile_main_part};
+  struct trace_t trace = {NULL, NULL, 465, LOCATE_compiling_global___MMSrcModule___compile_main_part};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -1107,6 +1144,7 @@ void compiling_global___MMSrcModule___compile_main_part(val_t  self, val_t  para
       val_t variable9;
       val_t variable10;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_global;
   variable0 =  param0;
   variable1 = NEW_string___String___with_native(BOX_NativeString("int main(int argc, char **argv) {"), TAG_Int(33)); /*new String*/
   ((compiling_base___CompilerVisitor___add_instr_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___add_instr))( variable0 /*v*/, variable1) /*CompilerVisitor::add_instr*/;
@@ -1168,7 +1206,7 @@ void compiling_global___MMSrcModule___compile_main_part(val_t  self, val_t  para
   return;
 }
 void compiling_global___MMSrcModule___compile_mod_to_c(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_compiling_global, 492, LOCATE_compiling_global___MMSrcModule___compile_mod_to_c};
+  struct trace_t trace = {NULL, NULL, 492, LOCATE_compiling_global___MMSrcModule___compile_mod_to_c};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -1177,10 +1215,10 @@ void compiling_global___MMSrcModule___compile_mod_to_c(val_t  self, val_t  param
   val_t variable5;
   val_t variable6;
   val_t variable7;
-  val_t variable8;
-  val_t variable9;
-  val_t variable10;
-  val_t variable11;
+      val_t variable8;
+      val_t variable9;
+      val_t variable10;
+      val_t variable11;
       val_t variable12;
       val_t variable13;
       val_t variable14;
@@ -1193,24 +1231,19 @@ void compiling_global___MMSrcModule___compile_mod_to_c(val_t  self, val_t  param
           val_t variable21;
           val_t variable22;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_global;
   variable0 =  param0;
   variable1 = NEW_string___String___init(); /*new String*/
-  variable2 = NEW_string___String___with_native(BOX_NativeString("#define LOCATE_"), TAG_Int(15)); /*new String*/
+  variable2 = NEW_string___String___with_native(BOX_NativeString("extern const char *LOCATE_"), TAG_Int(26)); /*new String*/
   variable3 = variable2;
   ((string___String___append_t)CALL(variable1,COLOR_abstract_collection___IndexedCollection___append))(variable1, variable3) /*String::append*/;
   variable4 = ((abstractmetamodel___MMModule___name_t)CALL( self,COLOR_abstractmetamodel___MMModule___name))( self) /*MMModule::name*/;
   variable5 = variable4;
   variable5 = ((string___String___to_s_t)CALL(variable5,COLOR_string___Object___to_s))(variable5) /*String::to_s*/;
   ((string___String___append_t)CALL(variable1,COLOR_abstract_collection___IndexedCollection___append))(variable1, variable5) /*String::append*/;
-  variable6 = NEW_string___String___with_native(BOX_NativeString(" \""), TAG_Int(2)); /*new String*/
+  variable6 = NEW_string___String___with_native(BOX_NativeString(";"), TAG_Int(1)); /*new String*/
   variable7 = variable6;
   ((string___String___append_t)CALL(variable1,COLOR_abstract_collection___IndexedCollection___append))(variable1, variable7) /*String::append*/;
-  variable8 = ((mmloader___MMModule___filename_t)CALL( self,COLOR_mmloader___MMModule___filename))( self) /*MMModule::filename*/;
-  variable9 = variable8;
-  ((string___String___append_t)CALL(variable1,COLOR_abstract_collection___IndexedCollection___append))(variable1, variable9) /*String::append*/;
-  variable10 = NEW_string___String___with_native(BOX_NativeString("\""), TAG_Int(1)); /*new String*/
-  variable11 = variable10;
-  ((string___String___append_t)CALL(variable1,COLOR_abstract_collection___IndexedCollection___append))(variable1, variable11) /*String::append*/;
   ((compiling_base___CompilerVisitor___add_decl_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___add_decl))( variable0 /*v*/, variable1) /*CompilerVisitor::add_decl*/;
   variable1 = ((compiling_base___CompilerVisitor___tc_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___tc))( variable0 /*v*/) /*CompilerVisitor::tc*/;
   variable1 = ((compiling_base___ToolContext___global_t)CALL(variable1,COLOR_compiling_base___ToolContext___global))(variable1) /*ToolContext::global*/;
@@ -1376,7 +1409,7 @@ void compiling_global___MMSrcModule___compile_mod_to_c(val_t  self, val_t  param
   return;
 }
 void compiling_global___MMSrcModule___compile_local_table_to_c(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_compiling_global, 526, LOCATE_compiling_global___MMSrcModule___compile_local_table_to_c};
+  struct trace_t trace = {NULL, NULL, 526, LOCATE_compiling_global___MMSrcModule___compile_local_table_to_c};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -1390,7 +1423,26 @@ void compiling_global___MMSrcModule___compile_local_table_to_c(val_t  self, val_
   val_t variable10;
   val_t variable11;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_global;
   variable0 =  param0;
+  variable1 = NEW_string___String___init(); /*new String*/
+  variable2 = NEW_string___String___with_native(BOX_NativeString("const char *LOCATE_"), TAG_Int(19)); /*new String*/
+  variable3 = variable2;
+  ((string___String___append_t)CALL(variable1,COLOR_abstract_collection___IndexedCollection___append))(variable1, variable3) /*String::append*/;
+  variable4 = ((abstractmetamodel___MMModule___name_t)CALL( self,COLOR_abstractmetamodel___MMModule___name))( self) /*MMModule::name*/;
+  variable5 = variable4;
+  variable5 = ((string___String___to_s_t)CALL(variable5,COLOR_string___Object___to_s))(variable5) /*String::to_s*/;
+  ((string___String___append_t)CALL(variable1,COLOR_abstract_collection___IndexedCollection___append))(variable1, variable5) /*String::append*/;
+  variable6 = NEW_string___String___with_native(BOX_NativeString(" = \""), TAG_Int(4)); /*new String*/
+  variable7 = variable6;
+  ((string___String___append_t)CALL(variable1,COLOR_abstract_collection___IndexedCollection___append))(variable1, variable7) /*String::append*/;
+  variable8 = ((mmloader___MMModule___filename_t)CALL( self,COLOR_mmloader___MMModule___filename))( self) /*MMModule::filename*/;
+  variable9 = variable8;
+  ((string___String___append_t)CALL(variable1,COLOR_abstract_collection___IndexedCollection___append))(variable1, variable9) /*String::append*/;
+  variable10 = NEW_string___String___with_native(BOX_NativeString("\";"), TAG_Int(2)); /*new String*/
+  variable11 = variable10;
+  ((string___String___append_t)CALL(variable1,COLOR_abstract_collection___IndexedCollection___append))(variable1, variable11) /*String::append*/;
+  ((compiling_base___CompilerVisitor___add_instr_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___add_instr))( variable0 /*v*/, variable1) /*CompilerVisitor::add_instr*/;
   variable1 = ((compiling_base___CompilerVisitor___tc_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___tc))( variable0 /*v*/) /*CompilerVisitor::tc*/;
   variable1 = ((compiling_base___ToolContext___global_t)CALL(variable1,COLOR_compiling_base___ToolContext___global))(variable1) /*ToolContext::global*/;
   variable2 = variable1;
@@ -1446,18 +1498,20 @@ void compiling_global___MMSrcModule___compile_local_table_to_c(val_t  self, val_
   return;
 }
 val_t compiling_global___TableElt___is_related_to(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_compiling_global, 544, LOCATE_compiling_global___TableElt___is_related_to};
+  struct trace_t trace = {NULL, NULL, 546, LOCATE_compiling_global___TableElt___is_related_to};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_global;
   fprintf(stderr, "Deferred method %s called");
-  fprintf(stderr, " in %s (%s:%d)\n", LOCATE_compiling_global___MMSrcModule___compile_local_table_to_c, LOCATE_compiling_global, 544);
+  fprintf(stderr, " in %s (%s:%d)\n", LOCATE_compiling_global___MMSrcModule___compile_local_table_to_c, LOCATE_compiling_global, 546);
   nit_exit(1);
   tracehead = trace.prev;
   return NIT_NULL;
 }
 val_t compiling_global___TableElt___length(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_compiling_global, 545, LOCATE_compiling_global___TableElt___length};
+  struct trace_t trace = {NULL, NULL, 547, LOCATE_compiling_global___TableElt___length};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_global;
   variable0 =  TAG_Int(1);
   goto return_label51;
   return_label51: while(false);
@@ -1465,10 +1519,11 @@ val_t compiling_global___TableElt___length(val_t  self) {
   return variable0;
 }
 val_t compiling_global___TableElt___item(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_compiling_global, 546, LOCATE_compiling_global___TableElt___item};
+  struct trace_t trace = {NULL, NULL, 548, LOCATE_compiling_global___TableElt___item};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_global;
   variable0 =  param0;
   variable1 =  self;
   goto return_label52;
@@ -1477,36 +1532,40 @@ val_t compiling_global___TableElt___item(val_t  self, val_t  param0) {
   return variable1;
 }
 val_t compiling_global___TableElt___compile_to_c(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_compiling_global, 547, LOCATE_compiling_global___TableElt___compile_to_c};
+  struct trace_t trace = {NULL, NULL, 549, LOCATE_compiling_global___TableElt___compile_to_c};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_global;
   fprintf(stderr, "Deferred method %s called");
-  fprintf(stderr, " in %s (%s:%d)\n", LOCATE_compiling_global___TableElt___item, LOCATE_compiling_global, 547);
+  fprintf(stderr, " in %s (%s:%d)\n", LOCATE_compiling_global___TableElt___item, LOCATE_compiling_global, 549);
   nit_exit(1);
   tracehead = trace.prev;
   return NIT_NULL;
 }
 val_t compiling_global___LocalTableElt___symbol(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_compiling_global, 552, LOCATE_compiling_global___LocalTableElt___symbol};
+  struct trace_t trace = {NULL, NULL, 554, LOCATE_compiling_global___LocalTableElt___symbol};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_global;
   fprintf(stderr, "Deferred method %s called");
-  fprintf(stderr, " in %s (%s:%d)\n", LOCATE_compiling_global___TableElt___item, LOCATE_compiling_global, 552);
+  fprintf(stderr, " in %s (%s:%d)\n", LOCATE_compiling_global___TableElt___item, LOCATE_compiling_global, 554);
   nit_exit(1);
   tracehead = trace.prev;
   return NIT_NULL;
 }
 val_t compiling_global___LocalTableElt___value(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_compiling_global, 553, LOCATE_compiling_global___LocalTableElt___value};
+  struct trace_t trace = {NULL, NULL, 555, LOCATE_compiling_global___LocalTableElt___value};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_global;
   fprintf(stderr, "Deferred method %s called");
-  fprintf(stderr, " in %s (%s:%d)\n", LOCATE_compiling_global___TableElt___item, LOCATE_compiling_global, 553);
+  fprintf(stderr, " in %s (%s:%d)\n", LOCATE_compiling_global___TableElt___item, LOCATE_compiling_global, 555);
   nit_exit(1);
   tracehead = trace.prev;
   return NIT_NULL;
 }
 val_t compiling_global___TableEltPropPos___symbol(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_compiling_global, 559, LOCATE_compiling_global___TableEltPropPos___symbol};
+  struct trace_t trace = {NULL, NULL, 561, LOCATE_compiling_global___TableEltPropPos___symbol};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_global;
   variable0 = ATTR_compiling_global___TableEltPropPos____property( self) /*TableEltPropPos::_property*/;
   variable0 = ((abstractmetamodel___MMLocalProperty___global_t)CALL(variable0,COLOR_abstractmetamodel___MMLocalProperty___global))(variable0) /*MMLocalProperty::global*/;
   variable0 = ((compiling_base___MMGlobalProperty___color_id_t)CALL(variable0,COLOR_compiling_base___MMGlobalProperty___color_id))(variable0) /*MMGlobalProperty::color_id*/;
@@ -1516,7 +1575,7 @@ val_t compiling_global___TableEltPropPos___symbol(val_t  self) {
   return variable0;
 }
 val_t compiling_global___TableEltPropPos___value(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_compiling_global, 560, LOCATE_compiling_global___TableEltPropPos___value};
+  struct trace_t trace = {NULL, NULL, 562, LOCATE_compiling_global___TableEltPropPos___value};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -1530,6 +1589,7 @@ val_t compiling_global___TableEltPropPos___value(val_t  self, val_t  param0) {
   val_t variable10;
   val_t variable11;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_global;
   variable0 =  param0;
   variable1 = NEW_string___String___init(); /*new String*/
   variable2 = NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
@@ -1555,9 +1615,10 @@ val_t compiling_global___TableEltPropPos___value(val_t  self, val_t  param0) {
   return variable1;
 }
 void compiling_global___TableEltPropPos___init(val_t  self, val_t  param0, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_compiling_global, 562, LOCATE_compiling_global___TableEltPropPos___init};
+  struct trace_t trace = {NULL, NULL, 564, LOCATE_compiling_global___TableEltPropPos___init};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_global;
   variable0 =  param0;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_TableEltPropPos].i]) return;
   ATTR_compiling_global___TableEltPropPos____property( self) /*TableEltPropPos::_property*/ =  variable0 /*p*/;
@@ -1566,12 +1627,13 @@ void compiling_global___TableEltPropPos___init(val_t  self, val_t  param0, int*
   return;
 }
 val_t compiling_global___TableEltMethPos___compile_to_c(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_compiling_global, 570, LOCATE_compiling_global___TableEltMethPos___compile_to_c};
+  struct trace_t trace = {NULL, NULL, 572, LOCATE_compiling_global___TableEltMethPos___compile_to_c};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   val_t variable3;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_global;
   variable0 =  param0;
   variable1 =  param1;
   variable3 = ATTR_compiling_global___TableEltPropPos____property( self) /*TableEltPropPos::_property*/;
@@ -1586,9 +1648,10 @@ val_t compiling_global___TableEltMethPos___compile_to_c(val_t  self, val_t  para
   return variable2;
 }
 void compiling_global___TableEltMethPos___init(val_t  self, val_t  param0, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_compiling_global, 575, LOCATE_compiling_global___TableEltMethPos___init};
+  struct trace_t trace = {NULL, NULL, 577, LOCATE_compiling_global___TableEltMethPos___init};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_global;
   variable0 =  param0;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_TableEltMethPos].i]) return;
   ((compiling_global___TableEltPropPos___init_t)CALL( self,COLOR_compiling_global___TableEltPropPos___init))( self,  param0, init_table /*YYY*/) /*TableEltPropPos::init*/;
@@ -1597,9 +1660,10 @@ void compiling_global___TableEltMethPos___init(val_t  self, val_t  param0, int*
   return;
 }
 val_t compiling_global___TableEltSuperPos___symbol(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_compiling_global, 580, LOCATE_compiling_global___TableEltSuperPos___symbol};
+  struct trace_t trace = {NULL, NULL, 582, LOCATE_compiling_global___TableEltSuperPos___symbol};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_global;
   variable0 = ATTR_compiling_global___TableEltPropPos____property( self) /*TableEltPropPos::_property*/;
   variable0 = ((compiling_base___MMLocalProperty___color_id_for_super_t)CALL(variable0,COLOR_compiling_base___MMLocalProperty___color_id_for_super))(variable0) /*MMLocalProperty::color_id_for_super*/;
   goto return_label58;
@@ -1608,7 +1672,7 @@ val_t compiling_global___TableEltSuperPos___symbol(val_t  self) {
   return variable0;
 }
 val_t compiling_global___TableEltSuperPos___compile_to_c(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_compiling_global, 581, LOCATE_compiling_global___TableEltSuperPos___compile_to_c};
+  struct trace_t trace = {NULL, NULL, 583, LOCATE_compiling_global___TableEltSuperPos___compile_to_c};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -1620,6 +1684,7 @@ val_t compiling_global___TableEltSuperPos___compile_to_c(val_t  self, val_t  par
     val_t variable8;
         val_t variable9;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_global;
   variable0 =  param0;
   variable1 =  param1;
   variable3 = ATTR_compiling_global___TableEltPropPos____property( self) /*TableEltPropPos::_property*/;
@@ -1661,7 +1726,7 @@ val_t compiling_global___TableEltSuperPos___compile_to_c(val_t  self, val_t  par
     ((array___ArrayIterator___next_t)CALL(variable6,COLOR_abstract_collection___Iterator___next))(variable6) /*ArrayIterator::next*/;
   }
   break_60: while(0);
-  if (!UNTAG_Bool( TAG_Bool(false))) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_compiling_global___TableEltSuperPos___compile_to_c, LOCATE_compiling_global, 599); nit_exit(1);}
+  if (!UNTAG_Bool( TAG_Bool(false))) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_compiling_global___TableEltSuperPos___compile_to_c, LOCATE_compiling_global, 601); nit_exit(1);}
   variable2 =  NIT_NULL /*null*/;
   goto return_label59;
   return_label59: while(false);
@@ -1669,9 +1734,10 @@ val_t compiling_global___TableEltSuperPos___compile_to_c(val_t  self, val_t  par
   return variable2;
 }
 void compiling_global___TableEltSuperPos___init(val_t  self, val_t  param0, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_compiling_global, 603, LOCATE_compiling_global___TableEltSuperPos___init};
+  struct trace_t trace = {NULL, NULL, 605, LOCATE_compiling_global___TableEltSuperPos___init};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_global;
   variable0 =  param0;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_TableEltSuperPos].i]) return;
   ((compiling_global___TableEltPropPos___init_t)CALL( self,COLOR_compiling_global___TableEltPropPos___init))( self,  param0, init_table /*YYY*/) /*TableEltPropPos::init*/;
@@ -1680,7 +1746,7 @@ void compiling_global___TableEltSuperPos___init(val_t  self, val_t  param0, int*
   return;
 }
 val_t compiling_global___TableEltAttrPos___compile_to_c(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_compiling_global, 608, LOCATE_compiling_global___TableEltAttrPos___compile_to_c};
+  struct trace_t trace = {NULL, NULL, 610, LOCATE_compiling_global___TableEltAttrPos___compile_to_c};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -1699,6 +1765,7 @@ val_t compiling_global___TableEltAttrPos___compile_to_c(val_t  self, val_t  para
   val_t variable15;
   val_t variable16;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_global;
   variable0 =  param0;
   variable1 =  param1;
   variable3 = ((compiling_global___CompilerVisitor___global_analysis_t)CALL( variable0 /*v*/,COLOR_compiling_global___CompilerVisitor___global_analysis))( variable0 /*v*/) /*CompilerVisitor::global_analysis*/;
@@ -1737,9 +1804,10 @@ val_t compiling_global___TableEltAttrPos___compile_to_c(val_t  self, val_t  para
   return variable2;
 }
 void compiling_global___TableEltAttrPos___init(val_t  self, val_t  param0, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_compiling_global, 615, LOCATE_compiling_global___TableEltAttrPos___init};
+  struct trace_t trace = {NULL, NULL, 617, LOCATE_compiling_global___TableEltAttrPos___init};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_global;
   variable0 =  param0;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_TableEltAttrPos].i]) return;
   ((compiling_global___TableEltPropPos___init_t)CALL( self,COLOR_compiling_global___TableEltPropPos___init))( self,  param0, init_table /*YYY*/) /*TableEltPropPos::init*/;
@@ -1748,12 +1816,13 @@ void compiling_global___TableEltAttrPos___init(val_t  self, val_t  param0, int*
   return;
 }
 val_t compiling_global___TableEltClassPos___is_related_to(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_compiling_global, 621, LOCATE_compiling_global___TableEltClassPos___is_related_to};
+  struct trace_t trace = {NULL, NULL, 623, LOCATE_compiling_global___TableEltClassPos___is_related_to};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   val_t variable3;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_global;
   variable0 =  param0;
   variable2 = ((abstractmetamodel___MMLocalClass___module_t)CALL( variable0 /*c*/,COLOR_abstractmetamodel___MMLocalClass___module))( variable0 /*c*/) /*MMLocalClass::module*/;
   variable3 = ATTR_compiling_global___TableEltClassPos____local_class( self) /*TableEltClassPos::_local_class*/;
@@ -1769,9 +1838,10 @@ val_t compiling_global___TableEltClassPos___is_related_to(val_t  self, val_t  pa
   return variable1;
 }
 void compiling_global___TableEltClassPos___init(val_t  self, val_t  param0, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_compiling_global, 627, LOCATE_compiling_global___TableEltClassPos___init};
+  struct trace_t trace = {NULL, NULL, 629, LOCATE_compiling_global___TableEltClassPos___init};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_global;
   variable0 =  param0;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_TableEltClassPos].i]) return;
   ATTR_compiling_global___TableEltClassPos____local_class( self) /*TableEltClassPos::_local_class*/ =  variable0 /*c*/;
@@ -1780,9 +1850,10 @@ void compiling_global___TableEltClassPos___init(val_t  self, val_t  param0, int*
   return;
 }
 val_t compiling_global___TableEltClassIdPos___symbol(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_compiling_global, 635, LOCATE_compiling_global___TableEltClassIdPos___symbol};
+  struct trace_t trace = {NULL, NULL, 637, LOCATE_compiling_global___TableEltClassIdPos___symbol};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_global;
   variable0 = ATTR_compiling_global___TableEltClassPos____local_class( self) /*TableEltClassPos::_local_class*/;
   variable0 = ((abstractmetamodel___MMLocalClass___global_t)CALL(variable0,COLOR_abstractmetamodel___MMLocalClass___global))(variable0) /*MMLocalClass::global*/;
   variable0 = ((compiling_base___MMGlobalClass___id_id_t)CALL(variable0,COLOR_compiling_base___MMGlobalClass___id_id))(variable0) /*MMGlobalClass::id_id*/;
@@ -1792,7 +1863,7 @@ val_t compiling_global___TableEltClassIdPos___symbol(val_t  self) {
   return variable0;
 }
 val_t compiling_global___TableEltClassIdPos___value(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_compiling_global, 636, LOCATE_compiling_global___TableEltClassIdPos___value};
+  struct trace_t trace = {NULL, NULL, 638, LOCATE_compiling_global___TableEltClassIdPos___value};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -1806,6 +1877,7 @@ val_t compiling_global___TableEltClassIdPos___value(val_t  self, val_t  param0)
   val_t variable10;
   val_t variable11;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_global;
   variable0 =  param0;
   variable1 = NEW_string___String___init(); /*new String*/
   variable2 = NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
@@ -1835,9 +1907,10 @@ val_t compiling_global___TableEltClassIdPos___value(val_t  self, val_t  param0)
   return variable1;
 }
 void compiling_global___TableEltClassIdPos___init(val_t  self, val_t  param0, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_compiling_global, 641, LOCATE_compiling_global___TableEltClassIdPos___init};
+  struct trace_t trace = {NULL, NULL, 643, LOCATE_compiling_global___TableEltClassIdPos___init};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_global;
   variable0 =  param0;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_TableEltClassIdPos].i]) return;
   ((compiling_global___TableEltClassPos___init_t)CALL( self,COLOR_compiling_global___TableEltClassPos___init))( self,  param0, init_table /*YYY*/) /*TableEltClassPos::init*/;
@@ -1846,9 +1919,10 @@ void compiling_global___TableEltClassIdPos___init(val_t  self, val_t  param0, in
   return;
 }
 val_t compiling_global___TableEltClassInitTablePos___symbol(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_compiling_global, 646, LOCATE_compiling_global___TableEltClassInitTablePos___symbol};
+  struct trace_t trace = {NULL, NULL, 648, LOCATE_compiling_global___TableEltClassInitTablePos___symbol};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_global;
   variable0 = ATTR_compiling_global___TableEltClassPos____local_class( self) /*TableEltClassPos::_local_class*/;
   variable0 = ((abstractmetamodel___MMLocalClass___global_t)CALL(variable0,COLOR_abstractmetamodel___MMLocalClass___global))(variable0) /*MMLocalClass::global*/;
   variable0 = ((compiling_base___MMGlobalClass___init_table_pos_id_t)CALL(variable0,COLOR_compiling_base___MMGlobalClass___init_table_pos_id))(variable0) /*MMGlobalClass::init_table_pos_id*/;
@@ -1858,7 +1932,7 @@ val_t compiling_global___TableEltClassInitTablePos___symbol(val_t  self) {
   return variable0;
 }
 val_t compiling_global___TableEltClassInitTablePos___value(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_compiling_global, 647, LOCATE_compiling_global___TableEltClassInitTablePos___value};
+  struct trace_t trace = {NULL, NULL, 649, LOCATE_compiling_global___TableEltClassInitTablePos___value};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -1872,6 +1946,7 @@ val_t compiling_global___TableEltClassInitTablePos___value(val_t  self, val_t  p
   val_t variable10;
   val_t variable11;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_global;
   variable0 =  param0;
   variable1 = NEW_string___String___init(); /*new String*/
   variable2 = NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
@@ -1897,7 +1972,7 @@ val_t compiling_global___TableEltClassInitTablePos___value(val_t  self, val_t  p
   return variable1;
 }
 val_t compiling_global___TableEltClassInitTablePos___compile_to_c(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_compiling_global, 651, LOCATE_compiling_global___TableEltClassInitTablePos___compile_to_c};
+  struct trace_t trace = {NULL, NULL, 653, LOCATE_compiling_global___TableEltClassInitTablePos___compile_to_c};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -1922,6 +1997,7 @@ val_t compiling_global___TableEltClassInitTablePos___compile_to_c(val_t  self, v
   val_t variable21;
   val_t variable22;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_global;
   variable0 =  param0;
   variable1 =  param1;
   variable3 = ((compiling_global___CompilerVisitor___global_analysis_t)CALL( variable0 /*v*/,COLOR_compiling_global___CompilerVisitor___global_analysis))( variable0 /*v*/) /*CompilerVisitor::global_analysis*/;
@@ -1996,9 +2072,10 @@ val_t compiling_global___TableEltClassInitTablePos___compile_to_c(val_t  self, v
   return variable2;
 }
 void compiling_global___TableEltClassInitTablePos___init(val_t  self, val_t  param0, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_compiling_global, 663, LOCATE_compiling_global___TableEltClassInitTablePos___init};
+  struct trace_t trace = {NULL, NULL, 665, LOCATE_compiling_global___TableEltClassInitTablePos___init};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_global;
   variable0 =  param0;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_TableEltClassInitTablePos].i]) return;
   ((compiling_global___TableEltClassPos___init_t)CALL( self,COLOR_compiling_global___TableEltClassPos___init))( self,  param0, init_table /*YYY*/) /*TableEltClassPos::init*/;
@@ -2007,9 +2084,10 @@ void compiling_global___TableEltClassInitTablePos___init(val_t  self, val_t  par
   return;
 }
 val_t compiling_global___TableEltClassColorPos___symbol(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_compiling_global, 668, LOCATE_compiling_global___TableEltClassColorPos___symbol};
+  struct trace_t trace = {NULL, NULL, 670, LOCATE_compiling_global___TableEltClassColorPos___symbol};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_global;
   variable0 = ATTR_compiling_global___TableEltClassPos____local_class( self) /*TableEltClassPos::_local_class*/;
   variable0 = ((abstractmetamodel___MMLocalClass___global_t)CALL(variable0,COLOR_abstractmetamodel___MMLocalClass___global))(variable0) /*MMLocalClass::global*/;
   variable0 = ((compiling_base___MMGlobalClass___color_id_t)CALL(variable0,COLOR_compiling_base___MMGlobalClass___color_id))(variable0) /*MMGlobalClass::color_id*/;
@@ -2019,7 +2097,7 @@ val_t compiling_global___TableEltClassColorPos___symbol(val_t  self) {
   return variable0;
 }
 val_t compiling_global___TableEltClassColorPos___value(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_compiling_global, 669, LOCATE_compiling_global___TableEltClassColorPos___value};
+  struct trace_t trace = {NULL, NULL, 671, LOCATE_compiling_global___TableEltClassColorPos___value};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -2033,6 +2111,7 @@ val_t compiling_global___TableEltClassColorPos___value(val_t  self, val_t  param
   val_t variable10;
   val_t variable11;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_global;
   variable0 =  param0;
   variable1 = NEW_string___String___init(); /*new String*/
   variable2 = NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
@@ -2058,7 +2137,7 @@ val_t compiling_global___TableEltClassColorPos___value(val_t  self, val_t  param
   return variable1;
 }
 val_t compiling_global___TableEltClassColorPos___compile_to_c(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_compiling_global, 673, LOCATE_compiling_global___TableEltClassColorPos___compile_to_c};
+  struct trace_t trace = {NULL, NULL, 675, LOCATE_compiling_global___TableEltClassColorPos___compile_to_c};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -2082,6 +2161,7 @@ val_t compiling_global___TableEltClassColorPos___compile_to_c(val_t  self, val_t
   val_t variable20;
   val_t variable21;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_global;
   variable0 =  param0;
   variable1 =  param1;
   variable3 = ((compiling_global___CompilerVisitor___global_analysis_t)CALL( variable0 /*v*/,COLOR_compiling_global___CompilerVisitor___global_analysis))( variable0 /*v*/) /*CompilerVisitor::global_analysis*/;
@@ -2129,9 +2209,10 @@ val_t compiling_global___TableEltClassColorPos___compile_to_c(val_t  self, val_t
   return variable2;
 }
 void compiling_global___TableEltClassColorPos___init(val_t  self, val_t  param0, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_compiling_global, 680, LOCATE_compiling_global___TableEltClassColorPos___init};
+  struct trace_t trace = {NULL, NULL, 682, LOCATE_compiling_global___TableEltClassColorPos___init};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_global;
   variable0 =  param0;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_TableEltClassColorPos].i]) return;
   ((compiling_global___TableEltClassPos___init_t)CALL( self,COLOR_compiling_global___TableEltClassPos___init))( self,  param0, init_table /*YYY*/) /*TableEltClassPos::init*/;
@@ -2140,7 +2221,7 @@ void compiling_global___TableEltClassColorPos___init(val_t  self, val_t  param0,
   return;
 }
 val_t compiling_global___TableEltBaseAttrPos___symbol(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_compiling_global, 686, LOCATE_compiling_global___TableEltBaseAttrPos___symbol};
+  struct trace_t trace = {NULL, NULL, 688, LOCATE_compiling_global___TableEltBaseAttrPos___symbol};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -2153,6 +2234,7 @@ val_t compiling_global___TableEltBaseAttrPos___symbol(val_t  self) {
   val_t variable9;
   val_t variable10;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_global;
   variable0 = NEW_string___String___init(); /*new String*/
   variable1 = NEW_string___String___with_native(BOX_NativeString("COLOR_"), TAG_Int(6)); /*new String*/
   variable2 = variable1;
@@ -2179,7 +2261,7 @@ val_t compiling_global___TableEltBaseAttrPos___symbol(val_t  self) {
   return variable0;
 }
 val_t compiling_global___TableEltBaseAttrPos___value(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_compiling_global, 687, LOCATE_compiling_global___TableEltBaseAttrPos___value};
+  struct trace_t trace = {NULL, NULL, 689, LOCATE_compiling_global___TableEltBaseAttrPos___value};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -2193,6 +2275,7 @@ val_t compiling_global___TableEltBaseAttrPos___value(val_t  self, val_t  param0)
   val_t variable10;
   val_t variable11;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_global;
   variable0 =  param0;
   variable1 = NEW_string___String___init(); /*new String*/
   variable2 = NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
@@ -2218,7 +2301,7 @@ val_t compiling_global___TableEltBaseAttrPos___value(val_t  self, val_t  param0)
   return variable1;
 }
 val_t compiling_global___TableEltBaseAttrPos___compile_to_c(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_compiling_global, 692, LOCATE_compiling_global___TableEltBaseAttrPos___compile_to_c};
+  struct trace_t trace = {NULL, NULL, 694, LOCATE_compiling_global___TableEltBaseAttrPos___compile_to_c};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -2246,6 +2329,7 @@ val_t compiling_global___TableEltBaseAttrPos___compile_to_c(val_t  self, val_t
   val_t variable24;
   val_t variable25;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_global;
   variable0 =  param0;
   variable1 =  param1;
   variable3 = ((compiling_global___CompilerVisitor___global_analysis_t)CALL( variable0 /*v*/,COLOR_compiling_global___CompilerVisitor___global_analysis))( variable0 /*v*/) /*CompilerVisitor::global_analysis*/;
@@ -2303,9 +2387,10 @@ val_t compiling_global___TableEltBaseAttrPos___compile_to_c(val_t  self, val_t
   return variable2;
 }
 void compiling_global___TableEltBaseAttrPos___init(val_t  self, val_t  param0, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_compiling_global, 699, LOCATE_compiling_global___TableEltBaseAttrPos___init};
+  struct trace_t trace = {NULL, NULL, 701, LOCATE_compiling_global___TableEltBaseAttrPos___init};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_global;
   variable0 =  param0;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_TableEltBaseAttrPos].i]) return;
   ATTR_compiling_global___TableEltBaseAttrPos____local_class( self) /*TableEltBaseAttrPos::_local_class*/ =  variable0 /*c*/;
@@ -2314,9 +2399,10 @@ void compiling_global___TableEltBaseAttrPos___init(val_t  self, val_t  param0, i
   return;
 }
 val_t compiling_global___TableEltComposite___length(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_compiling_global, 710, LOCATE_compiling_global___TableEltComposite___length};
+  struct trace_t trace = {NULL, NULL, 712, LOCATE_compiling_global___TableEltComposite___length};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_global;
   variable0 = ATTR_compiling_global___TableEltComposite____table( self) /*TableEltComposite::_table*/;
   variable0 = ((array___AbstractArray___length_t)CALL(variable0,COLOR_abstract_collection___Collection___length))(variable0) /*AbstractArray::length*/;
   goto return_label83;
@@ -2325,11 +2411,12 @@ val_t compiling_global___TableEltComposite___length(val_t  self) {
   return variable0;
 }
 val_t compiling_global___TableEltComposite___is_related_to(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_compiling_global, 711, LOCATE_compiling_global___TableEltComposite___is_related_to};
+  struct trace_t trace = {NULL, NULL, 713, LOCATE_compiling_global___TableEltComposite___is_related_to};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_global;
   variable0 =  param0;
   variable1 = ((abstractmetamodel___MMLocalClass___cshe_t)CALL( variable0 /*c*/,COLOR_abstractmetamodel___MMLocalClass___cshe))( variable0 /*c*/) /*MMLocalClass::cshe*/;
   variable2 = ATTR_compiling_global___TableEltComposite____cc( self) /*TableEltComposite::_cc*/;
@@ -2341,12 +2428,13 @@ val_t compiling_global___TableEltComposite___is_related_to(val_t  self, val_t  p
   return variable1;
 }
 void compiling_global___TableEltComposite___add(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_compiling_global, 713, LOCATE_compiling_global___TableEltComposite___add};
+  struct trace_t trace = {NULL, NULL, 715, LOCATE_compiling_global___TableEltComposite___add};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   val_t variable3;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_global;
   variable0 =  param0;
   variable1 =  param1;
   variable2 = ATTR_compiling_global___TableEltComposite____offsets( self) /*TableEltComposite::_offsets*/;
@@ -2359,13 +2447,14 @@ void compiling_global___TableEltComposite___add(val_t  self, val_t  param0, val_
   return;
 }
 val_t compiling_global___TableEltComposite___item(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_compiling_global, 719, LOCATE_compiling_global___TableEltComposite___item};
+  struct trace_t trace = {NULL, NULL, 721, LOCATE_compiling_global___TableEltComposite___item};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   val_t variable3;
   val_t variable4;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_global;
   variable0 =  param0;
   variable1 = ATTR_compiling_global___TableEltComposite____table( self) /*TableEltComposite::_table*/;
   variable2 =  variable0 /*i*/;
@@ -2390,22 +2479,24 @@ val_t compiling_global___TableEltComposite___item(val_t  self, val_t  param0) {
   return variable1;
 }
 val_t compiling_global___TableEltComposite___compile_to_c(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_compiling_global, 721, LOCATE_compiling_global___TableEltComposite___compile_to_c};
+  struct trace_t trace = {NULL, NULL, 723, LOCATE_compiling_global___TableEltComposite___compile_to_c};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_global;
   variable0 =  param0;
   variable1 =  param1;
-  fprintf(stderr, "Aborted"); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_compiling_global___TableEltComposite___compile_to_c, LOCATE_compiling_global, 721); nit_exit(1);
+  fprintf(stderr, "Aborted"); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_compiling_global___TableEltComposite___compile_to_c, LOCATE_compiling_global, 723); nit_exit(1);
   tracehead = trace.prev;
   return variable2;
 }
 void compiling_global___TableEltComposite___init(val_t  self, val_t  param0, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_compiling_global, 723, LOCATE_compiling_global___TableEltComposite___init};
+  struct trace_t trace = {NULL, NULL, 725, LOCATE_compiling_global___TableEltComposite___init};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_global;
   variable0 =  param0;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_TableEltComposite].i]) return;
   ATTR_compiling_global___TableEltComposite____cc( self) /*TableEltComposite::_cc*/ =  variable0 /*cc*/;
@@ -2418,10 +2509,11 @@ void compiling_global___TableEltComposite___init(val_t  self, val_t  param0, int
   return;
 }
 val_t compiling_global___TableEltClassSelfId___is_related_to(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_compiling_global, 733, LOCATE_compiling_global___TableEltClassSelfId___is_related_to};
+  struct trace_t trace = {NULL, NULL, 735, LOCATE_compiling_global___TableEltClassSelfId___is_related_to};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_global;
   variable0 =  param0;
   variable1 =  TAG_Bool(true);
   goto return_label90;
@@ -2430,7 +2522,7 @@ val_t compiling_global___TableEltClassSelfId___is_related_to(val_t  self, val_t
   return variable1;
 }
 val_t compiling_global___TableEltClassSelfId___compile_to_c(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_compiling_global, 734, LOCATE_compiling_global___TableEltClassSelfId___compile_to_c};
+  struct trace_t trace = {NULL, NULL, 736, LOCATE_compiling_global___TableEltClassSelfId___compile_to_c};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -2446,6 +2538,7 @@ val_t compiling_global___TableEltClassSelfId___compile_to_c(val_t  self, val_t
   val_t variable12;
   val_t variable13;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_global;
   variable0 =  param0;
   variable1 =  param1;
   variable3 = ((compiling_global___CompilerVisitor___global_analysis_t)CALL( variable0 /*v*/,COLOR_compiling_global___CompilerVisitor___global_analysis))( variable0 /*v*/) /*CompilerVisitor::global_analysis*/;
@@ -2479,18 +2572,20 @@ val_t compiling_global___TableEltClassSelfId___compile_to_c(val_t  self, val_t
   return variable2;
 }
 void compiling_global___TableEltClassSelfId___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_compiling_global, 740, LOCATE_compiling_global___TableEltClassSelfId___init};
+  struct trace_t trace = {NULL, NULL, 742, LOCATE_compiling_global___TableEltClassSelfId___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_global;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_TableEltClassSelfId].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_TableEltClassSelfId].i] = 1;
   tracehead = trace.prev;
   return;
 }
 val_t compiling_global___TableEltVftPointer___is_related_to(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_compiling_global, 745, LOCATE_compiling_global___TableEltVftPointer___is_related_to};
+  struct trace_t trace = {NULL, NULL, 747, LOCATE_compiling_global___TableEltVftPointer___is_related_to};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_global;
   variable0 =  param0;
   variable1 =  TAG_Bool(true);
   goto return_label93;
@@ -2499,7 +2594,7 @@ val_t compiling_global___TableEltVftPointer___is_related_to(val_t  self, val_t
   return variable1;
 }
 val_t compiling_global___TableEltVftPointer___compile_to_c(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_compiling_global, 746, LOCATE_compiling_global___TableEltVftPointer___compile_to_c};
+  struct trace_t trace = {NULL, NULL, 748, LOCATE_compiling_global___TableEltVftPointer___compile_to_c};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -2511,6 +2606,7 @@ val_t compiling_global___TableEltVftPointer___compile_to_c(val_t  self, val_t  p
   val_t variable8;
   val_t variable9;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_global;
   variable0 =  param0;
   variable1 =  param1;
   variable3 = ((compiling_global___CompilerVisitor___global_analysis_t)CALL( variable0 /*v*/,COLOR_compiling_global___CompilerVisitor___global_analysis))( variable0 /*v*/) /*CompilerVisitor::global_analysis*/;
@@ -2533,19 +2629,21 @@ val_t compiling_global___TableEltVftPointer___compile_to_c(val_t  self, val_t  p
   return variable2;
 }
 void compiling_global___TableEltVftPointer___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_compiling_global, 752, LOCATE_compiling_global___TableEltVftPointer___init};
+  struct trace_t trace = {NULL, NULL, 754, LOCATE_compiling_global___TableEltVftPointer___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_global;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_TableEltVftPointer].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_TableEltVftPointer].i] = 1;
   tracehead = trace.prev;
   return;
 }
 val_t compiling_global___ClassSorter___compare(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_compiling_global, 759, LOCATE_compiling_global___ClassSorter___compare};
+  struct trace_t trace = {NULL, NULL, 761, LOCATE_compiling_global___ClassSorter___compare};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_global;
   variable0 =  param0;
   variable1 =  param1;
   variable2 = ((compiling_global___MMLocalClass___compare_t)CALL( variable0 /*a*/,COLOR_compiling_global___MMLocalClass___compare))( variable0 /*a*/,  variable1 /*b*/) /*MMLocalClass::compare*/;
@@ -2555,15 +2653,16 @@ val_t compiling_global___ClassSorter___compare(val_t  self, val_t  param0, val_t
   return variable2;
 }
 void compiling_global___ClassSorter___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_compiling_global, 760, LOCATE_compiling_global___ClassSorter___init};
+  struct trace_t trace = {NULL, NULL, 762, LOCATE_compiling_global___ClassSorter___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_global;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ClassSorter].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ClassSorter].i] = 1;
   tracehead = trace.prev;
   return;
 }
 val_t compiling_global___MMLocalClass___compare(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_compiling_global, 764, LOCATE_compiling_global___MMLocalClass___compare};
+  struct trace_t trace = {NULL, NULL, 766, LOCATE_compiling_global___MMLocalClass___compare};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -2571,6 +2670,7 @@ val_t compiling_global___MMLocalClass___compare(val_t  self, val_t  param0) {
   val_t variable4;
       val_t variable5;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_global;
   variable0 =  param0;
   variable1 =  self;
   variable2 = TAG_Bool(( variable1 /*a*/ ==  variable0 /*b*/) || (( variable1 /*a*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*a*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*a*/, variable0 /*b*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*a*/,COLOR_kernel___Object_____eqeq))( variable1 /*a*/,  variable0 /*b*/) /*Object::==*/)))));
@@ -2628,7 +2728,7 @@ val_t compiling_global___MMLocalClass___compare(val_t  self, val_t  param0) {
   return variable1;
 }
 void compiling_global___MMLocalClass___declare_tables_to_c(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_compiling_global, 786, LOCATE_compiling_global___MMLocalClass___declare_tables_to_c};
+  struct trace_t trace = {NULL, NULL, 788, LOCATE_compiling_global___MMLocalClass___declare_tables_to_c};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -2644,6 +2744,7 @@ void compiling_global___MMLocalClass___declare_tables_to_c(val_t  self, val_t  p
       val_t variable12;
       val_t variable13;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_global;
   variable0 =  param0;
   variable1 = NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
   ((compiling_base___CompilerVisitor___add_decl_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___add_decl))( variable0 /*v*/, variable1) /*CompilerVisitor::add_decl*/;
@@ -2735,7 +2836,7 @@ void compiling_global___MMLocalClass___declare_tables_to_c(val_t  self, val_t  p
   return;
 }
 void compiling_global___MMLocalClass___compile_tables_to_c(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_compiling_global, 803, LOCATE_compiling_global___MMLocalClass___compile_tables_to_c};
+  struct trace_t trace = {NULL, NULL, 805, LOCATE_compiling_global___MMLocalClass___compile_tables_to_c};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -2764,6 +2865,7 @@ void compiling_global___MMLocalClass___compile_tables_to_c(val_t  self, val_t  p
             val_t variable25;
       val_t variable26;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_global;
   variable0 =  param0;
   variable2 = ((compiling_global___CompilerVisitor___global_analysis_t)CALL( variable0 /*v*/,COLOR_compiling_global___CompilerVisitor___global_analysis))( variable0 /*v*/) /*CompilerVisitor::global_analysis*/;
   variable2 = ((compiling_global___GlobalAnalysis___compiled_classes_t)CALL(variable2,COLOR_compiling_global___GlobalAnalysis___compiled_classes))(variable2) /*GlobalAnalysis::compiled_classes*/;
@@ -2933,11 +3035,11 @@ void compiling_global___MMLocalClass___compile_tables_to_c(val_t  self, val_t  p
       variable12 = variable13;
       if (UNTAG_Bool(variable12)) { /*if*/
         variable12 = TAG_Bool(( variable10 /*p*/==NIT_NULL) || VAL_ISA( variable10 /*p*/, COLOR_MMSrcAttribute, ID_MMSrcAttribute)) /*cast MMSrcAttribute*/;
-        if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_compiling_global___MMLocalClass___compile_tables_to_c, LOCATE_compiling_global, 855); nit_exit(1);}
+        if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_compiling_global___MMLocalClass___compile_tables_to_c, LOCATE_compiling_global, 857); nit_exit(1);}
         variable13 = ((syntax_base___MMSrcAttribute___node_t)CALL( variable10 /*p*/,COLOR_syntax_base___MMLocalProperty___node))( variable10 /*p*/) /*MMSrcAttribute::node*/;
         variable12 = variable13;
         variable13 = TAG_Bool(( variable12 /*np*/==NIT_NULL) || VAL_ISA( variable12 /*np*/, COLOR_AAttrPropdef, ID_AAttrPropdef)) /*cast AAttrPropdef*/;
-        if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_compiling_global___MMLocalClass___compile_tables_to_c, LOCATE_compiling_global, 857); nit_exit(1);}
+        if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_compiling_global___MMLocalClass___compile_tables_to_c, LOCATE_compiling_global, 859); nit_exit(1);}
         variable14 = ((parser_nodes___AAttrPropdef___n_expr_t)CALL( variable12 /*np*/,COLOR_parser_nodes___AAttrPropdef___n_expr))( variable12 /*np*/) /*AAttrPropdef::n_expr*/;
         variable13 = variable14;
         variable14 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable13 /*ne*/ ==  NIT_NULL /*null*/) || (( variable13 /*ne*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable13 /*ne*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable13 /*ne*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable13 /*ne*/,COLOR_kernel___Object_____eqeq))( variable13 /*ne*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
index 9b0e29b..b9434a6 100644 (file)
@@ -1,6 +1,6 @@
 /* This C header file is generated by NIT to compile modules and programs that requires compiling_global. */
-#ifndef compiling_global_2_sep
-#define compiling_global_2_sep
+#ifndef compiling_global_sep
+#define compiling_global_sep
 #include "compiling_methods._sep.h"
 #include <nit_common.h>
 
@@ -39,7 +39,7 @@ extern const classtable_elt_t VFT_TableEltClassSelfId[];
 extern const classtable_elt_t VFT_TableEltVftPointer[];
 
 extern const classtable_elt_t VFT_ClassSorter[];
-#define LOCATE_compiling_global "./compiling//compiling_global.nit"
+extern const char *LOCATE_compiling_global;
 extern const int SFT_compiling_global[];
 #define ID_ColorContext SFT_compiling_global[0]
 #define COLOR_ColorContext SFT_compiling_global[1]
index ae76e7e..5a29a51 100644 (file)
@@ -1,11 +1,12 @@
 /* This C file is generated by NIT to compile module compiling_methods. */
 #include "compiling_methods._sep.h"
 void compiling_methods___CompilerVisitor___compile_stmt(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_compiling_methods, 24, LOCATE_compiling_methods___CompilerVisitor___compile_stmt};
+  struct trace_t trace = {NULL, NULL, 24, LOCATE_compiling_methods___CompilerVisitor___compile_stmt};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_methods;
   variable0 =  param0;
   ((compiling_methods___PExpr___prepare_compile_stmt_t)CALL( variable0 /*n*/,COLOR_compiling_methods___PExpr___prepare_compile_stmt))( variable0 /*n*/,  self) /*PExpr::prepare_compile_stmt*/;
   variable2 = ATTR_compiling_methods___CompilerVisitor____variable_index( self) /*CompilerVisitor::_variable_index*/;
@@ -16,13 +17,14 @@ void compiling_methods___CompilerVisitor___compile_stmt(val_t  self, val_t  para
   return;
 }
 val_t compiling_methods___CompilerVisitor___compile_expr(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_compiling_methods, 33, LOCATE_compiling_methods___CompilerVisitor___compile_expr};
+  struct trace_t trace = {NULL, NULL, 33, LOCATE_compiling_methods___CompilerVisitor___compile_expr};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   val_t variable3;
   val_t variable4;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_methods;
   variable0 =  param0;
   variable2 = ATTR_compiling_methods___CompilerVisitor____variable_index( self) /*CompilerVisitor::_variable_index*/;
   variable1 = variable2;
@@ -53,11 +55,12 @@ val_t compiling_methods___CompilerVisitor___compile_expr(val_t  self, val_t  par
   return variable1;
 }
 val_t compiling_methods___CompilerVisitor___ensure_var(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_compiling_methods, 50, LOCATE_compiling_methods___CompilerVisitor___ensure_var};
+  struct trace_t trace = {NULL, NULL, 50, LOCATE_compiling_methods___CompilerVisitor___ensure_var};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_methods;
   variable0 =  param0;
   variable1 = ((string___String___substring_t)CALL( variable0 /*s*/,COLOR_string___String___substring))( variable0 /*s*/,  TAG_Int(0),  TAG_Int(3)) /*String::substring*/;
   variable2 = NEW_string___String___with_native(BOX_NativeString("variable"), TAG_Int(8)); /*new String*/
@@ -76,7 +79,7 @@ val_t compiling_methods___CompilerVisitor___ensure_var(val_t  self, val_t  param
   return variable1;
 }
 void compiling_methods___CompilerVisitor___add_assignment(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_compiling_methods, 61, LOCATE_compiling_methods___CompilerVisitor___add_assignment};
+  struct trace_t trace = {NULL, NULL, 61, LOCATE_compiling_methods___CompilerVisitor___add_assignment};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -89,6 +92,7 @@ void compiling_methods___CompilerVisitor___add_assignment(val_t  self, val_t  pa
     val_t variable9;
     val_t variable10;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_methods;
   variable0 =  param0;
   variable1 =  param1;
   variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*v*/ ==  variable1 /*s*/) || (( variable0 /*v*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*v*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*v*/, variable1 /*s*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*v*/,COLOR_kernel___Object_____eqeq))( variable0 /*v*/,  variable1 /*s*/) /*Object::==*/)))))));
@@ -113,7 +117,7 @@ void compiling_methods___CompilerVisitor___add_assignment(val_t  self, val_t  pa
   return;
 }
 val_t compiling_methods___CompilerVisitor___variable(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_compiling_methods, 69, LOCATE_compiling_methods___CompilerVisitor___variable};
+  struct trace_t trace = {NULL, NULL, 69, LOCATE_compiling_methods___CompilerVisitor___variable};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -122,6 +126,7 @@ val_t compiling_methods___CompilerVisitor___variable(val_t  self, val_t  param0)
   val_t variable5;
   val_t variable6;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_methods;
   variable0 =  param0;
   variable1 = NEW_string___String___init(); /*new String*/
   variable2 = NEW_string___String___with_native(BOX_NativeString("variable"), TAG_Int(8)); /*new String*/
@@ -139,7 +144,7 @@ val_t compiling_methods___CompilerVisitor___variable(val_t  self, val_t  param0)
   return variable1;
 }
 val_t compiling_methods___CompilerVisitor___get_var(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_compiling_methods, 81, LOCATE_compiling_methods___CompilerVisitor___get_var};
+  struct trace_t trace = {NULL, NULL, 81, LOCATE_compiling_methods___CompilerVisitor___get_var};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -148,6 +153,7 @@ val_t compiling_methods___CompilerVisitor___get_var(val_t  self) {
     val_t variable5;
     val_t variable6;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_methods;
   variable1 = ATTR_compiling_methods___CompilerVisitor____variable_index( self) /*CompilerVisitor::_variable_index*/;
   variable1 = ((compiling_methods___CompilerVisitor___variable_t)CALL( self,COLOR_compiling_methods___CompilerVisitor___variable))( self, variable1) /*CompilerVisitor::variable*/;
   variable0 = variable1;
@@ -178,10 +184,11 @@ val_t compiling_methods___CompilerVisitor___get_var(val_t  self) {
   return variable0;
 }
 void compiling_methods___CompilerVisitor___free_var(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_compiling_methods, 93, LOCATE_compiling_methods___CompilerVisitor___free_var};
+  struct trace_t trace = {NULL, NULL, 93, LOCATE_compiling_methods___CompilerVisitor___free_var};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_methods;
   variable0 =  param0;
   variable1 = ATTR_compiling_methods___CompilerVisitor____variable_index( self) /*CompilerVisitor::_variable_index*/;
   variable1 = TAG_Int(UNTAG_Int(variable1)-UNTAG_Int( TAG_Int(1)));
@@ -196,8 +203,9 @@ void compiling_methods___CompilerVisitor___free_var(val_t  self, val_t  param0)
   return;
 }
 void compiling_methods___CompilerVisitor___clear(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_compiling_methods, 102, LOCATE_compiling_methods___CompilerVisitor___clear};
+  struct trace_t trace = {NULL, NULL, 102, LOCATE_compiling_methods___CompilerVisitor___clear};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_methods;
   ATTR_compiling_methods___CompilerVisitor____has_return( self) /*CompilerVisitor::_has_return*/ =  TAG_Bool(false);
   ((compiling_base___CompilerVisitor___indent_level__eq_t)CALL( self,COLOR_compiling_base___CompilerVisitor___indent_level__eq))( self,  TAG_Int(0)) /*CompilerVisitor::indent_level=*/;
   ATTR_compiling_methods___CompilerVisitor____variable_index( self) /*CompilerVisitor::_variable_index*/ =  TAG_Int(0);
@@ -206,104 +214,119 @@ void compiling_methods___CompilerVisitor___clear(val_t  self) {
   return;
 }
 val_t compiling_methods___CompilerVisitor___varnames(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_compiling_methods, 111, LOCATE_compiling_methods___CompilerVisitor___varnames};
+  struct trace_t trace = {NULL, NULL, 111, LOCATE_compiling_methods___CompilerVisitor___varnames};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_methods;
   tracehead = trace.prev;
   return ATTR_compiling_methods___CompilerVisitor____varnames( self) /*CompilerVisitor::_varnames*/;
 }
 val_t compiling_methods___CompilerVisitor___has_return(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_compiling_methods, 114, LOCATE_compiling_methods___CompilerVisitor___has_return};
+  struct trace_t trace = {NULL, NULL, 114, LOCATE_compiling_methods___CompilerVisitor___has_return};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_methods;
   tracehead = trace.prev;
   return ATTR_compiling_methods___CompilerVisitor____has_return( self) /*CompilerVisitor::_has_return*/;
 }
 void compiling_methods___CompilerVisitor___has_return__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_compiling_methods, 114, LOCATE_compiling_methods___CompilerVisitor___has_return__eq};
+  struct trace_t trace = {NULL, NULL, 114, LOCATE_compiling_methods___CompilerVisitor___has_return__eq};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_methods;
   ATTR_compiling_methods___CompilerVisitor____has_return( self) /*CompilerVisitor::_has_return*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t compiling_methods___CompilerVisitor___method_params(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_compiling_methods, 117, LOCATE_compiling_methods___CompilerVisitor___method_params};
+  struct trace_t trace = {NULL, NULL, 117, LOCATE_compiling_methods___CompilerVisitor___method_params};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_methods;
   tracehead = trace.prev;
   return ATTR_compiling_methods___CompilerVisitor____method_params( self) /*CompilerVisitor::_method_params*/;
 }
 void compiling_methods___CompilerVisitor___method_params__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_compiling_methods, 117, LOCATE_compiling_methods___CompilerVisitor___method_params__eq};
+  struct trace_t trace = {NULL, NULL, 117, LOCATE_compiling_methods___CompilerVisitor___method_params__eq};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_methods;
   ATTR_compiling_methods___CompilerVisitor____method_params( self) /*CompilerVisitor::_method_params*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t compiling_methods___CompilerVisitor___method(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_compiling_methods, 120, LOCATE_compiling_methods___CompilerVisitor___method};
+  struct trace_t trace = {NULL, NULL, 120, LOCATE_compiling_methods___CompilerVisitor___method};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_methods;
   tracehead = trace.prev;
   return ATTR_compiling_methods___CompilerVisitor____method( self) /*CompilerVisitor::_method*/;
 }
 void compiling_methods___CompilerVisitor___method__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_compiling_methods, 120, LOCATE_compiling_methods___CompilerVisitor___method__eq};
+  struct trace_t trace = {NULL, NULL, 120, LOCATE_compiling_methods___CompilerVisitor___method__eq};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_methods;
   ATTR_compiling_methods___CompilerVisitor____method( self) /*CompilerVisitor::_method*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t compiling_methods___CompilerVisitor___return_label(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_compiling_methods, 123, LOCATE_compiling_methods___CompilerVisitor___return_label};
+  struct trace_t trace = {NULL, NULL, 123, LOCATE_compiling_methods___CompilerVisitor___return_label};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_methods;
   tracehead = trace.prev;
   return ATTR_compiling_methods___CompilerVisitor____return_label( self) /*CompilerVisitor::_return_label*/;
 }
 void compiling_methods___CompilerVisitor___return_label__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_compiling_methods, 123, LOCATE_compiling_methods___CompilerVisitor___return_label__eq};
+  struct trace_t trace = {NULL, NULL, 123, LOCATE_compiling_methods___CompilerVisitor___return_label__eq};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_methods;
   ATTR_compiling_methods___CompilerVisitor____return_label( self) /*CompilerVisitor::_return_label*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t compiling_methods___CompilerVisitor___break_label(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_compiling_methods, 126, LOCATE_compiling_methods___CompilerVisitor___break_label};
+  struct trace_t trace = {NULL, NULL, 126, LOCATE_compiling_methods___CompilerVisitor___break_label};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_methods;
   tracehead = trace.prev;
   return ATTR_compiling_methods___CompilerVisitor____break_label( self) /*CompilerVisitor::_break_label*/;
 }
 void compiling_methods___CompilerVisitor___break_label__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_compiling_methods, 126, LOCATE_compiling_methods___CompilerVisitor___break_label__eq};
+  struct trace_t trace = {NULL, NULL, 126, LOCATE_compiling_methods___CompilerVisitor___break_label__eq};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_methods;
   ATTR_compiling_methods___CompilerVisitor____break_label( self) /*CompilerVisitor::_break_label*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t compiling_methods___CompilerVisitor___continue_label(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_compiling_methods, 129, LOCATE_compiling_methods___CompilerVisitor___continue_label};
+  struct trace_t trace = {NULL, NULL, 129, LOCATE_compiling_methods___CompilerVisitor___continue_label};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_methods;
   tracehead = trace.prev;
   return ATTR_compiling_methods___CompilerVisitor____continue_label( self) /*CompilerVisitor::_continue_label*/;
 }
 void compiling_methods___CompilerVisitor___continue_label__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_compiling_methods, 129, LOCATE_compiling_methods___CompilerVisitor___continue_label__eq};
+  struct trace_t trace = {NULL, NULL, 129, LOCATE_compiling_methods___CompilerVisitor___continue_label__eq};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_methods;
   ATTR_compiling_methods___CompilerVisitor____continue_label( self) /*CompilerVisitor::_continue_label*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t compiling_methods___CompilerVisitor___return_value(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_compiling_methods, 132, LOCATE_compiling_methods___CompilerVisitor___return_value};
+  struct trace_t trace = {NULL, NULL, 132, LOCATE_compiling_methods___CompilerVisitor___return_value};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_methods;
   tracehead = trace.prev;
   return ATTR_compiling_methods___CompilerVisitor____return_value( self) /*CompilerVisitor::_return_value*/;
 }
 void compiling_methods___CompilerVisitor___return_value__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_compiling_methods, 132, LOCATE_compiling_methods___CompilerVisitor___return_value__eq};
+  struct trace_t trace = {NULL, NULL, 132, LOCATE_compiling_methods___CompilerVisitor___return_value__eq};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_methods;
   ATTR_compiling_methods___CompilerVisitor____return_value( self) /*CompilerVisitor::_return_value*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t compiling_methods___CompilerVisitor___printf_locate_error(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_compiling_methods, 135, LOCATE_compiling_methods___CompilerVisitor___printf_locate_error};
+  struct trace_t trace = {NULL, NULL, 135, LOCATE_compiling_methods___CompilerVisitor___printf_locate_error};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -318,6 +341,7 @@ val_t compiling_methods___CompilerVisitor___printf_locate_error(val_t  self, val
   val_t variable11;
   val_t variable12;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_methods;
   variable0 =  param0;
   variable2 = NEW_string___String___with_native(BOX_NativeString("fprintf(stderr, \""), TAG_Int(17)); /*new String*/
   variable1 = variable2;
@@ -372,9 +396,10 @@ val_t compiling_methods___CompilerVisitor___printf_locate_error(val_t  self, val
   return variable1;
 }
 void compiling_methods___CompilerVisitor___init(val_t  self, val_t  param0, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_compiling_methods, 146, LOCATE_compiling_methods___CompilerVisitor___init};
+  struct trace_t trace = {NULL, NULL, 146, LOCATE_compiling_methods___CompilerVisitor___init};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_methods;
   variable0 =  param0;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_CompilerVisitor].i]) return;
   ((compiling_methods___CompilerVisitor___init_t)CALL( self,COLOR_SUPER_compiling_methods___CompilerVisitor___init))( self,  param0, init_table) /*super CompilerVisitor::init*/;
@@ -384,7 +409,7 @@ void compiling_methods___CompilerVisitor___init(val_t  self, val_t  param0, int*
   return;
 }
 void compiling_methods___CompilerVisitor___invoke_super_init_calls_after(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_compiling_methods, 152, LOCATE_compiling_methods___CompilerVisitor___invoke_super_init_calls_after};
+  struct trace_t trace = {NULL, NULL, 152, LOCATE_compiling_methods___CompilerVisitor___invoke_super_init_calls_after};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -399,6 +424,7 @@ void compiling_methods___CompilerVisitor___invoke_super_init_calls_after(val_t
       val_t variable11;
       val_t variable12;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_methods;
   variable0 =  param0;
   variable2 = ((compiling_methods___CompilerVisitor___method_t)CALL( self,COLOR_compiling_methods___CompilerVisitor___method))( self) /*CompilerVisitor::method*/;
   variable2 = ((syntax_base___MMLocalProperty___node_t)CALL(variable2,COLOR_syntax_base___MMLocalProperty___node))(variable2) /*MMLocalProperty::node*/;
@@ -554,7 +580,7 @@ void compiling_methods___CompilerVisitor___invoke_super_init_calls_after(val_t
   return;
 }
 val_t compiling_methods___MMMethod___compile_call(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_compiling_methods, 204, LOCATE_compiling_methods___MMMethod___compile_call};
+  struct trace_t trace = {NULL, NULL, 204, LOCATE_compiling_methods___MMMethod___compile_call};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -590,6 +616,7 @@ val_t compiling_methods___MMMethod___compile_call(val_t  self, val_t  param0, va
       val_t variable27;
       val_t variable28;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_methods;
   variable0 =  param0;
   variable1 =  param1;
   variable2 =  self;
@@ -889,7 +916,7 @@ val_t compiling_methods___MMMethod___compile_call(val_t  self, val_t  param0, va
   return variable2;
 }
 val_t compiling_methods___MMMethod___compile_constructor_call(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_compiling_methods, 248, LOCATE_compiling_methods___MMMethod___compile_constructor_call};
+  struct trace_t trace = {NULL, NULL, 248, LOCATE_compiling_methods___MMMethod___compile_constructor_call};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -912,6 +939,7 @@ val_t compiling_methods___MMMethod___compile_constructor_call(val_t  self, val_t
   val_t variable19;
   val_t variable20;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_methods;
   variable0 =  param0;
   variable1 =  param1;
   variable3 = ((compiling_methods___CompilerVisitor___get_var_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___get_var))( variable0 /*v*/) /*CompilerVisitor::get_var*/;
@@ -957,7 +985,7 @@ val_t compiling_methods___MMMethod___compile_constructor_call(val_t  self, val_t
   return variable2;
 }
 val_t compiling_methods___MMMethod___compile_super_call(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_compiling_methods, 257, LOCATE_compiling_methods___MMMethod___compile_super_call};
+  struct trace_t trace = {NULL, NULL, 257, LOCATE_compiling_methods___MMMethod___compile_super_call};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -981,6 +1009,7 @@ val_t compiling_methods___MMMethod___compile_super_call(val_t  self, val_t  para
   val_t variable20;
   val_t variable21;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_methods;
   variable0 =  param0;
   variable1 =  param1;
   variable3 = NEW_string___String___init(); /*new String*/
@@ -1057,7 +1086,7 @@ val_t compiling_methods___MMMethod___compile_super_call(val_t  self, val_t  para
   return variable2;
 }
 val_t compiling_methods___MMAttribute___compile_access(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_compiling_methods, 267, LOCATE_compiling_methods___MMAttribute___compile_access};
+  struct trace_t trace = {NULL, NULL, 267, LOCATE_compiling_methods___MMAttribute___compile_access};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -1079,6 +1108,7 @@ val_t compiling_methods___MMAttribute___compile_access(val_t  self, val_t  param
   val_t variable18;
   val_t variable19;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_methods;
   variable0 =  param0;
   variable1 =  param1;
   variable2 = NEW_string___String___init(); /*new String*/
@@ -1117,15 +1147,16 @@ val_t compiling_methods___MMAttribute___compile_access(val_t  self, val_t  param
   return variable2;
 }
 void compiling_methods___MMLocalProperty___compile_property_to_c(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_compiling_methods, 276, LOCATE_compiling_methods___MMLocalProperty___compile_property_to_c};
+  struct trace_t trace = {NULL, NULL, 276, LOCATE_compiling_methods___MMLocalProperty___compile_property_to_c};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_methods;
   variable0 =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t compiling_methods___MMSrcMethod___decl_csignature(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_compiling_methods, 281, LOCATE_compiling_methods___MMSrcMethod___decl_csignature};
+  struct trace_t trace = {NULL, NULL, 281, LOCATE_compiling_methods___MMSrcMethod___decl_csignature};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -1147,6 +1178,7 @@ val_t compiling_methods___MMSrcMethod___decl_csignature(val_t  self, val_t  para
   val_t variable18;
   val_t variable19;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_methods;
   variable0 =  param0;
   variable1 =  param1;
   variable3 = NEW_array___Array___init(); /*new Array[E]*/
@@ -1318,7 +1350,7 @@ val_t compiling_methods___MMSrcMethod___decl_csignature(val_t  self, val_t  para
   return variable2;
 }
 void compiling_methods___MMSrcMethod___compile_property_to_c(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_compiling_methods, 314, LOCATE_compiling_methods___MMSrcMethod___compile_property_to_c};
+  struct trace_t trace = {NULL, NULL, 314, LOCATE_compiling_methods___MMSrcMethod___compile_property_to_c};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -1334,11 +1366,8 @@ void compiling_methods___MMSrcMethod___compile_property_to_c(val_t  self, val_t
   val_t variable12;
   val_t variable13;
   val_t variable14;
-  val_t variable15;
-  val_t variable16;
-  val_t variable17;
-  val_t variable18;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_methods;
   variable0 =  param0;
   ((compiling_methods___CompilerVisitor___clear_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___clear))( variable0 /*v*/) /*CompilerVisitor::clear*/;
   variable2 = NEW_array___Array___init(); /*new Array[E]*/
@@ -1404,34 +1433,39 @@ void compiling_methods___MMSrcMethod___compile_property_to_c(val_t  self, val_t
   variable4 = NEW_compiling_base___CContext___init(); /*new CContext*/
   ((compiling_base___CompilerVisitor___ctx__eq_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___ctx__eq))( variable0 /*v*/, variable4) /*CompilerVisitor::ctx=*/;
   variable4 = NEW_string___String___init(); /*new String*/
-  variable5 = NEW_string___String___with_native(BOX_NativeString("struct trace_t trace = {NULL, LOCATE_"), TAG_Int(37)); /*new String*/
+  variable5 = NEW_string___String___with_native(BOX_NativeString("struct trace_t trace = {NULL, NULL, "), TAG_Int(36)); /*new String*/
   variable6 = variable5;
   ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable6) /*String::append*/;
-  variable7 = ((abstractmetamodel___MMLocalProperty___module_t)CALL( self,COLOR_abstractmetamodel___MMLocalProperty___module))( self) /*MMLocalProperty::module*/;
-  variable7 = ((abstractmetamodel___MMModule___name_t)CALL(variable7,COLOR_abstractmetamodel___MMModule___name))(variable7) /*MMModule::name*/;
+  variable7 = ((syntax_base___MMLocalProperty___node_t)CALL( self,COLOR_syntax_base___MMLocalProperty___node))( self) /*MMLocalProperty::node*/;
+  variable7 = ((parser_prod___PNode___line_number_t)CALL(variable7,COLOR_parser_prod___PNode___line_number))(variable7) /*PNode::line_number*/;
   variable8 = variable7;
   variable8 = ((string___String___to_s_t)CALL(variable8,COLOR_string___Object___to_s))(variable8) /*String::to_s*/;
   ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable8) /*String::append*/;
-  variable9 = NEW_string___String___with_native(BOX_NativeString(", "), TAG_Int(2)); /*new String*/
+  variable9 = NEW_string___String___with_native(BOX_NativeString(", LOCATE_"), TAG_Int(9)); /*new String*/
   variable10 = variable9;
   ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable10) /*String::append*/;
-  variable11 = ((syntax_base___MMLocalProperty___node_t)CALL( self,COLOR_syntax_base___MMLocalProperty___node))( self) /*MMLocalProperty::node*/;
-  variable11 = ((parser_prod___PNode___line_number_t)CALL(variable11,COLOR_parser_prod___PNode___line_number))(variable11) /*PNode::line_number*/;
+  variable11 = ((compiling_base___MMLocalProperty___cname_t)CALL( self,COLOR_compiling_base___MMLocalProperty___cname))( self) /*MMLocalProperty::cname*/;
   variable12 = variable11;
-  variable12 = ((string___String___to_s_t)CALL(variable12,COLOR_string___Object___to_s))(variable12) /*String::to_s*/;
   ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable12) /*String::append*/;
-  variable13 = NEW_string___String___with_native(BOX_NativeString(", LOCATE_"), TAG_Int(9)); /*new String*/
+  variable13 = NEW_string___String___with_native(BOX_NativeString("};"), TAG_Int(2)); /*new String*/
   variable14 = variable13;
   ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable14) /*String::append*/;
-  variable15 = ((compiling_base___MMLocalProperty___cname_t)CALL( self,COLOR_compiling_base___MMLocalProperty___cname))( self) /*MMLocalProperty::cname*/;
-  variable16 = variable15;
-  ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable16) /*String::append*/;
-  variable17 = NEW_string___String___with_native(BOX_NativeString("};"), TAG_Int(2)); /*new String*/
-  variable18 = variable17;
-  ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable18) /*String::append*/;
   ((compiling_base___CompilerVisitor___add_decl_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___add_decl))( variable0 /*v*/, variable4) /*CompilerVisitor::add_decl*/;
   variable4 = NEW_string___String___with_native(BOX_NativeString("trace.prev = tracehead; tracehead = &trace;"), TAG_Int(43)); /*new String*/
   ((compiling_base___CompilerVisitor___add_instr_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___add_instr))( variable0 /*v*/, variable4) /*CompilerVisitor::add_instr*/;
+  variable4 = NEW_string___String___init(); /*new String*/
+  variable5 = NEW_string___String___with_native(BOX_NativeString("trace.file = LOCATE_"), TAG_Int(20)); /*new String*/
+  variable6 = variable5;
+  ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable6) /*String::append*/;
+  variable7 = ((abstractmetamodel___MMLocalProperty___module_t)CALL( self,COLOR_abstractmetamodel___MMLocalProperty___module))( self) /*MMLocalProperty::module*/;
+  variable7 = ((abstractmetamodel___MMModule___name_t)CALL(variable7,COLOR_abstractmetamodel___MMModule___name))(variable7) /*MMModule::name*/;
+  variable8 = variable7;
+  variable8 = ((string___String___to_s_t)CALL(variable8,COLOR_string___Object___to_s))(variable8) /*String::to_s*/;
+  ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable8) /*String::append*/;
+  variable9 = NEW_string___String___with_native(BOX_NativeString(";"), TAG_Int(1)); /*new String*/
+  variable10 = variable9;
+  ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable10) /*String::append*/;
+  ((compiling_base___CompilerVisitor___add_instr_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___add_instr))( variable0 /*v*/, variable4) /*CompilerVisitor::add_instr*/;
   variable5 = ((compiling_methods___MMSrcMethod___do_compile_inside_t)CALL( self,COLOR_compiling_methods___MMSrcMethod___do_compile_inside))( self,  variable0 /*v*/,  variable1 /*args*/) /*MMSrcMethod::do_compile_inside*/;
   variable4 = variable5;
   variable5 = NEW_string___String___with_native(BOX_NativeString("tracehead = trace.prev;"), TAG_Int(23)); /*new String*/
@@ -1462,16 +1496,17 @@ void compiling_methods___MMSrcMethod___compile_property_to_c(val_t  self, val_t
   return;
 }
 val_t compiling_methods___MMSrcMethod___do_compile_inside(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_compiling_methods, 346, LOCATE_compiling_methods___MMSrcMethod___do_compile_inside};
+  struct trace_t trace = {NULL, NULL, 347, LOCATE_compiling_methods___MMSrcMethod___do_compile_inside};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_methods;
   fprintf(stderr, "Deferred method %s called");
-  fprintf(stderr, " in %s (%s:%d)\n", LOCATE_compiling_methods___MMSrcMethod___compile_property_to_c, LOCATE_compiling_methods, 346);
+  fprintf(stderr, " in %s (%s:%d)\n", LOCATE_compiling_methods___MMSrcMethod___compile_property_to_c, LOCATE_compiling_methods, 347);
   nit_exit(1);
   tracehead = trace.prev;
   return NIT_NULL;
 }
 val_t compiling_methods___MMReadImplementationMethod___do_compile_inside(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_compiling_methods, 351, LOCATE_compiling_methods___MMReadImplementationMethod___do_compile_inside};
+  struct trace_t trace = {NULL, NULL, 352, LOCATE_compiling_methods___MMReadImplementationMethod___do_compile_inside};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -1479,6 +1514,7 @@ val_t compiling_methods___MMReadImplementationMethod___do_compile_inside(val_t
   val_t variable4;
   val_t variable5;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_methods;
   variable0 =  param0;
   variable1 =  param1;
   variable2 = ((syntax_base___MMAttrImplementationMethod___node_t)CALL( self,COLOR_syntax_base___MMLocalProperty___node))( self) /*MMAttrImplementationMethod::node*/;
@@ -1504,7 +1540,7 @@ val_t compiling_methods___MMReadImplementationMethod___do_compile_inside(val_t
   return variable2;
 }
 val_t compiling_methods___MMWriteImplementationMethod___do_compile_inside(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_compiling_methods, 358, LOCATE_compiling_methods___MMWriteImplementationMethod___do_compile_inside};
+  struct trace_t trace = {NULL, NULL, 359, LOCATE_compiling_methods___MMWriteImplementationMethod___do_compile_inside};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -1512,6 +1548,7 @@ val_t compiling_methods___MMWriteImplementationMethod___do_compile_inside(val_t
   val_t variable4;
   val_t variable5;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_methods;
   variable0 =  param0;
   variable1 =  param1;
   variable2 = ((syntax_base___MMAttrImplementationMethod___node_t)CALL( self,COLOR_syntax_base___MMLocalProperty___node))( self) /*MMAttrImplementationMethod::node*/;
@@ -1553,11 +1590,12 @@ val_t compiling_methods___MMWriteImplementationMethod___do_compile_inside(val_t
   return variable2;
 }
 val_t compiling_methods___MMMethSrcMethod___do_compile_inside(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_compiling_methods, 366, LOCATE_compiling_methods___MMMethSrcMethod___do_compile_inside};
+  struct trace_t trace = {NULL, NULL, 367, LOCATE_compiling_methods___MMMethSrcMethod___do_compile_inside};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_methods;
   variable0 =  param0;
   variable1 =  param1;
   variable2 = ((syntax_base___MMMethSrcMethod___node_t)CALL( self,COLOR_syntax_base___MMLocalProperty___node))( self) /*MMMethSrcMethod::node*/;
@@ -1568,7 +1606,7 @@ val_t compiling_methods___MMMethSrcMethod___do_compile_inside(val_t  self, val_t
   return variable2;
 }
 val_t compiling_methods___MMType___compile_cast(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_compiling_methods, 373, LOCATE_compiling_methods___MMType___compile_cast};
+  struct trace_t trace = {NULL, NULL, 374, LOCATE_compiling_methods___MMType___compile_cast};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -1593,6 +1631,7 @@ val_t compiling_methods___MMType___compile_cast(val_t  self, val_t  param0, val_
   val_t variable21;
   val_t variable22;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_methods;
   variable0 =  param0;
   variable1 =  param1;
   variable3 = ((static_type___MMType___local_class_t)CALL( self,COLOR_static_type___MMType___local_class))( self) /*MMType::local_class*/;
@@ -1637,7 +1676,7 @@ val_t compiling_methods___MMType___compile_cast(val_t  self, val_t  param0, val_
   return variable2;
 }
 void compiling_methods___MMType___compile_type_check(val_t  self, val_t  param0, val_t  param1, val_t  param2) {
-  struct trace_t trace = {NULL, LOCATE_compiling_methods, 382, LOCATE_compiling_methods___MMType___compile_type_check};
+  struct trace_t trace = {NULL, NULL, 383, LOCATE_compiling_methods___MMType___compile_type_check};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -1667,6 +1706,7 @@ void compiling_methods___MMType___compile_type_check(val_t  self, val_t  param0,
   val_t variable26;
   val_t variable27;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_methods;
   variable0 =  param0;
   variable1 =  param1;
   variable2 =  param2;
@@ -1716,16 +1756,17 @@ void compiling_methods___MMType___compile_type_check(val_t  self, val_t  param0,
   return;
 }
 val_t compiling_methods___AMethPropdef___do_compile_inside(val_t  self, val_t  param0, val_t  param1, val_t  param2) {
-  struct trace_t trace = {NULL, LOCATE_compiling_methods, 394, LOCATE_compiling_methods___AMethPropdef___do_compile_inside};
+  struct trace_t trace = {NULL, NULL, 395, LOCATE_compiling_methods___AMethPropdef___do_compile_inside};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_methods;
   fprintf(stderr, "Deferred method %s called");
-  fprintf(stderr, " in %s (%s:%d)\n", LOCATE_compiling_methods___MMType___compile_type_check, LOCATE_compiling_methods, 394);
+  fprintf(stderr, " in %s (%s:%d)\n", LOCATE_compiling_methods___MMType___compile_type_check, LOCATE_compiling_methods, 395);
   nit_exit(1);
   tracehead = trace.prev;
   return NIT_NULL;
 }
 val_t compiling_methods___AConcreteMethPropdef___do_compile_inside(val_t  self, val_t  param0, val_t  param1, val_t  param2) {
-  struct trace_t trace = {NULL, LOCATE_compiling_methods, 399, LOCATE_compiling_methods___AConcreteMethPropdef___do_compile_inside};
+  struct trace_t trace = {NULL, NULL, 400, LOCATE_compiling_methods___AConcreteMethPropdef___do_compile_inside};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -1748,6 +1789,7 @@ val_t compiling_methods___AConcreteMethPropdef___do_compile_inside(val_t  self,
         val_t variable19;
     val_t variable20;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_methods;
   variable0 =  param0;
   variable1 =  param1;
   variable2 =  param2;
@@ -1764,7 +1806,7 @@ val_t compiling_methods___AConcreteMethPropdef___do_compile_inside(val_t  self,
     variable6 = ((parser_nodes___AMethPropdef___n_signature_t)CALL( self,COLOR_parser_nodes___AMethPropdef___n_signature))( self) /*AMethPropdef::n_signature*/;
     variable5 = variable6;
     variable6 = TAG_Bool(( variable5 /*sig*/==NIT_NULL) || VAL_ISA( variable5 /*sig*/, COLOR_ASignature, ID_ASignature)) /*cast ASignature*/;
-    if (!UNTAG_Bool(variable6)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_compiling_methods___AConcreteMethPropdef___do_compile_inside, LOCATE_compiling_methods, 405); nit_exit(1);}
+    if (!UNTAG_Bool(variable6)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_compiling_methods___AConcreteMethPropdef___do_compile_inside, LOCATE_compiling_methods, 406); nit_exit(1);}
     variable6 = ((parser_nodes___ASignature___n_params_t)CALL( variable5 /*sig*/,COLOR_parser_nodes___ASignature___n_params))( variable5 /*sig*/) /*ASignature::n_params*/;
     variable6 = ((list___List___iterator_t)CALL(variable6,COLOR_abstract_collection___Collection___iterator))(variable6) /*List::iterator*/;
     while (true) { /*for*/
@@ -1974,12 +2016,13 @@ val_t compiling_methods___AConcreteMethPropdef___do_compile_inside(val_t  self,
   return variable3;
 }
 val_t compiling_methods___ADeferredMethPropdef___do_compile_inside(val_t  self, val_t  param0, val_t  param1, val_t  param2) {
-  struct trace_t trace = {NULL, LOCATE_compiling_methods, 463, LOCATE_compiling_methods___ADeferredMethPropdef___do_compile_inside};
+  struct trace_t trace = {NULL, NULL, 464, LOCATE_compiling_methods___ADeferredMethPropdef___do_compile_inside};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   val_t variable3;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_methods;
   variable0 =  param0;
   variable1 =  param1;
   variable2 =  param2;
@@ -2004,7 +2047,7 @@ val_t compiling_methods___ADeferredMethPropdef___do_compile_inside(val_t  self,
   return variable3;
 }
 val_t compiling_methods___AExternMethPropdef___do_compile_inside(val_t  self, val_t  param0, val_t  param1, val_t  param2) {
-  struct trace_t trace = {NULL, LOCATE_compiling_methods, 477, LOCATE_compiling_methods___AExternMethPropdef___do_compile_inside};
+  struct trace_t trace = {NULL, NULL, 478, LOCATE_compiling_methods___AExternMethPropdef___do_compile_inside};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -2033,6 +2076,7 @@ val_t compiling_methods___AExternMethPropdef___do_compile_inside(val_t  self, va
   val_t variable25;
   val_t variable26;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_methods;
   variable0 =  param0;
   variable1 =  param1;
   variable2 =  param2;
@@ -2210,7 +2254,7 @@ val_t compiling_methods___AExternMethPropdef___do_compile_inside(val_t  self, va
   return variable3;
 }
 val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, val_t  param0, val_t  param1, val_t  param2) {
-  struct trace_t trace = {NULL, LOCATE_compiling_methods, 504, LOCATE_compiling_methods___AInternMethPropdef___do_compile_inside};
+  struct trace_t trace = {NULL, NULL, 505, LOCATE_compiling_methods___AInternMethPropdef___do_compile_inside};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -2319,6 +2363,7 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
                static val_t once_value_variable6_251; static int once_bool_variable6_251;
                static val_t once_value_variable6_253; static int once_bool_variable6_253;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_methods;
   variable0 =  param0;
   variable1 =  param1;
   variable2 =  param2;
@@ -5809,27 +5854,30 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
   return variable3;
 }
 val_t compiling_methods___PExpr___compile_expr(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_compiling_methods, 679, LOCATE_compiling_methods___PExpr___compile_expr};
+  struct trace_t trace = {NULL, NULL, 680, LOCATE_compiling_methods___PExpr___compile_expr};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_methods;
   fprintf(stderr, "Deferred method %s called");
-  fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 679);
+  fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 680);
   nit_exit(1);
   tracehead = trace.prev;
   return NIT_NULL;
 }
 void compiling_methods___PExpr___prepare_compile_stmt(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_compiling_methods, 683, LOCATE_compiling_methods___PExpr___prepare_compile_stmt};
+  struct trace_t trace = {NULL, NULL, 684, LOCATE_compiling_methods___PExpr___prepare_compile_stmt};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_methods;
   variable0 =  param0;
   tracehead = trace.prev;
   return;
 }
 void compiling_methods___PExpr___compile_stmt(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_compiling_methods, 688, LOCATE_compiling_methods___PExpr___compile_stmt};
+  struct trace_t trace = {NULL, NULL, 689, LOCATE_compiling_methods___PExpr___compile_stmt};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_methods;
   variable0 =  param0;
   variable1 = NEW_string___String___with_native(BOX_NativeString("Error!"), TAG_Int(6)); /*new String*/
   ((parser_prod___PNode___printl_t)CALL( self,COLOR_parser_prod___PNode___printl))( self, variable1) /*PNode::printl*/;
@@ -5837,11 +5885,12 @@ void compiling_methods___PExpr___compile_stmt(val_t  self, val_t  param0) {
   return;
 }
 void compiling_methods___ABlockExpr___compile_stmt(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_compiling_methods, 694, LOCATE_compiling_methods___ABlockExpr___compile_stmt};
+  struct trace_t trace = {NULL, NULL, 695, LOCATE_compiling_methods___ABlockExpr___compile_stmt};
   val_t variable0;
   val_t variable1;
     val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_methods;
   variable0 =  param0;
   variable1 = ((parser_nodes___ABlockExpr___n_expr_t)CALL( self,COLOR_parser_nodes___ABlockExpr___n_expr))( self) /*ABlockExpr::n_expr*/;
   variable1 = ((list___List___iterator_t)CALL(variable1,COLOR_abstract_collection___Collection___iterator))(variable1) /*List::iterator*/;
@@ -5858,12 +5907,13 @@ void compiling_methods___ABlockExpr___compile_stmt(val_t  self, val_t  param0) {
   return;
 }
 void compiling_methods___AVardeclExpr___prepare_compile_stmt(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_compiling_methods, 703, LOCATE_compiling_methods___AVardeclExpr___prepare_compile_stmt};
+  struct trace_t trace = {NULL, NULL, 704, LOCATE_compiling_methods___AVardeclExpr___prepare_compile_stmt};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   val_t variable3;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_methods;
   variable0 =  param0;
   variable2 = ((compiling_methods___CompilerVisitor___get_var_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___get_var))( variable0 /*v*/) /*CompilerVisitor::get_var*/;
   variable1 = variable2;
@@ -5874,7 +5924,7 @@ void compiling_methods___AVardeclExpr___prepare_compile_stmt(val_t  self, val_t
   return;
 }
 void compiling_methods___AVardeclExpr___compile_stmt(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_compiling_methods, 709, LOCATE_compiling_methods___AVardeclExpr___compile_stmt};
+  struct trace_t trace = {NULL, NULL, 710, LOCATE_compiling_methods___AVardeclExpr___compile_stmt};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -5890,6 +5940,7 @@ void compiling_methods___AVardeclExpr___compile_stmt(val_t  self, val_t  param0)
     val_t variable12;
     val_t variable13;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_methods;
   variable0 =  param0;
   variable2 = ((compiling_methods___CompilerVisitor___varnames_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___varnames))( variable0 /*v*/) /*CompilerVisitor::varnames*/;
   variable3 = ((syntax_base___AVardeclExpr___variable_t)CALL( self,COLOR_syntax_base___AVardeclExpr___variable))( self) /*AVardeclExpr::variable*/;
@@ -5930,7 +5981,7 @@ void compiling_methods___AVardeclExpr___compile_stmt(val_t  self, val_t  param0)
   return;
 }
 void compiling_methods___AReturnExpr___compile_stmt(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_compiling_methods, 723, LOCATE_compiling_methods___AReturnExpr___compile_stmt};
+  struct trace_t trace = {NULL, NULL, 724, LOCATE_compiling_methods___AReturnExpr___compile_stmt};
   val_t variable0;
   val_t variable1;
     val_t variable2;
@@ -5940,6 +5991,7 @@ void compiling_methods___AReturnExpr___compile_stmt(val_t  self, val_t  param0)
   val_t variable6;
   val_t variable7;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_methods;
   variable0 =  param0;
   ((compiling_methods___CompilerVisitor___has_return__eq_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___has_return__eq))( variable0 /*v*/,  TAG_Bool(true)) /*CompilerVisitor::has_return=*/;
   variable1 = ((parser_nodes___AReturnExpr___n_expr_t)CALL( self,COLOR_parser_nodes___AReturnExpr___n_expr))( self) /*AReturnExpr::n_expr*/;
@@ -5966,7 +6018,7 @@ void compiling_methods___AReturnExpr___compile_stmt(val_t  self, val_t  param0)
   return;
 }
 void compiling_methods___ABreakExpr___compile_stmt(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_compiling_methods, 735, LOCATE_compiling_methods___ABreakExpr___compile_stmt};
+  struct trace_t trace = {NULL, NULL, 736, LOCATE_compiling_methods___ABreakExpr___compile_stmt};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -5976,6 +6028,7 @@ void compiling_methods___ABreakExpr___compile_stmt(val_t  self, val_t  param0) {
   val_t variable6;
   val_t variable7;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_methods;
   variable0 =  param0;
   variable1 = NEW_string___String___init(); /*new String*/
   variable2 = NEW_string___String___with_native(BOX_NativeString("goto "), TAG_Int(5)); /*new String*/
@@ -5992,7 +6045,7 @@ void compiling_methods___ABreakExpr___compile_stmt(val_t  self, val_t  param0) {
   return;
 }
 void compiling_methods___AContinueExpr___compile_stmt(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_compiling_methods, 742, LOCATE_compiling_methods___AContinueExpr___compile_stmt};
+  struct trace_t trace = {NULL, NULL, 743, LOCATE_compiling_methods___AContinueExpr___compile_stmt};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -6002,6 +6055,7 @@ void compiling_methods___AContinueExpr___compile_stmt(val_t  self, val_t  param0
   val_t variable6;
   val_t variable7;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_methods;
   variable0 =  param0;
   variable1 = NEW_string___String___init(); /*new String*/
   variable2 = NEW_string___String___with_native(BOX_NativeString("goto "), TAG_Int(5)); /*new String*/
@@ -6018,7 +6072,7 @@ void compiling_methods___AContinueExpr___compile_stmt(val_t  self, val_t  param0
   return;
 }
 void compiling_methods___AAbortExpr___compile_stmt(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_compiling_methods, 749, LOCATE_compiling_methods___AAbortExpr___compile_stmt};
+  struct trace_t trace = {NULL, NULL, 750, LOCATE_compiling_methods___AAbortExpr___compile_stmt};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -6028,6 +6082,7 @@ void compiling_methods___AAbortExpr___compile_stmt(val_t  self, val_t  param0) {
   val_t variable6;
   val_t variable7;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_methods;
   variable0 =  param0;
   variable1 = NEW_string___String___init(); /*new String*/
   variable2 = NEW_string___String___with_native(BOX_NativeString("fprintf(stderr, \"Aborted\"); "), TAG_Int(28)); /*new String*/
@@ -6044,10 +6099,11 @@ void compiling_methods___AAbortExpr___compile_stmt(val_t  self, val_t  param0) {
   return;
 }
 void compiling_methods___ADoExpr___compile_stmt(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_compiling_methods, 756, LOCATE_compiling_methods___ADoExpr___compile_stmt};
+  struct trace_t trace = {NULL, NULL, 757, LOCATE_compiling_methods___ADoExpr___compile_stmt};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_methods;
   variable0 =  param0;
   variable1 = ((parser_nodes___ADoExpr___n_block_t)CALL( self,COLOR_parser_nodes___ADoExpr___n_block))( self) /*ADoExpr::n_block*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 ==  NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -6059,7 +6115,7 @@ void compiling_methods___ADoExpr___compile_stmt(val_t  self, val_t  param0) {
   return;
 }
 void compiling_methods___AIfExpr___compile_stmt(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_compiling_methods, 765, LOCATE_compiling_methods___AIfExpr___compile_stmt};
+  struct trace_t trace = {NULL, NULL, 766, LOCATE_compiling_methods___AIfExpr___compile_stmt};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -6069,6 +6125,7 @@ void compiling_methods___AIfExpr___compile_stmt(val_t  self, val_t  param0) {
   val_t variable6;
   val_t variable7;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_methods;
   variable0 =  param0;
   variable2 = ((parser_nodes___AIfExpr___n_expr_t)CALL( self,COLOR_parser_nodes___AIfExpr___n_expr))( self) /*AIfExpr::n_expr*/;
   variable2 = ((compiling_methods___CompilerVisitor___compile_expr_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___compile_expr))( variable0 /*v*/, variable2) /*CompilerVisitor::compile_expr*/;
@@ -6108,7 +6165,7 @@ void compiling_methods___AIfExpr___compile_stmt(val_t  self, val_t  param0) {
   return;
 }
 val_t compiling_methods___AIfexprExpr___compile_expr(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_compiling_methods, 786, LOCATE_compiling_methods___AIfexprExpr___compile_expr};
+  struct trace_t trace = {NULL, NULL, 787, LOCATE_compiling_methods___AIfexprExpr___compile_expr};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -6118,6 +6175,7 @@ val_t compiling_methods___AIfexprExpr___compile_expr(val_t  self, val_t  param0)
   val_t variable6;
   val_t variable7;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_methods;
   variable0 =  param0;
   variable2 = ((parser_nodes___AIfexprExpr___n_expr_t)CALL( self,COLOR_parser_nodes___AIfexprExpr___n_expr))( self) /*AIfexprExpr::n_expr*/;
   variable2 = ((compiling_methods___CompilerVisitor___compile_expr_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___compile_expr))( variable0 /*v*/, variable2) /*CompilerVisitor::compile_expr*/;
@@ -6158,16 +6216,17 @@ val_t compiling_methods___AIfexprExpr___compile_expr(val_t  self, val_t  param0)
   return variable1;
 }
 void compiling_methods___AControlableBlock___compile_inside_block(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_compiling_methods, 806, LOCATE_compiling_methods___AControlableBlock___compile_inside_block};
+  struct trace_t trace = {NULL, NULL, 807, LOCATE_compiling_methods___AControlableBlock___compile_inside_block};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_methods;
   fprintf(stderr, "Deferred method %s called");
-  fprintf(stderr, " in %s (%s:%d)\n", LOCATE_compiling_methods___AIfexprExpr___compile_expr, LOCATE_compiling_methods, 806);
+  fprintf(stderr, " in %s (%s:%d)\n", LOCATE_compiling_methods___AIfexprExpr___compile_expr, LOCATE_compiling_methods, 807);
   nit_exit(1);
   tracehead = trace.prev;
   return;
 }
 void compiling_methods___AControlableBlock___compile_stmt(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_compiling_methods, 807, LOCATE_compiling_methods___AControlableBlock___compile_stmt};
+  struct trace_t trace = {NULL, NULL, 808, LOCATE_compiling_methods___AControlableBlock___compile_stmt};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -6179,6 +6238,7 @@ void compiling_methods___AControlableBlock___compile_stmt(val_t  self, val_t  pa
   val_t variable8;
   val_t variable9;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_methods;
   variable0 =  param0;
   variable2 = ((compiling_methods___CompilerVisitor___break_label_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___break_label))( variable0 /*v*/) /*CompilerVisitor::break_label*/;
   variable1 = variable2;
@@ -6215,7 +6275,7 @@ void compiling_methods___AControlableBlock___compile_stmt(val_t  self, val_t  pa
   return;
 }
 void compiling_methods___AWhileExpr___compile_inside_block(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_compiling_methods, 824, LOCATE_compiling_methods___AWhileExpr___compile_inside_block};
+  struct trace_t trace = {NULL, NULL, 825, LOCATE_compiling_methods___AWhileExpr___compile_inside_block};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -6226,6 +6286,7 @@ void compiling_methods___AWhileExpr___compile_inside_block(val_t  self, val_t  p
   val_t variable7;
   val_t variable8;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_methods;
   variable0 =  param0;
   variable1 = NEW_string___String___with_native(BOX_NativeString("while (true) { /*while*/"), TAG_Int(24)); /*new String*/
   ((compiling_base___CompilerVisitor___add_instr_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___add_instr))( variable0 /*v*/, variable1) /*CompilerVisitor::add_instr*/;
@@ -6279,10 +6340,11 @@ void compiling_methods___AWhileExpr___compile_inside_block(val_t  self, val_t  p
   return;
 }
 void compiling_methods___AForExpr___compile_inside_block(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_compiling_methods, 842, LOCATE_compiling_methods___AForExpr___compile_inside_block};
+  struct trace_t trace = {NULL, NULL, 843, LOCATE_compiling_methods___AForExpr___compile_inside_block};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_methods;
   variable0 =  param0;
   variable1 = ((parser_nodes___AForExpr___n_vardecl_t)CALL( self,COLOR_parser_nodes___AForExpr___n_vardecl))( self) /*AForExpr::n_vardecl*/;
   ((compiling_methods___CompilerVisitor___compile_stmt_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___compile_stmt))( variable0 /*v*/, variable1) /*CompilerVisitor::compile_stmt*/;
@@ -6290,7 +6352,7 @@ void compiling_methods___AForExpr___compile_inside_block(val_t  self, val_t  par
   return;
 }
 void compiling_methods___AForVardeclExpr___compile_stmt(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_compiling_methods, 849, LOCATE_compiling_methods___AForVardeclExpr___compile_stmt};
+  struct trace_t trace = {NULL, NULL, 850, LOCATE_compiling_methods___AForVardeclExpr___compile_stmt};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -6315,6 +6377,7 @@ void compiling_methods___AForVardeclExpr___compile_stmt(val_t  self, val_t  para
   val_t variable17;
   val_t variable18;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_methods;
   variable0 =  param0;
   variable2 = ((parser_nodes___AForVardeclExpr___n_expr_t)CALL( self,COLOR_parser_nodes___AForVardeclExpr___n_expr))( self) /*AForVardeclExpr::n_expr*/;
   variable2 = ((compiling_methods___CompilerVisitor___compile_expr_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___compile_expr))( variable0 /*v*/, variable2) /*CompilerVisitor::compile_expr*/;
@@ -6427,7 +6490,7 @@ void compiling_methods___AForVardeclExpr___compile_stmt(val_t  self, val_t  para
   variable11 = ((parser_prod___PNode___parent_t)CALL( self,COLOR_parser_prod___PNode___parent))( self) /*PNode::parent*/;
   variable10 = variable11;
   variable11 = TAG_Bool(( variable10 /*par*/==NIT_NULL) || VAL_ISA( variable10 /*par*/, COLOR_AForExpr, ID_AForExpr)) /*cast AForExpr*/;
-  if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_compiling_methods___AForVardeclExpr___compile_stmt, LOCATE_compiling_methods, 886); nit_exit(1);}
+  if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_compiling_methods___AForVardeclExpr___compile_stmt, LOCATE_compiling_methods, 887); nit_exit(1);}
   variable12 = ((parser_nodes___AForExpr___n_block_t)CALL( variable10 /*par*/,COLOR_parser_nodes___AForExpr___n_block))( variable10 /*par*/) /*AForExpr::n_block*/;
   variable11 = variable12;
   variable12 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable11 /*n_block*/ ==  NIT_NULL /*null*/) || (( variable11 /*n_block*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable11 /*n_block*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable11 /*n_block*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable11 /*n_block*/,COLOR_kernel___Object_____eqeq))( variable11 /*n_block*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -6450,7 +6513,7 @@ void compiling_methods___AForVardeclExpr___compile_stmt(val_t  self, val_t  para
   variable12 = ((compiling_methods___MMMethod___compile_call_t)CALL( variable7 /*prop4*/,COLOR_compiling_methods___MMMethod___compile_call))( variable7 /*prop4*/,  variable0 /*v*/, variable12) /*MMMethod::compile_call*/;
   variable9 = variable12 /*e=*/;
   variable12 = TAG_Bool(( variable9 /*e*/ ==  NIT_NULL /*null*/) || (( variable9 /*e*/ != NIT_NULL) && UNTAG_Bool(((string___String_____eqeq_t)CALL( variable9 /*e*/,COLOR_kernel___Object_____eqeq))( variable9 /*e*/,  NIT_NULL /*null*/) /*String::==*/)));
-  if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_compiling_methods___AForVardeclExpr___compile_stmt, LOCATE_compiling_methods, 893); nit_exit(1);}
+  if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_compiling_methods___AForVardeclExpr___compile_stmt, LOCATE_compiling_methods, 894); nit_exit(1);}
   ((compiling_base___CompilerVisitor___unindent_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___unindent))( variable0 /*v*/) /*CompilerVisitor::unindent*/;
   variable12 = NEW_string___String___with_native(BOX_NativeString("}"), TAG_Int(1)); /*new String*/
   ((compiling_base___CompilerVisitor___add_instr_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___add_instr))( variable0 /*v*/, variable12) /*CompilerVisitor::add_instr*/;
@@ -6470,7 +6533,7 @@ void compiling_methods___AForVardeclExpr___compile_stmt(val_t  self, val_t  para
   return;
 }
 void compiling_methods___AAssertExpr___compile_stmt(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_compiling_methods, 901, LOCATE_compiling_methods___AAssertExpr___compile_stmt};
+  struct trace_t trace = {NULL, NULL, 902, LOCATE_compiling_methods___AAssertExpr___compile_stmt};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -6488,6 +6551,7 @@ void compiling_methods___AAssertExpr___compile_stmt(val_t  self, val_t  param0)
   val_t variable14;
   val_t variable15;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_methods;
   variable0 =  param0;
   variable2 = ((parser_nodes___AAssertExpr___n_expr_t)CALL( self,COLOR_parser_nodes___AAssertExpr___n_expr))( self) /*AAssertExpr::n_expr*/;
   variable2 = ((compiling_methods___CompilerVisitor___compile_expr_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___compile_expr))( variable0 /*v*/, variable2) /*CompilerVisitor::compile_expr*/;
@@ -6535,7 +6599,7 @@ void compiling_methods___AAssertExpr___compile_stmt(val_t  self, val_t  param0)
   return;
 }
 val_t compiling_methods___AVarExpr___compile_expr(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_compiling_methods, 913, LOCATE_compiling_methods___AVarExpr___compile_expr};
+  struct trace_t trace = {NULL, NULL, 914, LOCATE_compiling_methods___AVarExpr___compile_expr};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -6549,6 +6613,7 @@ val_t compiling_methods___AVarExpr___compile_expr(val_t  self, val_t  param0) {
   val_t variable10;
   val_t variable11;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_methods;
   variable0 =  param0;
   variable1 = NEW_string___String___init(); /*new String*/
   variable2 = NEW_string___String___with_native(BOX_NativeString(" "), TAG_Int(1)); /*new String*/
@@ -6576,7 +6641,7 @@ val_t compiling_methods___AVarExpr___compile_expr(val_t  self, val_t  param0) {
   return variable1;
 }
 void compiling_methods___AVarAssignExpr___compile_stmt(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_compiling_methods, 920, LOCATE_compiling_methods___AVarAssignExpr___compile_stmt};
+  struct trace_t trace = {NULL, NULL, 921, LOCATE_compiling_methods___AVarAssignExpr___compile_stmt};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -6591,6 +6656,7 @@ void compiling_methods___AVarAssignExpr___compile_stmt(val_t  self, val_t  param
   val_t variable11;
   val_t variable12;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_methods;
   variable0 =  param0;
   variable2 = ((parser_nodes___AAssignFormExpr___n_value_t)CALL( self,COLOR_parser_nodes___AAssignFormExpr___n_value))( self) /*AAssignFormExpr::n_value*/;
   variable2 = ((compiling_methods___CompilerVisitor___compile_expr_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___compile_expr))( variable0 /*v*/, variable2) /*CompilerVisitor::compile_expr*/;
@@ -6620,7 +6686,7 @@ void compiling_methods___AVarAssignExpr___compile_stmt(val_t  self, val_t  param
   return;
 }
 void compiling_methods___AVarReassignExpr___compile_stmt(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_compiling_methods, 928, LOCATE_compiling_methods___AVarReassignExpr___compile_stmt};
+  struct trace_t trace = {NULL, NULL, 929, LOCATE_compiling_methods___AVarReassignExpr___compile_stmt};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -6637,6 +6703,7 @@ void compiling_methods___AVarReassignExpr___compile_stmt(val_t  self, val_t  par
   val_t variable13;
   val_t variable14;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_methods;
   variable0 =  param0;
   variable2 = ((compiling_methods___CompilerVisitor___varnames_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___varnames))( variable0 /*v*/) /*CompilerVisitor::varnames*/;
   variable3 = ((syntax_base___AVarFormExpr___variable_t)CALL( self,COLOR_syntax_base___AVarFormExpr___variable))( self) /*AVarFormExpr::variable*/;
@@ -6676,13 +6743,14 @@ void compiling_methods___AVarReassignExpr___compile_stmt(val_t  self, val_t  par
   return;
 }
 val_t compiling_methods___ASelfExpr___compile_expr(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_compiling_methods, 938, LOCATE_compiling_methods___ASelfExpr___compile_expr};
+  struct trace_t trace = {NULL, NULL, 939, LOCATE_compiling_methods___ASelfExpr___compile_expr};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   val_t variable3;
   val_t variable4;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_methods;
   variable0 =  param0;
   variable1 = ((compiling_methods___CompilerVisitor___method_params_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___method_params))( variable0 /*v*/) /*CompilerVisitor::method_params*/;
   variable2 =  TAG_Int(0);
@@ -6707,7 +6775,7 @@ val_t compiling_methods___ASelfExpr___compile_expr(val_t  self, val_t  param0) {
   return variable1;
 }
 val_t compiling_methods___AOrExpr___compile_expr(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_compiling_methods, 945, LOCATE_compiling_methods___AOrExpr___compile_expr};
+  struct trace_t trace = {NULL, NULL, 946, LOCATE_compiling_methods___AOrExpr___compile_expr};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -6717,6 +6785,7 @@ val_t compiling_methods___AOrExpr___compile_expr(val_t  self, val_t  param0) {
   val_t variable6;
   val_t variable7;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_methods;
   variable0 =  param0;
   variable2 = ((parser_nodes___AOrExpr___n_expr_t)CALL( self,COLOR_parser_nodes___AOrExpr___n_expr))( self) /*AOrExpr::n_expr*/;
   variable2 = ((compiling_methods___CompilerVisitor___compile_expr_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___compile_expr))( variable0 /*v*/, variable2) /*CompilerVisitor::compile_expr*/;
@@ -6748,7 +6817,7 @@ val_t compiling_methods___AOrExpr___compile_expr(val_t  self, val_t  param0) {
   return variable1;
 }
 val_t compiling_methods___AAndExpr___compile_expr(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_compiling_methods, 960, LOCATE_compiling_methods___AAndExpr___compile_expr};
+  struct trace_t trace = {NULL, NULL, 961, LOCATE_compiling_methods___AAndExpr___compile_expr};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -6758,6 +6827,7 @@ val_t compiling_methods___AAndExpr___compile_expr(val_t  self, val_t  param0) {
   val_t variable6;
   val_t variable7;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_methods;
   variable0 =  param0;
   variable2 = ((parser_nodes___AAndExpr___n_expr_t)CALL( self,COLOR_parser_nodes___AAndExpr___n_expr))( self) /*AAndExpr::n_expr*/;
   variable2 = ((compiling_methods___CompilerVisitor___compile_expr_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___compile_expr))( variable0 /*v*/, variable2) /*CompilerVisitor::compile_expr*/;
@@ -6789,7 +6859,7 @@ val_t compiling_methods___AAndExpr___compile_expr(val_t  self, val_t  param0) {
   return variable1;
 }
 val_t compiling_methods___ANotExpr___compile_expr(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_compiling_methods, 975, LOCATE_compiling_methods___ANotExpr___compile_expr};
+  struct trace_t trace = {NULL, NULL, 976, LOCATE_compiling_methods___ANotExpr___compile_expr};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -6799,6 +6869,7 @@ val_t compiling_methods___ANotExpr___compile_expr(val_t  self, val_t  param0) {
   val_t variable6;
   val_t variable7;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_methods;
   variable0 =  param0;
   variable1 = NEW_string___String___init(); /*new String*/
   variable2 = NEW_string___String___with_native(BOX_NativeString(" TAG_Bool(!UNTAG_Bool("), TAG_Int(22)); /*new String*/
@@ -6817,7 +6888,7 @@ val_t compiling_methods___ANotExpr___compile_expr(val_t  self, val_t  param0) {
   return variable1;
 }
 val_t compiling_methods___AEeExpr___compile_expr(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_compiling_methods, 982, LOCATE_compiling_methods___AEeExpr___compile_expr};
+  struct trace_t trace = {NULL, NULL, 983, LOCATE_compiling_methods___AEeExpr___compile_expr};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -6831,6 +6902,7 @@ val_t compiling_methods___AEeExpr___compile_expr(val_t  self, val_t  param0) {
   val_t variable10;
   val_t variable11;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_methods;
   variable0 =  param0;
   variable2 = ((parser_nodes___AEeExpr___n_expr_t)CALL( self,COLOR_parser_nodes___AEeExpr___n_expr))( self) /*AEeExpr::n_expr*/;
   variable2 = ((compiling_methods___CompilerVisitor___compile_expr_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___compile_expr))( variable0 /*v*/, variable2) /*CompilerVisitor::compile_expr*/;
@@ -6859,11 +6931,12 @@ val_t compiling_methods___AEeExpr___compile_expr(val_t  self, val_t  param0) {
   return variable1;
 }
 val_t compiling_methods___AIsaExpr___compile_expr(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_compiling_methods, 991, LOCATE_compiling_methods___AIsaExpr___compile_expr};
+  struct trace_t trace = {NULL, NULL, 992, LOCATE_compiling_methods___AIsaExpr___compile_expr};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_methods;
   variable0 =  param0;
   variable2 = ((parser_nodes___AIsaExpr___n_expr_t)CALL( self,COLOR_parser_nodes___AIsaExpr___n_expr))( self) /*AIsaExpr::n_expr*/;
   variable2 = ((compiling_methods___CompilerVisitor___compile_expr_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___compile_expr))( variable0 /*v*/, variable2) /*CompilerVisitor::compile_expr*/;
@@ -6878,11 +6951,12 @@ val_t compiling_methods___AIsaExpr___compile_expr(val_t  self, val_t  param0) {
   return variable1;
 }
 val_t compiling_methods___AAsCastExpr___compile_expr(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_compiling_methods, 999, LOCATE_compiling_methods___AAsCastExpr___compile_expr};
+  struct trace_t trace = {NULL, NULL, 1000, LOCATE_compiling_methods___AAsCastExpr___compile_expr};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_methods;
   variable0 =  param0;
   variable2 = ((parser_nodes___AAsCastExpr___n_expr_t)CALL( self,COLOR_parser_nodes___AAsCastExpr___n_expr))( self) /*AAsCastExpr::n_expr*/;
   variable2 = ((compiling_methods___CompilerVisitor___compile_expr_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___compile_expr))( variable0 /*v*/, variable2) /*CompilerVisitor::compile_expr*/;
@@ -6897,10 +6971,11 @@ val_t compiling_methods___AAsCastExpr___compile_expr(val_t  self, val_t  param0)
   return variable1;
 }
 val_t compiling_methods___ATrueExpr___compile_expr(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_compiling_methods, 1008, LOCATE_compiling_methods___ATrueExpr___compile_expr};
+  struct trace_t trace = {NULL, NULL, 1009, LOCATE_compiling_methods___ATrueExpr___compile_expr};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_methods;
   variable0 =  param0;
   variable1 = NEW_string___String___with_native(BOX_NativeString(" TAG_Bool(true)"), TAG_Int(15)); /*new String*/
   goto return_label288;
@@ -6909,10 +6984,11 @@ val_t compiling_methods___ATrueExpr___compile_expr(val_t  self, val_t  param0) {
   return variable1;
 }
 val_t compiling_methods___AFalseExpr___compile_expr(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_compiling_methods, 1015, LOCATE_compiling_methods___AFalseExpr___compile_expr};
+  struct trace_t trace = {NULL, NULL, 1016, LOCATE_compiling_methods___AFalseExpr___compile_expr};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_methods;
   variable0 =  param0;
   variable1 = NEW_string___String___with_native(BOX_NativeString(" TAG_Bool(false)"), TAG_Int(16)); /*new String*/
   goto return_label289;
@@ -6921,7 +6997,7 @@ val_t compiling_methods___AFalseExpr___compile_expr(val_t  self, val_t  param0)
   return variable1;
 }
 val_t compiling_methods___AIntExpr___compile_expr(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_compiling_methods, 1022, LOCATE_compiling_methods___AIntExpr___compile_expr};
+  struct trace_t trace = {NULL, NULL, 1023, LOCATE_compiling_methods___AIntExpr___compile_expr};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -6931,6 +7007,7 @@ val_t compiling_methods___AIntExpr___compile_expr(val_t  self, val_t  param0) {
   val_t variable6;
   val_t variable7;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_methods;
   variable0 =  param0;
   variable1 = NEW_string___String___init(); /*new String*/
   variable2 = NEW_string___String___with_native(BOX_NativeString(" TAG_Int("), TAG_Int(9)); /*new String*/
@@ -6949,7 +7026,7 @@ val_t compiling_methods___AIntExpr___compile_expr(val_t  self, val_t  param0) {
   return variable1;
 }
 val_t compiling_methods___AFloatExpr___compile_expr(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_compiling_methods, 1029, LOCATE_compiling_methods___AFloatExpr___compile_expr};
+  struct trace_t trace = {NULL, NULL, 1030, LOCATE_compiling_methods___AFloatExpr___compile_expr};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -6959,6 +7036,7 @@ val_t compiling_methods___AFloatExpr___compile_expr(val_t  self, val_t  param0)
   val_t variable6;
   val_t variable7;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_methods;
   variable0 =  param0;
   variable1 = NEW_string___String___init(); /*new String*/
   variable2 = NEW_string___String___with_native(BOX_NativeString("BOX_Float("), TAG_Int(10)); /*new String*/
@@ -6977,7 +7055,7 @@ val_t compiling_methods___AFloatExpr___compile_expr(val_t  self, val_t  param0)
   return variable1;
 }
 val_t compiling_methods___ACharExpr___compile_expr(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_compiling_methods, 1036, LOCATE_compiling_methods___ACharExpr___compile_expr};
+  struct trace_t trace = {NULL, NULL, 1037, LOCATE_compiling_methods___ACharExpr___compile_expr};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -6987,6 +7065,7 @@ val_t compiling_methods___ACharExpr___compile_expr(val_t  self, val_t  param0) {
   val_t variable6;
   val_t variable7;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_methods;
   variable0 =  param0;
   variable1 = NEW_string___String___init(); /*new String*/
   variable2 = NEW_string___String___with_native(BOX_NativeString(" TAG_Char("), TAG_Int(10)); /*new String*/
@@ -7005,7 +7084,7 @@ val_t compiling_methods___ACharExpr___compile_expr(val_t  self, val_t  param0) {
   return variable1;
 }
 val_t compiling_methods___AStringFormExpr___compile_expr(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_compiling_methods, 1043, LOCATE_compiling_methods___AStringFormExpr___compile_expr};
+  struct trace_t trace = {NULL, NULL, 1044, LOCATE_compiling_methods___AStringFormExpr___compile_expr};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -7019,6 +7098,7 @@ val_t compiling_methods___AStringFormExpr___compile_expr(val_t  self, val_t  par
   val_t variable9;
   val_t variable10;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_methods;
   variable0 =  param0;
   variable2 = ((typing___PExpr___stype_t)CALL( self,COLOR_syntax_base___PExpr___stype))( self) /*PExpr::stype*/;
   variable2 = ((static_type___MMType___local_class_t)CALL(variable2,COLOR_static_type___MMType___local_class))(variable2) /*MMType::local_class*/;
@@ -7064,16 +7144,17 @@ val_t compiling_methods___AStringFormExpr___compile_expr(val_t  self, val_t  par
   return variable1;
 }
 val_t compiling_methods___AStringFormExpr___string_text(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_compiling_methods, 1050, LOCATE_compiling_methods___AStringFormExpr___string_text};
+  struct trace_t trace = {NULL, NULL, 1051, LOCATE_compiling_methods___AStringFormExpr___string_text};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_methods;
   fprintf(stderr, "Deferred method %s called");
-  fprintf(stderr, " in %s (%s:%d)\n", LOCATE_compiling_methods___AStringFormExpr___compile_expr, LOCATE_compiling_methods, 1050);
+  fprintf(stderr, " in %s (%s:%d)\n", LOCATE_compiling_methods___AStringFormExpr___compile_expr, LOCATE_compiling_methods, 1051);
   nit_exit(1);
   tracehead = trace.prev;
   return NIT_NULL;
 }
 void compiling_methods___AStringFormExpr___compute_string_info(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_compiling_methods, 1059, LOCATE_compiling_methods___AStringFormExpr___compute_string_info};
+  struct trace_t trace = {NULL, NULL, 1060, LOCATE_compiling_methods___AStringFormExpr___compute_string_info};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -7083,6 +7164,7 @@ void compiling_methods___AStringFormExpr___compute_string_info(val_t  self) {
       val_t variable6;
       val_t variable7;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_methods;
   variable0 =  TAG_Int(0);
   variable2 = ((compiling_methods___AStringFormExpr___string_text_t)CALL( self,COLOR_compiling_methods___AStringFormExpr___string_text))( self) /*AStringFormExpr::string_text*/;
   variable1 = variable2;
@@ -7126,10 +7208,11 @@ void compiling_methods___AStringFormExpr___compute_string_info(val_t  self) {
   return;
 }
 val_t compiling_methods___AStringExpr___string_text(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_compiling_methods, 1086, LOCATE_compiling_methods___AStringExpr___string_text};
+  struct trace_t trace = {NULL, NULL, 1087, LOCATE_compiling_methods___AStringExpr___string_text};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_methods;
   variable0 = ((parser_nodes___AStringExpr___n_string_t)CALL( self,COLOR_parser_nodes___AStringExpr___n_string))( self) /*AStringExpr::n_string*/;
   variable0 = ((lexer___Token___text_t)CALL(variable0,COLOR_lexer___Token___text))(variable0) /*Token::text*/;
   variable1 = ((parser_nodes___AStringExpr___n_string_t)CALL( self,COLOR_parser_nodes___AStringExpr___n_string))( self) /*AStringExpr::n_string*/;
@@ -7143,10 +7226,11 @@ val_t compiling_methods___AStringExpr___string_text(val_t  self) {
   return variable0;
 }
 val_t compiling_methods___AStartStringExpr___string_text(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_compiling_methods, 1089, LOCATE_compiling_methods___AStartStringExpr___string_text};
+  struct trace_t trace = {NULL, NULL, 1090, LOCATE_compiling_methods___AStartStringExpr___string_text};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_methods;
   variable0 = ((parser_nodes___AStartStringExpr___n_string_t)CALL( self,COLOR_parser_nodes___AStartStringExpr___n_string))( self) /*AStartStringExpr::n_string*/;
   variable0 = ((lexer___Token___text_t)CALL(variable0,COLOR_lexer___Token___text))(variable0) /*Token::text*/;
   variable1 = ((parser_nodes___AStartStringExpr___n_string_t)CALL( self,COLOR_parser_nodes___AStartStringExpr___n_string))( self) /*AStartStringExpr::n_string*/;
@@ -7160,10 +7244,11 @@ val_t compiling_methods___AStartStringExpr___string_text(val_t  self) {
   return variable0;
 }
 val_t compiling_methods___AMidStringExpr___string_text(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_compiling_methods, 1092, LOCATE_compiling_methods___AMidStringExpr___string_text};
+  struct trace_t trace = {NULL, NULL, 1093, LOCATE_compiling_methods___AMidStringExpr___string_text};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_methods;
   variable0 = ((parser_nodes___AMidStringExpr___n_string_t)CALL( self,COLOR_parser_nodes___AMidStringExpr___n_string))( self) /*AMidStringExpr::n_string*/;
   variable0 = ((lexer___Token___text_t)CALL(variable0,COLOR_lexer___Token___text))(variable0) /*Token::text*/;
   variable1 = ((parser_nodes___AMidStringExpr___n_string_t)CALL( self,COLOR_parser_nodes___AMidStringExpr___n_string))( self) /*AMidStringExpr::n_string*/;
@@ -7177,10 +7262,11 @@ val_t compiling_methods___AMidStringExpr___string_text(val_t  self) {
   return variable0;
 }
 val_t compiling_methods___AEndStringExpr___string_text(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_compiling_methods, 1095, LOCATE_compiling_methods___AEndStringExpr___string_text};
+  struct trace_t trace = {NULL, NULL, 1096, LOCATE_compiling_methods___AEndStringExpr___string_text};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_methods;
   variable0 = ((parser_nodes___AEndStringExpr___n_string_t)CALL( self,COLOR_parser_nodes___AEndStringExpr___n_string))( self) /*AEndStringExpr::n_string*/;
   variable0 = ((lexer___Token___text_t)CALL(variable0,COLOR_lexer___Token___text))(variable0) /*Token::text*/;
   variable1 = ((parser_nodes___AEndStringExpr___n_string_t)CALL( self,COLOR_parser_nodes___AEndStringExpr___n_string))( self) /*AEndStringExpr::n_string*/;
@@ -7194,7 +7280,7 @@ val_t compiling_methods___AEndStringExpr___string_text(val_t  self) {
   return variable0;
 }
 val_t compiling_methods___ASuperstringExpr___compile_expr(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_compiling_methods, 1099, LOCATE_compiling_methods___ASuperstringExpr___compile_expr};
+  struct trace_t trace = {NULL, NULL, 1100, LOCATE_compiling_methods___ASuperstringExpr___compile_expr};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -7209,6 +7295,7 @@ val_t compiling_methods___ASuperstringExpr___compile_expr(val_t  self, val_t  pa
     val_t variable8;
     val_t variable9;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_methods;
   variable0 =  param0;
   variable2 = ((typing___PExpr___stype_t)CALL( self,COLOR_syntax_base___PExpr___stype))( self) /*PExpr::stype*/;
   variable2 = ((static_type___MMType___local_class_t)CALL(variable2,COLOR_static_type___MMType___local_class))(variable2) /*MMType::local_class*/;
@@ -7279,10 +7366,11 @@ val_t compiling_methods___ASuperstringExpr___compile_expr(val_t  self, val_t  pa
   return variable1;
 }
 val_t compiling_methods___ANullExpr___compile_expr(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_compiling_methods, 1120, LOCATE_compiling_methods___ANullExpr___compile_expr};
+  struct trace_t trace = {NULL, NULL, 1121, LOCATE_compiling_methods___ANullExpr___compile_expr};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_methods;
   variable0 =  param0;
   variable1 = NEW_string___String___with_native(BOX_NativeString(" NIT_NULL /*null*/"), TAG_Int(18)); /*new String*/
   goto return_label306;
@@ -7291,7 +7379,7 @@ val_t compiling_methods___ANullExpr___compile_expr(val_t  self, val_t  param0) {
   return variable1;
 }
 val_t compiling_methods___AArrayExpr___compile_expr(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_compiling_methods, 1127, LOCATE_compiling_methods___AArrayExpr___compile_expr};
+  struct trace_t trace = {NULL, NULL, 1128, LOCATE_compiling_methods___AArrayExpr___compile_expr};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -7306,6 +7394,7 @@ val_t compiling_methods___AArrayExpr___compile_expr(val_t  self, val_t  param0)
   val_t variable10;
   static val_t once_value_variable5_309; static int once_bool_variable5_309;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_methods;
   variable0 =  param0;
   variable2 = ((typing___PExpr___stype_t)CALL( self,COLOR_syntax_base___PExpr___stype))( self) /*PExpr::stype*/;
   variable2 = ((static_type___MMType___local_class_t)CALL(variable2,COLOR_static_type___MMType___local_class))(variable2) /*MMType::local_class*/;
@@ -7368,13 +7457,14 @@ val_t compiling_methods___AArrayExpr___compile_expr(val_t  self, val_t  param0)
   return variable1;
 }
 val_t compiling_methods___ARangeExpr___compile_expr(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_compiling_methods, 1142, LOCATE_compiling_methods___ARangeExpr___compile_expr};
+  struct trace_t trace = {NULL, NULL, 1143, LOCATE_compiling_methods___ARangeExpr___compile_expr};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   val_t variable3;
   val_t variable4;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_methods;
   variable0 =  param0;
   variable2 = ((typing___PExpr___stype_t)CALL( self,COLOR_syntax_base___PExpr___stype))( self) /*PExpr::stype*/;
   variable2 = ((static_type___MMType___local_class_t)CALL(variable2,COLOR_static_type___MMType___local_class))(variable2) /*MMType::local_class*/;
@@ -7398,19 +7488,21 @@ val_t compiling_methods___ARangeExpr___compile_expr(val_t  self, val_t  param0)
   return variable1;
 }
 val_t compiling_methods___ARangeExpr___propname(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_compiling_methods, 1149, LOCATE_compiling_methods___ARangeExpr___propname};
+  struct trace_t trace = {NULL, NULL, 1150, LOCATE_compiling_methods___ARangeExpr___propname};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_methods;
   fprintf(stderr, "Deferred method %s called");
-  fprintf(stderr, " in %s (%s:%d)\n", LOCATE_compiling_methods___ARangeExpr___compile_expr, LOCATE_compiling_methods, 1149);
+  fprintf(stderr, " in %s (%s:%d)\n", LOCATE_compiling_methods___ARangeExpr___compile_expr, LOCATE_compiling_methods, 1150);
   nit_exit(1);
   tracehead = trace.prev;
   return NIT_NULL;
 }
 val_t compiling_methods___ACrangeExpr___propname(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_compiling_methods, 1154, LOCATE_compiling_methods___ACrangeExpr___propname};
+  struct trace_t trace = {NULL, NULL, 1155, LOCATE_compiling_methods___ACrangeExpr___propname};
   val_t variable0;
   static val_t once_value_variable0_313; static int once_bool_variable0_313;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_methods;
   if (once_bool_variable0_313) variable0 = once_value_variable0_313;
   else {
     variable0 = NEW_string___String___with_native(BOX_NativeString("init"), TAG_Int(4)); /*new String*/
@@ -7424,10 +7516,11 @@ val_t compiling_methods___ACrangeExpr___propname(val_t  self) {
   return variable0;
 }
 val_t compiling_methods___AOrangeExpr___propname(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_compiling_methods, 1157, LOCATE_compiling_methods___AOrangeExpr___propname};
+  struct trace_t trace = {NULL, NULL, 1158, LOCATE_compiling_methods___AOrangeExpr___propname};
   val_t variable0;
   static val_t once_value_variable0_315; static int once_bool_variable0_315;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_methods;
   if (once_bool_variable0_315) variable0 = once_value_variable0_315;
   else {
     variable0 = NEW_string___String___with_native(BOX_NativeString("without_last"), TAG_Int(12)); /*new String*/
@@ -7441,7 +7534,7 @@ val_t compiling_methods___AOrangeExpr___propname(val_t  self) {
   return variable0;
 }
 void compiling_methods___ASuperExpr___compile_stmt(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_compiling_methods, 1161, LOCATE_compiling_methods___ASuperExpr___compile_stmt};
+  struct trace_t trace = {NULL, NULL, 1162, LOCATE_compiling_methods___ASuperExpr___compile_stmt};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -7451,6 +7544,7 @@ void compiling_methods___ASuperExpr___compile_stmt(val_t  self, val_t  param0) {
     val_t variable6;
     val_t variable7;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_methods;
   variable0 =  param0;
   variable2 = ((compiling_methods___ASuperExpr___compile_expr_t)CALL( self,COLOR_compiling_methods___PExpr___compile_expr))( self,  variable0 /*v*/) /*ASuperExpr::compile_expr*/;
   variable1 = variable2;
@@ -7471,7 +7565,7 @@ void compiling_methods___ASuperExpr___compile_stmt(val_t  self, val_t  param0) {
   return;
 }
 val_t compiling_methods___ASuperExpr___compile_expr(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_compiling_methods, 1167, LOCATE_compiling_methods___ASuperExpr___compile_expr};
+  struct trace_t trace = {NULL, NULL, 1168, LOCATE_compiling_methods___ASuperExpr___compile_expr};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -7483,6 +7577,7 @@ val_t compiling_methods___ASuperExpr___compile_expr(val_t  self, val_t  param0)
       val_t variable8;
       val_t variable9;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_methods;
   variable0 =  param0;
   variable2 = ((compiling_methods___CompilerVisitor___method_params_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___method_params))( variable0 /*v*/) /*CompilerVisitor::method_params*/;
   variable2 = ((array___AbstractArray___length_t)CALL(variable2,COLOR_abstract_collection___Collection___length))(variable2) /*AbstractArray::length*/;
@@ -7590,11 +7685,12 @@ val_t compiling_methods___ASuperExpr___compile_expr(val_t  self, val_t  param0)
   return variable1;
 }
 val_t compiling_methods___AAttrExpr___compile_expr(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_compiling_methods, 1195, LOCATE_compiling_methods___AAttrExpr___compile_expr};
+  struct trace_t trace = {NULL, NULL, 1196, LOCATE_compiling_methods___AAttrExpr___compile_expr};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_methods;
   variable0 =  param0;
   variable2 = ((parser_nodes___AAttrFormExpr___n_expr_t)CALL( self,COLOR_parser_nodes___AAttrFormExpr___n_expr))( self) /*AAttrFormExpr::n_expr*/;
   variable2 = ((compiling_methods___CompilerVisitor___compile_expr_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___compile_expr))( variable0 /*v*/, variable2) /*CompilerVisitor::compile_expr*/;
@@ -7608,12 +7704,13 @@ val_t compiling_methods___AAttrExpr___compile_expr(val_t  self, val_t  param0) {
   return variable1;
 }
 void compiling_methods___AAttrAssignExpr___compile_stmt(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_compiling_methods, 1203, LOCATE_compiling_methods___AAttrAssignExpr___compile_stmt};
+  struct trace_t trace = {NULL, NULL, 1204, LOCATE_compiling_methods___AAttrAssignExpr___compile_stmt};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   val_t variable3;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_methods;
   variable0 =  param0;
   variable2 = ((parser_nodes___AAttrFormExpr___n_expr_t)CALL( self,COLOR_parser_nodes___AAttrFormExpr___n_expr))( self) /*AAttrFormExpr::n_expr*/;
   variable2 = ((compiling_methods___CompilerVisitor___compile_expr_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___compile_expr))( variable0 /*v*/, variable2) /*CompilerVisitor::compile_expr*/;
@@ -7628,7 +7725,7 @@ void compiling_methods___AAttrAssignExpr___compile_stmt(val_t  self, val_t  para
   return;
 }
 void compiling_methods___AAttrReassignExpr___compile_stmt(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_compiling_methods, 1211, LOCATE_compiling_methods___AAttrReassignExpr___compile_stmt};
+  struct trace_t trace = {NULL, NULL, 1212, LOCATE_compiling_methods___AAttrReassignExpr___compile_stmt};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -7637,6 +7734,7 @@ void compiling_methods___AAttrReassignExpr___compile_stmt(val_t  self, val_t  pa
   val_t variable5;
   val_t variable6;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_methods;
   variable0 =  param0;
   variable2 = ((parser_nodes___AAttrFormExpr___n_expr_t)CALL( self,COLOR_parser_nodes___AAttrFormExpr___n_expr))( self) /*AAttrFormExpr::n_expr*/;
   variable2 = ((compiling_methods___CompilerVisitor___compile_expr_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___compile_expr))( variable0 /*v*/, variable2) /*CompilerVisitor::compile_expr*/;
@@ -7658,7 +7756,7 @@ void compiling_methods___AAttrReassignExpr___compile_stmt(val_t  self, val_t  pa
   return;
 }
 val_t compiling_methods___ASendExpr___compile_expr(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_compiling_methods, 1222, LOCATE_compiling_methods___ASendExpr___compile_expr};
+  struct trace_t trace = {NULL, NULL, 1223, LOCATE_compiling_methods___ASendExpr___compile_expr};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -7666,6 +7764,7 @@ val_t compiling_methods___ASendExpr___compile_expr(val_t  self, val_t  param0) {
     val_t variable4;
     val_t variable5;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_methods;
   variable0 =  param0;
   variable2 = ((parser_nodes___ASendExpr___n_expr_t)CALL( self,COLOR_parser_nodes___ASendExpr___n_expr))( self) /*ASendExpr::n_expr*/;
   variable2 = ((compiling_methods___CompilerVisitor___compile_expr_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___compile_expr))( variable0 /*v*/, variable2) /*CompilerVisitor::compile_expr*/;
@@ -7702,11 +7801,12 @@ val_t compiling_methods___ASendExpr___compile_expr(val_t  self, val_t  param0) {
   return variable1;
 }
 void compiling_methods___ASendExpr___compile_stmt(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_compiling_methods, 1238, LOCATE_compiling_methods___ASendExpr___compile_stmt};
+  struct trace_t trace = {NULL, NULL, 1239, LOCATE_compiling_methods___ASendExpr___compile_stmt};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_methods;
   variable0 =  param0;
   variable2 = ((compiling_methods___ASendExpr___compile_expr_t)CALL( self,COLOR_compiling_methods___PExpr___compile_expr))( self,  variable0 /*v*/) /*ASendExpr::compile_expr*/;
   variable1 = variable2;
@@ -7720,7 +7820,7 @@ void compiling_methods___ASendExpr___compile_stmt(val_t  self, val_t  param0) {
   return;
 }
 val_t compiling_methods___ASendReassignExpr___compile_expr(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_compiling_methods, 1248, LOCATE_compiling_methods___ASendReassignExpr___compile_expr};
+  struct trace_t trace = {NULL, NULL, 1249, LOCATE_compiling_methods___ASendReassignExpr___compile_expr};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -7730,6 +7830,7 @@ val_t compiling_methods___ASendReassignExpr___compile_expr(val_t  self, val_t  p
   val_t variable6;
   val_t variable7;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_methods;
   variable0 =  param0;
   variable2 = ((parser_nodes___ASendExpr___n_expr_t)CALL( self,COLOR_parser_nodes___ASendExpr___n_expr))( self) /*ASendExpr::n_expr*/;
   variable2 = ((compiling_methods___CompilerVisitor___compile_expr_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___compile_expr))( variable0 /*v*/, variable2) /*CompilerVisitor::compile_expr*/;
@@ -7771,13 +7872,14 @@ val_t compiling_methods___ASendReassignExpr___compile_expr(val_t  self, val_t  p
   return variable1;
 }
 val_t compiling_methods___ANewExpr___compile_expr(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_compiling_methods, 1266, LOCATE_compiling_methods___ANewExpr___compile_expr};
+  struct trace_t trace = {NULL, NULL, 1267, LOCATE_compiling_methods___ANewExpr___compile_expr};
   val_t variable0;
   val_t variable1;
   val_t variable2;
     val_t variable3;
     val_t variable4;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_methods;
   variable0 =  param0;
   variable2 = NEW_array___Array___init(); /*new Array[E]*/
   variable1 = variable2;
@@ -7802,10 +7904,11 @@ val_t compiling_methods___ANewExpr___compile_expr(val_t  self, val_t  param0) {
   return variable1;
 }
 val_t compiling_methods___AProxyExpr___compile_expr(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_compiling_methods, 1277, LOCATE_compiling_methods___AProxyExpr___compile_expr};
+  struct trace_t trace = {NULL, NULL, 1278, LOCATE_compiling_methods___AProxyExpr___compile_expr};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_methods;
   variable0 =  param0;
   variable1 = ((parser_nodes___AProxyExpr___n_expr_t)CALL( self,COLOR_parser_nodes___AProxyExpr___n_expr))( self) /*AProxyExpr::n_expr*/;
   variable1 = ((compiling_methods___CompilerVisitor___compile_expr_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___compile_expr))( variable0 /*v*/, variable1) /*CompilerVisitor::compile_expr*/;
@@ -7815,7 +7918,7 @@ val_t compiling_methods___AProxyExpr___compile_expr(val_t  self, val_t  param0)
   return variable1;
 }
 val_t compiling_methods___AOnceExpr___compile_expr(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_compiling_methods, 1284, LOCATE_compiling_methods___AOnceExpr___compile_expr};
+  struct trace_t trace = {NULL, NULL, 1285, LOCATE_compiling_methods___AOnceExpr___compile_expr};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -7838,6 +7941,7 @@ val_t compiling_methods___AOnceExpr___compile_expr(val_t  self, val_t  param0) {
   val_t variable19;
   val_t variable20;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_methods;
   variable0 =  param0;
   variable2 = ((compiling_base___CompilerVisitor___new_number_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___new_number))( variable0 /*v*/) /*CompilerVisitor::new_number*/;
   variable1 = variable2;
index 51aa75f..1c03190 100644 (file)
@@ -1,9 +1,9 @@
 /* This C header file is generated by NIT to compile modules and programs that requires compiling_methods. */
-#ifndef compiling_methods_2_sep
-#define compiling_methods_2_sep
+#ifndef compiling_methods_sep
+#define compiling_methods_sep
 #include "compiling_base._sep.h"
 #include <nit_common.h>
-#define LOCATE_compiling_methods "./compiling//compiling_methods.nit"
+extern const char *LOCATE_compiling_methods;
 extern const int SFT_compiling_methods[];
 #define COLOR_compiling_methods___CompilerVisitor____variable_index SFT_compiling_methods[0]
 #define COLOR_compiling_methods___CompilerVisitor____variable_index_max SFT_compiling_methods[1]
index 0186721..b7e0612 100644 (file)
@@ -1,11 +1,12 @@
 /* This C file is generated by NIT to compile module control_flow. */
 #include "control_flow._sep.h"
 void control_flow___MMSrcModule___do_control_flow(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_control_flow, 23, LOCATE_control_flow___MMSrcModule___do_control_flow};
+  struct trace_t trace = {NULL, NULL, 23, LOCATE_control_flow___MMSrcModule___do_control_flow};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_control_flow;
   variable0 =  param0;
   variable2 = NEW_control_flow___ControlFlowVisitor___init( variable0 /*tc*/,  self); /*new ControlFlowVisitor*/
   variable1 = variable2;
@@ -15,10 +16,11 @@ void control_flow___MMSrcModule___do_control_flow(val_t  self, val_t  param0) {
   return;
 }
 void control_flow___ControlFlowVisitor___visit(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_control_flow, 38, LOCATE_control_flow___ControlFlowVisitor___visit};
+  struct trace_t trace = {NULL, NULL, 38, LOCATE_control_flow___ControlFlowVisitor___visit};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_control_flow;
   variable0 =  param0;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ ==  NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable1)) { /*if*/
@@ -28,33 +30,37 @@ void control_flow___ControlFlowVisitor___visit(val_t  self, val_t  param0) {
   return;
 }
 val_t control_flow___ControlFlowVisitor___once_count(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_control_flow, 43, LOCATE_control_flow___ControlFlowVisitor___once_count};
+  struct trace_t trace = {NULL, NULL, 43, LOCATE_control_flow___ControlFlowVisitor___once_count};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_control_flow;
   tracehead = trace.prev;
   return ATTR_control_flow___ControlFlowVisitor____once_count( self) /*ControlFlowVisitor::_once_count*/;
 }
 void control_flow___ControlFlowVisitor___once_count__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_control_flow, 43, LOCATE_control_flow___ControlFlowVisitor___once_count__eq};
+  struct trace_t trace = {NULL, NULL, 43, LOCATE_control_flow___ControlFlowVisitor___once_count__eq};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_control_flow;
   ATTR_control_flow___ControlFlowVisitor____once_count( self) /*ControlFlowVisitor::_once_count*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t control_flow___ControlFlowVisitor___control_flow_ctx(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_control_flow, 46, LOCATE_control_flow___ControlFlowVisitor___control_flow_ctx};
+  struct trace_t trace = {NULL, NULL, 46, LOCATE_control_flow___ControlFlowVisitor___control_flow_ctx};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_control_flow;
   tracehead = trace.prev;
   return ATTR_control_flow___ControlFlowVisitor____control_flow_ctx( self) /*ControlFlowVisitor::_control_flow_ctx*/;
 }
 void control_flow___ControlFlowVisitor___control_flow_ctx__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_control_flow, 46, LOCATE_control_flow___ControlFlowVisitor___control_flow_ctx__eq};
+  struct trace_t trace = {NULL, NULL, 46, LOCATE_control_flow___ControlFlowVisitor___control_flow_ctx__eq};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_control_flow;
   ATTR_control_flow___ControlFlowVisitor____control_flow_ctx( self) /*ControlFlowVisitor::_control_flow_ctx*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 void control_flow___ControlFlowVisitor___check_is_set(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_control_flow, 49, LOCATE_control_flow___ControlFlowVisitor___check_is_set};
+  struct trace_t trace = {NULL, NULL, 49, LOCATE_control_flow___ControlFlowVisitor___check_is_set};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -64,6 +70,7 @@ void control_flow___ControlFlowVisitor___check_is_set(val_t  self, val_t  param0
     val_t variable6;
     val_t variable7;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_control_flow;
   variable0 =  param0;
   variable1 =  param1;
   variable2 = ((control_flow___ControlFlowVisitor___control_flow_ctx_t)CALL( self,COLOR_control_flow___ControlFlowVisitor___control_flow_ctx))( self) /*ControlFlowVisitor::control_flow_ctx*/;
@@ -101,10 +108,11 @@ void control_flow___ControlFlowVisitor___check_is_set(val_t  self, val_t  param0
   return;
 }
 void control_flow___ControlFlowVisitor___mark_is_set(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_control_flow, 61, LOCATE_control_flow___ControlFlowVisitor___mark_is_set};
+  struct trace_t trace = {NULL, NULL, 61, LOCATE_control_flow___ControlFlowVisitor___mark_is_set};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_control_flow;
   variable0 =  param0;
   variable1 = ((control_flow___ControlFlowVisitor___control_flow_ctx_t)CALL( self,COLOR_control_flow___ControlFlowVisitor___control_flow_ctx))( self) /*ControlFlowVisitor::control_flow_ctx*/;
   variable1 = ((control_flow___ControlFlowContext___set_variables_t)CALL(variable1,COLOR_control_flow___ControlFlowContext___set_variables))(variable1) /*ControlFlowContext::set_variables*/;
@@ -113,10 +121,11 @@ void control_flow___ControlFlowVisitor___mark_is_set(val_t  self, val_t  param0)
   return;
 }
 void control_flow___ControlFlowVisitor___init(val_t  self, val_t  param0, val_t  param1, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_control_flow, 66, LOCATE_control_flow___ControlFlowVisitor___init};
+  struct trace_t trace = {NULL, NULL, 66, LOCATE_control_flow___ControlFlowVisitor___init};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_control_flow;
   variable0 =  param0;
   variable1 =  param1;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ControlFlowVisitor].i]) return;
@@ -126,76 +135,87 @@ void control_flow___ControlFlowVisitor___init(val_t  self, val_t  param0, val_t
   return;
 }
 val_t control_flow___ControlFlowContext___prev(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_control_flow, 70, LOCATE_control_flow___ControlFlowContext___prev};
+  struct trace_t trace = {NULL, NULL, 70, LOCATE_control_flow___ControlFlowContext___prev};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_control_flow;
   tracehead = trace.prev;
   return ATTR_control_flow___ControlFlowContext____prev( self) /*ControlFlowContext::_prev*/;
 }
 val_t control_flow___ControlFlowContext___has_return(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_control_flow, 73, LOCATE_control_flow___ControlFlowContext___has_return};
+  struct trace_t trace = {NULL, NULL, 73, LOCATE_control_flow___ControlFlowContext___has_return};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_control_flow;
   tracehead = trace.prev;
   return ATTR_control_flow___ControlFlowContext____has_return( self) /*ControlFlowContext::_has_return*/;
 }
 void control_flow___ControlFlowContext___has_return__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_control_flow, 73, LOCATE_control_flow___ControlFlowContext___has_return__eq};
+  struct trace_t trace = {NULL, NULL, 73, LOCATE_control_flow___ControlFlowContext___has_return__eq};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_control_flow;
   ATTR_control_flow___ControlFlowContext____has_return( self) /*ControlFlowContext::_has_return*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t control_flow___ControlFlowContext___unreash(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_control_flow, 76, LOCATE_control_flow___ControlFlowContext___unreash};
+  struct trace_t trace = {NULL, NULL, 76, LOCATE_control_flow___ControlFlowContext___unreash};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_control_flow;
   tracehead = trace.prev;
   return ATTR_control_flow___ControlFlowContext____unreash( self) /*ControlFlowContext::_unreash*/;
 }
 void control_flow___ControlFlowContext___unreash__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_control_flow, 76, LOCATE_control_flow___ControlFlowContext___unreash__eq};
+  struct trace_t trace = {NULL, NULL, 76, LOCATE_control_flow___ControlFlowContext___unreash__eq};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_control_flow;
   ATTR_control_flow___ControlFlowContext____unreash( self) /*ControlFlowContext::_unreash*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t control_flow___ControlFlowContext___already_unreash(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_control_flow, 79, LOCATE_control_flow___ControlFlowContext___already_unreash};
+  struct trace_t trace = {NULL, NULL, 79, LOCATE_control_flow___ControlFlowContext___already_unreash};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_control_flow;
   tracehead = trace.prev;
   return ATTR_control_flow___ControlFlowContext____already_unreash( self) /*ControlFlowContext::_already_unreash*/;
 }
 void control_flow___ControlFlowContext___already_unreash__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_control_flow, 79, LOCATE_control_flow___ControlFlowContext___already_unreash__eq};
+  struct trace_t trace = {NULL, NULL, 79, LOCATE_control_flow___ControlFlowContext___already_unreash__eq};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_control_flow;
   ATTR_control_flow___ControlFlowContext____already_unreash( self) /*ControlFlowContext::_already_unreash*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t control_flow___ControlFlowContext___base_block(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_control_flow, 83, LOCATE_control_flow___ControlFlowContext___base_block};
+  struct trace_t trace = {NULL, NULL, 83, LOCATE_control_flow___ControlFlowContext___base_block};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_control_flow;
   tracehead = trace.prev;
   return ATTR_control_flow___ControlFlowContext____base_block( self) /*ControlFlowContext::_base_block*/;
 }
 void control_flow___ControlFlowContext___base_block__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_control_flow, 83, LOCATE_control_flow___ControlFlowContext___base_block__eq};
+  struct trace_t trace = {NULL, NULL, 83, LOCATE_control_flow___ControlFlowContext___base_block__eq};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_control_flow;
   ATTR_control_flow___ControlFlowContext____base_block( self) /*ControlFlowContext::_base_block*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t control_flow___ControlFlowContext___set_variables(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_control_flow, 86, LOCATE_control_flow___ControlFlowContext___set_variables};
+  struct trace_t trace = {NULL, NULL, 86, LOCATE_control_flow___ControlFlowContext___set_variables};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_control_flow;
   tracehead = trace.prev;
   return ATTR_control_flow___ControlFlowContext____set_variables( self) /*ControlFlowContext::_set_variables*/;
 }
 val_t control_flow___ControlFlowContext___is_set(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_control_flow, 89, LOCATE_control_flow___ControlFlowContext___is_set};
+  struct trace_t trace = {NULL, NULL, 89, LOCATE_control_flow___ControlFlowContext___is_set};
   val_t variable0;
   val_t variable1;
   val_t variable2;
     val_t variable3;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_control_flow;
   variable0 =  param0;
   variable1 = ATTR_control_flow___ControlFlowContext____set_variables( self) /*ControlFlowContext::_set_variables*/;
   variable1 = ((hash___HashSet___has_t)CALL(variable1,COLOR_abstract_collection___Collection___has))(variable1,  variable0 /*v*/) /*HashSet::has*/;
@@ -217,9 +237,10 @@ val_t control_flow___ControlFlowContext___is_set(val_t  self, val_t  param0) {
   return variable1;
 }
 val_t control_flow___ControlFlowContext___sub(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_control_flow, 95, LOCATE_control_flow___ControlFlowContext___sub};
+  struct trace_t trace = {NULL, NULL, 95, LOCATE_control_flow___ControlFlowContext___sub};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_control_flow;
   variable0 = NEW_control_flow___ControlFlowContext___with( self); /*new ControlFlowContext*/
   goto return_label7;
   return_label7: while(false);
@@ -227,18 +248,20 @@ val_t control_flow___ControlFlowContext___sub(val_t  self) {
   return variable0;
 }
 void control_flow___ControlFlowContext___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_control_flow, 100, LOCATE_control_flow___ControlFlowContext___init};
+  struct trace_t trace = {NULL, NULL, 100, LOCATE_control_flow___ControlFlowContext___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_control_flow;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ControlFlowContext].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ControlFlowContext].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void control_flow___ControlFlowContext___with(val_t  self, val_t  param0, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_control_flow, 104, LOCATE_control_flow___ControlFlowContext___with};
+  struct trace_t trace = {NULL, NULL, 104, LOCATE_control_flow___ControlFlowContext___with};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_control_flow;
   variable0 =  param0;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ControlFlowContext].i]) return;
   ATTR_control_flow___ControlFlowContext____prev( self) /*ControlFlowContext::_prev*/ =  variable0 /*p*/;
@@ -255,19 +278,21 @@ void control_flow___ControlFlowContext___with(val_t  self, val_t  param0, int* i
   return;
 }
 void control_flow___PNode___accept_control_flow(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_control_flow, 117, LOCATE_control_flow___PNode___accept_control_flow};
+  struct trace_t trace = {NULL, NULL, 117, LOCATE_control_flow___PNode___accept_control_flow};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_control_flow;
   variable0 =  param0;
   ((syntax_base___PNode___accept_abs_syntax_visitor_t)CALL( self,COLOR_syntax_base___PNode___accept_abs_syntax_visitor))( self,  variable0 /*v*/) /*PNode::accept_abs_syntax_visitor*/;
   tracehead = trace.prev;
   return;
 }
 void control_flow___AMethPropdef___accept_control_flow(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_control_flow, 124, LOCATE_control_flow___AMethPropdef___accept_control_flow};
+  struct trace_t trace = {NULL, NULL, 124, LOCATE_control_flow___AMethPropdef___accept_control_flow};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_control_flow;
   variable0 =  param0;
   variable1 = NEW_control_flow___ControlFlowContext___init(); /*new ControlFlowContext*/
   ((control_flow___ControlFlowVisitor___control_flow_ctx__eq_t)CALL( variable0 /*v*/,COLOR_control_flow___ControlFlowVisitor___control_flow_ctx__eq))( variable0 /*v*/, variable1) /*ControlFlowVisitor::control_flow_ctx=*/;
@@ -276,11 +301,12 @@ void control_flow___AMethPropdef___accept_control_flow(val_t  self, val_t  param
   return;
 }
 void control_flow___AConcreteMethPropdef___accept_control_flow(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_control_flow, 132, LOCATE_control_flow___AConcreteMethPropdef___accept_control_flow};
+  struct trace_t trace = {NULL, NULL, 132, LOCATE_control_flow___AConcreteMethPropdef___accept_control_flow};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_control_flow;
   variable0 =  param0;
   ((control_flow___AConcreteMethPropdef___accept_control_flow_t)CALL( self,COLOR_SUPER_control_flow___AConcreteMethPropdef___accept_control_flow))( self,  param0) /*super AConcreteMethPropdef::accept_control_flow*/;
   variable1 = ((control_flow___ControlFlowVisitor___control_flow_ctx_t)CALL( variable0 /*v*/,COLOR_control_flow___ControlFlowVisitor___control_flow_ctx))( variable0 /*v*/) /*ControlFlowVisitor::control_flow_ctx*/;
@@ -302,10 +328,11 @@ void control_flow___AConcreteMethPropdef___accept_control_flow(val_t  self, val_
   return;
 }
 void control_flow___PParam___accept_control_flow(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_control_flow, 142, LOCATE_control_flow___PParam___accept_control_flow};
+  struct trace_t trace = {NULL, NULL, 142, LOCATE_control_flow___PParam___accept_control_flow};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_control_flow;
   variable0 =  param0;
   ((control_flow___PParam___accept_control_flow_t)CALL( self,COLOR_SUPER_control_flow___PParam___accept_control_flow))( self,  param0) /*super PParam::accept_control_flow*/;
   variable1 = ((syntax_base___PParam___variable_t)CALL( self,COLOR_syntax_base___PParam___variable))( self) /*PParam::variable*/;
@@ -314,10 +341,11 @@ void control_flow___PParam___accept_control_flow(val_t  self, val_t  param0) {
   return;
 }
 void control_flow___AVardeclExpr___accept_control_flow(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_control_flow, 150, LOCATE_control_flow___AVardeclExpr___accept_control_flow};
+  struct trace_t trace = {NULL, NULL, 150, LOCATE_control_flow___AVardeclExpr___accept_control_flow};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_control_flow;
   variable0 =  param0;
   ((control_flow___AVardeclExpr___accept_control_flow_t)CALL( self,COLOR_SUPER_control_flow___AVardeclExpr___accept_control_flow))( self,  param0) /*super AVardeclExpr::accept_control_flow*/;
   variable1 = ((parser_nodes___AVardeclExpr___n_expr_t)CALL( self,COLOR_parser_nodes___AVardeclExpr___n_expr))( self) /*AVardeclExpr::n_expr*/;
@@ -330,13 +358,14 @@ void control_flow___AVardeclExpr___accept_control_flow(val_t  self, val_t  param
   return;
 }
 void control_flow___ABlockExpr___accept_control_flow(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_control_flow, 158, LOCATE_control_flow___ABlockExpr___accept_control_flow};
+  struct trace_t trace = {NULL, NULL, 158, LOCATE_control_flow___ABlockExpr___accept_control_flow};
   val_t variable0;
   val_t variable1;
     val_t variable2;
     val_t variable3;
     val_t variable4;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_control_flow;
   variable0 =  param0;
   variable1 = ((parser_nodes___ABlockExpr___n_expr_t)CALL( self,COLOR_parser_nodes___ABlockExpr___n_expr))( self) /*ABlockExpr::n_expr*/;
   variable1 = ((list___List___iterator_t)CALL(variable1,COLOR_abstract_collection___Collection___iterator))(variable1) /*List::iterator*/;
@@ -368,10 +397,11 @@ void control_flow___ABlockExpr___accept_control_flow(val_t  self, val_t  param0)
   return;
 }
 void control_flow___AReturnExpr___accept_control_flow(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_control_flow, 171, LOCATE_control_flow___AReturnExpr___accept_control_flow};
+  struct trace_t trace = {NULL, NULL, 171, LOCATE_control_flow___AReturnExpr___accept_control_flow};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_control_flow;
   variable0 =  param0;
   ((control_flow___AReturnExpr___accept_control_flow_t)CALL( self,COLOR_SUPER_control_flow___AReturnExpr___accept_control_flow))( self,  param0) /*super AReturnExpr::accept_control_flow*/;
   variable1 = ((control_flow___ControlFlowVisitor___control_flow_ctx_t)CALL( variable0 /*v*/,COLOR_control_flow___ControlFlowVisitor___control_flow_ctx))( variable0 /*v*/) /*ControlFlowVisitor::control_flow_ctx*/;
@@ -382,17 +412,19 @@ void control_flow___AReturnExpr___accept_control_flow(val_t  self, val_t  param0
   return;
 }
 val_t control_flow___ABlockControler___block(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_control_flow, 181, LOCATE_control_flow___ABlockControler___block};
+  struct trace_t trace = {NULL, NULL, 181, LOCATE_control_flow___ABlockControler___block};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_control_flow;
   tracehead = trace.prev;
   return ATTR_control_flow___ABlockControler____block( self) /*ABlockControler::_block*/;
 }
 void control_flow___ABreakExpr___accept_control_flow(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_control_flow, 186, LOCATE_control_flow___ABreakExpr___accept_control_flow};
+  struct trace_t trace = {NULL, NULL, 186, LOCATE_control_flow___ABreakExpr___accept_control_flow};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_control_flow;
   variable0 =  param0;
   ((control_flow___ABreakExpr___accept_control_flow_t)CALL( self,COLOR_SUPER_control_flow___ABreakExpr___accept_control_flow))( self,  param0) /*super ABreakExpr::accept_control_flow*/;
   variable2 = ((control_flow___ControlFlowVisitor___control_flow_ctx_t)CALL( variable0 /*v*/,COLOR_control_flow___ControlFlowVisitor___control_flow_ctx))( variable0 /*v*/) /*ControlFlowVisitor::control_flow_ctx*/;
@@ -412,11 +444,12 @@ void control_flow___ABreakExpr___accept_control_flow(val_t  self, val_t  param0)
   return;
 }
 void control_flow___AContinueExpr___accept_control_flow(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_control_flow, 200, LOCATE_control_flow___AContinueExpr___accept_control_flow};
+  struct trace_t trace = {NULL, NULL, 200, LOCATE_control_flow___AContinueExpr___accept_control_flow};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_control_flow;
   variable0 =  param0;
   ((control_flow___AContinueExpr___accept_control_flow_t)CALL( self,COLOR_SUPER_control_flow___AContinueExpr___accept_control_flow))( self,  param0) /*super AContinueExpr::accept_control_flow*/;
   variable2 = ((control_flow___ControlFlowVisitor___control_flow_ctx_t)CALL( variable0 /*v*/,COLOR_control_flow___ControlFlowVisitor___control_flow_ctx))( variable0 /*v*/) /*ControlFlowVisitor::control_flow_ctx*/;
@@ -436,10 +469,11 @@ void control_flow___AContinueExpr___accept_control_flow(val_t  self, val_t  para
   return;
 }
 void control_flow___AAbortExpr___accept_control_flow(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_control_flow, 214, LOCATE_control_flow___AAbortExpr___accept_control_flow};
+  struct trace_t trace = {NULL, NULL, 214, LOCATE_control_flow___AAbortExpr___accept_control_flow};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_control_flow;
   variable0 =  param0;
   ((control_flow___AAbortExpr___accept_control_flow_t)CALL( self,COLOR_SUPER_control_flow___AAbortExpr___accept_control_flow))( self,  param0) /*super AAbortExpr::accept_control_flow*/;
   variable1 = ((control_flow___ControlFlowVisitor___control_flow_ctx_t)CALL( variable0 /*v*/,COLOR_control_flow___ControlFlowVisitor___control_flow_ctx))( variable0 /*v*/) /*ControlFlowVisitor::control_flow_ctx*/;
@@ -450,7 +484,7 @@ void control_flow___AAbortExpr___accept_control_flow(val_t  self, val_t  param0)
   return;
 }
 void control_flow___AIfExpr___accept_control_flow(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_control_flow, 223, LOCATE_control_flow___AIfExpr___accept_control_flow};
+  struct trace_t trace = {NULL, NULL, 223, LOCATE_control_flow___AIfExpr___accept_control_flow};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -458,6 +492,7 @@ void control_flow___AIfExpr___accept_control_flow(val_t  self, val_t  param0) {
     val_t variable4;
       val_t variable5;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_control_flow;
   variable0 =  param0;
   variable1 = ((parser_nodes___AIfExpr___n_expr_t)CALL( self,COLOR_parser_nodes___AIfExpr___n_expr))( self) /*AIfExpr::n_expr*/;
   ((control_flow___ControlFlowVisitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*ControlFlowVisitor::visit*/;
@@ -527,11 +562,12 @@ void control_flow___AIfExpr___accept_control_flow(val_t  self, val_t  param0) {
   return;
 }
 void control_flow___AControlableBlock___accept_control_flow(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_control_flow, 261, LOCATE_control_flow___AControlableBlock___accept_control_flow};
+  struct trace_t trace = {NULL, NULL, 261, LOCATE_control_flow___AControlableBlock___accept_control_flow};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_control_flow;
   variable0 =  param0;
   variable2 = ((control_flow___ControlFlowVisitor___control_flow_ctx_t)CALL( variable0 /*v*/,COLOR_control_flow___ControlFlowVisitor___control_flow_ctx))( variable0 /*v*/) /*ControlFlowVisitor::control_flow_ctx*/;
   variable1 = variable2;
@@ -546,10 +582,11 @@ void control_flow___AControlableBlock___accept_control_flow(val_t  self, val_t
   return;
 }
 void control_flow___AForVardeclExpr___accept_control_flow(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_control_flow, 286, LOCATE_control_flow___AForVardeclExpr___accept_control_flow};
+  struct trace_t trace = {NULL, NULL, 286, LOCATE_control_flow___AForVardeclExpr___accept_control_flow};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_control_flow;
   variable0 =  param0;
   ((control_flow___AForVardeclExpr___accept_control_flow_t)CALL( self,COLOR_SUPER_control_flow___AForVardeclExpr___accept_control_flow))( self,  param0) /*super AForVardeclExpr::accept_control_flow*/;
   variable1 = ((syntax_base___AForVardeclExpr___variable_t)CALL( self,COLOR_syntax_base___AForVardeclExpr___variable))( self) /*AForVardeclExpr::variable*/;
@@ -558,10 +595,11 @@ void control_flow___AForVardeclExpr___accept_control_flow(val_t  self, val_t  pa
   return;
 }
 void control_flow___AVarExpr___accept_control_flow(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_control_flow, 295, LOCATE_control_flow___AVarExpr___accept_control_flow};
+  struct trace_t trace = {NULL, NULL, 295, LOCATE_control_flow___AVarExpr___accept_control_flow};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_control_flow;
   variable0 =  param0;
   ((control_flow___AVarExpr___accept_control_flow_t)CALL( self,COLOR_SUPER_control_flow___AVarExpr___accept_control_flow))( self,  param0) /*super AVarExpr::accept_control_flow*/;
   variable1 = ((syntax_base___AVarFormExpr___variable_t)CALL( self,COLOR_syntax_base___AVarFormExpr___variable))( self) /*AVarFormExpr::variable*/;
@@ -570,10 +608,11 @@ void control_flow___AVarExpr___accept_control_flow(val_t  self, val_t  param0) {
   return;
 }
 void control_flow___AVarAssignExpr___accept_control_flow(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_control_flow, 303, LOCATE_control_flow___AVarAssignExpr___accept_control_flow};
+  struct trace_t trace = {NULL, NULL, 303, LOCATE_control_flow___AVarAssignExpr___accept_control_flow};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_control_flow;
   variable0 =  param0;
   ((control_flow___AVarAssignExpr___accept_control_flow_t)CALL( self,COLOR_SUPER_control_flow___AVarAssignExpr___accept_control_flow))( self,  param0) /*super AVarAssignExpr::accept_control_flow*/;
   variable1 = ((syntax_base___AVarFormExpr___variable_t)CALL( self,COLOR_syntax_base___AVarFormExpr___variable))( self) /*AVarFormExpr::variable*/;
@@ -582,10 +621,11 @@ void control_flow___AVarAssignExpr___accept_control_flow(val_t  self, val_t  par
   return;
 }
 void control_flow___AVarReassignExpr___accept_control_flow(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_control_flow, 311, LOCATE_control_flow___AVarReassignExpr___accept_control_flow};
+  struct trace_t trace = {NULL, NULL, 311, LOCATE_control_flow___AVarReassignExpr___accept_control_flow};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_control_flow;
   variable0 =  param0;
   ((control_flow___AVarReassignExpr___accept_control_flow_t)CALL( self,COLOR_SUPER_control_flow___AVarReassignExpr___accept_control_flow))( self,  param0) /*super AVarReassignExpr::accept_control_flow*/;
   variable1 = ((syntax_base___AVarFormExpr___variable_t)CALL( self,COLOR_syntax_base___AVarFormExpr___variable))( self) /*AVarFormExpr::variable*/;
@@ -596,10 +636,11 @@ void control_flow___AVarReassignExpr___accept_control_flow(val_t  self, val_t  p
   return;
 }
 void control_flow___AOnceExpr___accept_control_flow(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_control_flow, 321, LOCATE_control_flow___AOnceExpr___accept_control_flow};
+  struct trace_t trace = {NULL, NULL, 321, LOCATE_control_flow___AOnceExpr___accept_control_flow};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_control_flow;
   variable0 =  param0;
   variable1 = ((control_flow___ControlFlowVisitor___once_count_t)CALL( variable0 /*v*/,COLOR_control_flow___ControlFlowVisitor___once_count))( variable0 /*v*/) /*ControlFlowVisitor::once_count*/;
   variable1 = TAG_Bool(UNTAG_Int(variable1)>UNTAG_Int( TAG_Int(0)));
index ee6412d..c32d10d 100644 (file)
@@ -1,6 +1,6 @@
 /* This C header file is generated by NIT to compile modules and programs that requires control_flow. */
-#ifndef control_flow_2_sep
-#define control_flow_2_sep
+#ifndef control_flow_sep
+#define control_flow_sep
 #include "syntax_base._sep.h"
 #include <nit_common.h>
 
@@ -11,7 +11,7 @@ extern const classtable_elt_t VFT_ControlFlowContext[];
 extern const classtable_elt_t VFT_ABlockControler[];
 
 extern const classtable_elt_t VFT_AControlableBlock[];
-#define LOCATE_control_flow "./syntax//control_flow.nit"
+extern const char *LOCATE_control_flow;
 extern const int SFT_control_flow[];
 #define COLOR_control_flow___MMSrcModule___do_control_flow SFT_control_flow[0]
 #define ID_ControlFlowVisitor SFT_control_flow[1]
index 3481752..c8795ec 100644 (file)
@@ -1,7 +1,7 @@
 /* This C file is generated by NIT to compile module environ. */
 #include "environ._sep.h"
 val_t environ___Symbol___environ(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_environ, 19, LOCATE_environ___Symbol___environ};
+  struct trace_t trace = {NULL, NULL, 19, LOCATE_environ___Symbol___environ};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -12,6 +12,7 @@ val_t environ___Symbol___environ(val_t  self) {
     val_t variable6;
     val_t variable7;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_environ;
   variable1 = ((symbol___Symbol___to_s_t)CALL( self,COLOR_string___Object___to_s))( self) /*Symbol::to_s*/;
   variable1 = ((string___String___to_cstring_t)CALL(variable1,COLOR_string___String___to_cstring))(variable1) /*String::to_cstring*/;
   variable1 = ((environ___NativeString___get_environ_t)CALL(variable1,COLOR_environ___NativeString___get_environ))(variable1) /*NativeString::get_environ*/;
@@ -52,8 +53,9 @@ val_t environ___Symbol___environ(val_t  self) {
   return variable0;
 }
 val_t environ___NativeString___get_environ(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_environ, 36, LOCATE_environ___NativeString___get_environ};
+  struct trace_t trace = {NULL, NULL, 36, LOCATE_environ___NativeString___get_environ};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_environ;
   tracehead = trace.prev;
   return BOX_NativeString(string_NativeString_NativeString_get_environ_0(UNBOX_NativeString( self)));
 }
index 6b5e766..ada4725 100644 (file)
@@ -1,10 +1,10 @@
 /* This C header file is generated by NIT to compile modules and programs that requires environ. */
-#ifndef environ_2_sep
-#define environ_2_sep
+#ifndef environ_sep
+#define environ_sep
 #include "symbol._sep.h"
 #include <nit_common.h>
 #include <environ_nit.h>
-#define LOCATE_environ "./../lib/standard//environ.nit"
+extern const char *LOCATE_environ;
 extern const int SFT_environ[];
 #define COLOR_environ___Symbol___environ SFT_environ[0]
 #define COLOR_environ___NativeString___get_environ SFT_environ[1]
index b5370f0..04f2ba1 100644 (file)
@@ -1,9 +1,10 @@
 /* This C file is generated by NIT to compile module exec. */
 #include "exec._sep.h"
 val_t exec___Process___id(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_exec, 23, LOCATE_exec___Process___id};
+  struct trace_t trace = {NULL, NULL, 23, LOCATE_exec___Process___id};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_exec;
   variable0 = ATTR_exec___Process____data( self) /*Process::_data*/;
   variable0 = ((exec___NativeProcess___id_t)CALL(variable0,COLOR_exec___NativeProcess___id))(variable0) /*NativeProcess::id*/;
   goto return_label0;
@@ -12,9 +13,10 @@ val_t exec___Process___id(val_t  self) {
   return variable0;
 }
 val_t exec___Process___is_finished(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_exec, 26, LOCATE_exec___Process___is_finished};
+  struct trace_t trace = {NULL, NULL, 26, LOCATE_exec___Process___is_finished};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_exec;
   variable0 = ATTR_exec___Process____data( self) /*Process::_data*/;
   variable0 = ((exec___NativeProcess___is_finished_t)CALL(variable0,COLOR_exec___NativeProcess___is_finished))(variable0) /*NativeProcess::is_finished*/;
   goto return_label1;
@@ -23,9 +25,10 @@ val_t exec___Process___is_finished(val_t  self) {
   return variable0;
 }
 void exec___Process___wait(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_exec, 29, LOCATE_exec___Process___wait};
+  struct trace_t trace = {NULL, NULL, 29, LOCATE_exec___Process___wait};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_exec;
   variable0 = ATTR_exec___Process____data( self) /*Process::_data*/;
   ((exec___NativeProcess___wait_t)CALL(variable0,COLOR_exec___NativeProcess___wait))(variable0) /*NativeProcess::wait*/;
   variable0 = ((exec___Process___is_finished_t)CALL( self,COLOR_exec___Process___is_finished))( self) /*Process::is_finished*/;
@@ -34,9 +37,10 @@ void exec___Process___wait(val_t  self) {
   return;
 }
 val_t exec___Process___status(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_exec, 36, LOCATE_exec___Process___status};
+  struct trace_t trace = {NULL, NULL, 36, LOCATE_exec___Process___status};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_exec;
   variable0 = ((exec___Process___is_finished_t)CALL( self,COLOR_exec___Process___is_finished))( self) /*Process::is_finished*/;
   if (!UNTAG_Bool(variable0)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_exec___Process___status, LOCATE_exec, 39); nit_exit(1);}
   variable0 = ATTR_exec___Process____data( self) /*Process::_data*/;
@@ -47,10 +51,11 @@ val_t exec___Process___status(val_t  self) {
   return variable0;
 }
 void exec___Process___kill(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_exec, 43, LOCATE_exec___Process___kill};
+  struct trace_t trace = {NULL, NULL, 43, LOCATE_exec___Process___kill};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_exec;
   variable0 =  param0;
   variable1 = ATTR_exec___Process____data( self) /*Process::_data*/;
   ((exec___NativeProcess___kill_t)CALL(variable1,COLOR_exec___NativeProcess___kill))(variable1,  variable0 /*signal*/) /*NativeProcess::kill*/;
@@ -58,17 +63,19 @@ void exec___Process___kill(val_t  self, val_t  param0) {
   return;
 }
 void exec___Process___term(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_exec, 46, LOCATE_exec___Process___term};
+  struct trace_t trace = {NULL, NULL, 46, LOCATE_exec___Process___term};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_exec;
   ((exec___Process___kill_t)CALL( self,COLOR_exec___Process___kill))( self,  TAG_Int(15)) /*Process::kill*/;
   tracehead = trace.prev;
   return;
 }
 void exec___Process___init(val_t  self, val_t  param0, val_t  param1, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_exec, 49, LOCATE_exec___Process___init};
+  struct trace_t trace = {NULL, NULL, 49, LOCATE_exec___Process___init};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_exec;
   variable0 =  param0;
   /* check if p<Array[String] with p:String */
   if (( param1!=NIT_NULL) && !VAL_ISA( param1, COLOR_Array, ID_Array)) { fprintf(stderr, "Cast failled"); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_exec___Process___term, LOCATE_exec, 50); nit_exit(1); } /*cast Array[String]*/;
@@ -80,9 +87,10 @@ void exec___Process___init(val_t  self, val_t  param0, val_t  param1, int* init_
   return;
 }
 void exec___Process___init_(val_t  self, val_t  param0, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_exec, 55, LOCATE_exec___Process___init_};
+  struct trace_t trace = {NULL, NULL, 55, LOCATE_exec___Process___init_};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_exec;
   variable0 =  param0;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_Process].i]) return;
   ((exec___Process___execute_t)CALL( self,COLOR_exec___Process___execute))( self,  variable0 /*command*/,  NIT_NULL /*null*/,  TAG_Int(0), init_table /*YYY*/) /*Process::execute*/;
@@ -91,7 +99,7 @@ void exec___Process___init_(val_t  self, val_t  param0, int* init_table) {
   return;
 }
 void exec___Process___execute(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_exec, 61, LOCATE_exec___Process___execute};
+  struct trace_t trace = {NULL, NULL, 61, LOCATE_exec___Process___execute};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -100,6 +108,7 @@ void exec___Process___execute(val_t  self, val_t  param0, val_t  param1, val_t
   val_t variable5;
       val_t variable6;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_exec;
   variable0 =  param0;
   variable1 =  param1;
   variable2 =  param2;
@@ -133,24 +142,27 @@ void exec___Process___execute(val_t  self, val_t  param0, val_t  param1, val_t
   return;
 }
 val_t exec___Process___basic_exec_execute(val_t  self, val_t  param0, val_t  param1, val_t  param2, val_t  param3) {
-  struct trace_t trace = {NULL, LOCATE_exec, 78, LOCATE_exec___Process___basic_exec_execute};
+  struct trace_t trace = {NULL, NULL, 78, LOCATE_exec___Process___basic_exec_execute};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_exec;
   tracehead = trace.prev;
   return BOX_NativeProcess(exec_Process_Process_basic_exec_execute_4( self, UNBOX_NativeString( param0), UNBOX_NativeString( param1), UNTAG_Int( param2), UNTAG_Int( param3)));
 }
 void exec___IProcess___close(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_exec, 87, LOCATE_exec___IProcess___close};
+  struct trace_t trace = {NULL, NULL, 87, LOCATE_exec___IProcess___close};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_exec;
   variable0 = ATTR_exec___IProcess____in( self) /*IProcess::_in*/;
   ((stream___FDStream___close_t)CALL(variable0,COLOR_stream___IOS___close))(variable0) /*FDStream::close*/;
   tracehead = trace.prev;
   return;
 }
 val_t exec___IProcess___read_char(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_exec, 89, LOCATE_exec___IProcess___read_char};
+  struct trace_t trace = {NULL, NULL, 89, LOCATE_exec___IProcess___read_char};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_exec;
   variable0 = ATTR_exec___IProcess____in( self) /*IProcess::_in*/;
   variable0 = ((stream___FDIStream___read_char_t)CALL(variable0,COLOR_stream___IStream___read_char))(variable0) /*FDIStream::read_char*/;
   goto return_label11;
@@ -159,9 +171,10 @@ val_t exec___IProcess___read_char(val_t  self) {
   return variable0;
 }
 val_t exec___IProcess___eof(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_exec, 91, LOCATE_exec___IProcess___eof};
+  struct trace_t trace = {NULL, NULL, 91, LOCATE_exec___IProcess___eof};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_exec;
   variable0 = ATTR_exec___IProcess____in( self) /*IProcess::_in*/;
   variable0 = ((stream___FDIStream___eof_t)CALL(variable0,COLOR_stream___IStream___eof))(variable0) /*FDIStream::eof*/;
   goto return_label12;
@@ -170,12 +183,13 @@ val_t exec___IProcess___eof(val_t  self) {
   return variable0;
 }
 void exec___IProcess___init(val_t  self, val_t  param0, val_t  param1, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_exec, 93, LOCATE_exec___IProcess___init};
+  struct trace_t trace = {NULL, NULL, 93, LOCATE_exec___IProcess___init};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   val_t variable3;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_exec;
   variable0 =  param0;
   /* check if p<Array[String] with p:String */
   if (( param1!=NIT_NULL) && !VAL_ISA( param1, COLOR_Array, ID_Array)) { fprintf(stderr, "Cast failled"); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_exec___IProcess___eof, LOCATE_exec, 93); nit_exit(1); } /*cast Array[String]*/;
@@ -192,11 +206,12 @@ void exec___IProcess___init(val_t  self, val_t  param0, val_t  param1, int* init
   return;
 }
 void exec___IProcess___init_(val_t  self, val_t  param0, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_exec, 99, LOCATE_exec___IProcess___init_};
+  struct trace_t trace = {NULL, NULL, 99, LOCATE_exec___IProcess___init_};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_exec;
   variable0 =  param0;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_IProcess].i]) return;
   ((exec___Process___execute_t)CALL( self,COLOR_exec___Process___execute))( self,  variable0 /*command*/,  NIT_NULL /*null*/,  TAG_Int(2), init_table /*YYY*/) /*Process::execute*/;
@@ -210,18 +225,20 @@ void exec___IProcess___init_(val_t  self, val_t  param0, int* init_table) {
   return;
 }
 void exec___OProcess___close(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_exec, 112, LOCATE_exec___OProcess___close};
+  struct trace_t trace = {NULL, NULL, 112, LOCATE_exec___OProcess___close};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_exec;
   variable0 = ATTR_exec___OProcess____out( self) /*OProcess::_out*/;
   ((stream___IOS___close_t)CALL(variable0,COLOR_stream___IOS___close))(variable0) /*IOS::close*/;
   tracehead = trace.prev;
   return;
 }
 val_t exec___OProcess___is_writable(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_exec, 114, LOCATE_exec___OProcess___is_writable};
+  struct trace_t trace = {NULL, NULL, 114, LOCATE_exec___OProcess___is_writable};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_exec;
   variable0 = ATTR_exec___OProcess____out( self) /*OProcess::_out*/;
   variable0 = ((stream___OStream___is_writable_t)CALL(variable0,COLOR_stream___OStream___is_writable))(variable0) /*OStream::is_writable*/;
   goto return_label16;
@@ -230,10 +247,11 @@ val_t exec___OProcess___is_writable(val_t  self) {
   return variable0;
 }
 void exec___OProcess___write(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_exec, 116, LOCATE_exec___OProcess___write};
+  struct trace_t trace = {NULL, NULL, 116, LOCATE_exec___OProcess___write};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_exec;
   variable0 =  param0;
   variable1 = ATTR_exec___OProcess____out( self) /*OProcess::_out*/;
   ((stream___OStream___write_t)CALL(variable1,COLOR_stream___OStream___write))(variable1,  variable0 /*s*/) /*OStream::write*/;
@@ -241,12 +259,13 @@ void exec___OProcess___write(val_t  self, val_t  param0) {
   return;
 }
 void exec___OProcess___init(val_t  self, val_t  param0, val_t  param1, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_exec, 118, LOCATE_exec___OProcess___init};
+  struct trace_t trace = {NULL, NULL, 118, LOCATE_exec___OProcess___init};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   val_t variable3;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_exec;
   variable0 =  param0;
   /* check if p<Array[String] with p:String */
   if (( param1!=NIT_NULL) && !VAL_ISA( param1, COLOR_Array, ID_Array)) { fprintf(stderr, "Cast failled"); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_exec___OProcess___write, LOCATE_exec, 118); nit_exit(1); } /*cast Array[String]*/;
@@ -263,11 +282,12 @@ void exec___OProcess___init(val_t  self, val_t  param0, val_t  param1, int* init
   return;
 }
 void exec___OProcess___init_(val_t  self, val_t  param0, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_exec, 124, LOCATE_exec___OProcess___init_};
+  struct trace_t trace = {NULL, NULL, 124, LOCATE_exec___OProcess___init_};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_exec;
   variable0 =  param0;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_OProcess].i]) return;
   ((exec___Process___execute_t)CALL( self,COLOR_exec___Process___execute))( self,  variable0 /*command*/,  NIT_NULL /*null*/,  TAG_Int(1), init_table /*YYY*/) /*Process::execute*/;
@@ -281,9 +301,10 @@ void exec___OProcess___init_(val_t  self, val_t  param0, int* init_table) {
   return;
 }
 void exec___IOProcess___close(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_exec, 137, LOCATE_exec___IOProcess___close};
+  struct trace_t trace = {NULL, NULL, 137, LOCATE_exec___IOProcess___close};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_exec;
   variable0 = ATTR_exec___IProcess____in( self) /*IProcess::_in*/;
   ((stream___FDStream___close_t)CALL(variable0,COLOR_stream___IOS___close))(variable0) /*FDStream::close*/;
   variable0 = ATTR_exec___OProcess____out( self) /*OProcess::_out*/;
@@ -292,12 +313,13 @@ void exec___IOProcess___close(val_t  self) {
   return;
 }
 void exec___IOProcess___init(val_t  self, val_t  param0, val_t  param1, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_exec, 143, LOCATE_exec___IOProcess___init};
+  struct trace_t trace = {NULL, NULL, 143, LOCATE_exec___IOProcess___init};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   val_t variable3;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_exec;
   variable0 =  param0;
   /* check if p<Array[String] with p:String */
   if (( param1!=NIT_NULL) && !VAL_ISA( param1, COLOR_Array, ID_Array)) { fprintf(stderr, "Cast failled"); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_exec___IOProcess___close, LOCATE_exec, 143); nit_exit(1); } /*cast Array[String]*/;
@@ -321,11 +343,12 @@ void exec___IOProcess___init(val_t  self, val_t  param0, val_t  param1, int* ini
   return;
 }
 void exec___IOProcess___init_(val_t  self, val_t  param0, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_exec, 150, LOCATE_exec___IOProcess___init_};
+  struct trace_t trace = {NULL, NULL, 150, LOCATE_exec___IOProcess___init_};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_exec;
   variable0 =  param0;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_IOProcess].i]) return;
   ((exec___Process___execute_t)CALL( self,COLOR_exec___Process___execute))( self,  variable0 /*command*/,  NIT_NULL /*null*/,  TAG_Int(3), init_table /*YYY*/) /*Process::execute*/;
@@ -346,10 +369,11 @@ void exec___IOProcess___init_(val_t  self, val_t  param0, int* init_table) {
   return;
 }
 val_t exec___Sys___system(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_exec, 159, LOCATE_exec___Sys___system};
+  struct trace_t trace = {NULL, NULL, 159, LOCATE_exec___Sys___system};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_exec;
   variable0 =  param0;
   variable1 = ((string___String___to_cstring_t)CALL( variable0 /*command*/,COLOR_string___String___to_cstring))( variable0 /*command*/) /*String::to_cstring*/;
   variable1 = ((exec___NativeString___system_t)CALL(variable1,COLOR_exec___NativeString___system))(variable1) /*NativeString::system*/;
@@ -359,58 +383,67 @@ val_t exec___Sys___system(val_t  self, val_t  param0) {
   return variable1;
 }
 val_t exec___NativeString___system(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_exec, 167, LOCATE_exec___NativeString___system};
+  struct trace_t trace = {NULL, NULL, 167, LOCATE_exec___NativeString___system};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_exec;
   tracehead = trace.prev;
   return TAG_Int(string_NativeString_NativeString_system_0(UNBOX_NativeString( self)));
 }
 val_t exec___NativeProcess___id(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_exec, 172, LOCATE_exec___NativeProcess___id};
+  struct trace_t trace = {NULL, NULL, 172, LOCATE_exec___NativeProcess___id};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_exec;
   tracehead = trace.prev;
   return TAG_Int(exec_NativeProcess_NativeProcess_id_0(UNBOX_NativeProcess( self)));
 }
 val_t exec___NativeProcess___is_finished(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_exec, 173, LOCATE_exec___NativeProcess___is_finished};
+  struct trace_t trace = {NULL, NULL, 173, LOCATE_exec___NativeProcess___is_finished};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_exec;
   tracehead = trace.prev;
   return TAG_Bool(exec_NativeProcess_NativeProcess_is_finished_0(UNBOX_NativeProcess( self)));
 }
 val_t exec___NativeProcess___status(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_exec, 174, LOCATE_exec___NativeProcess___status};
+  struct trace_t trace = {NULL, NULL, 174, LOCATE_exec___NativeProcess___status};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_exec;
   tracehead = trace.prev;
   return TAG_Int(exec_NativeProcess_NativeProcess_status_0(UNBOX_NativeProcess( self)));
 }
 void exec___NativeProcess___wait(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_exec, 175, LOCATE_exec___NativeProcess___wait};
+  struct trace_t trace = {NULL, NULL, 175, LOCATE_exec___NativeProcess___wait};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_exec;
   exec_NativeProcess_NativeProcess_wait_0(UNBOX_NativeProcess( self));
   tracehead = trace.prev;
   return;
 }
 void exec___NativeProcess___kill(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_exec, 176, LOCATE_exec___NativeProcess___kill};
+  struct trace_t trace = {NULL, NULL, 176, LOCATE_exec___NativeProcess___kill};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_exec;
   exec_NativeProcess_NativeProcess_kill_1(UNBOX_NativeProcess( self), UNTAG_Int( param0));
   tracehead = trace.prev;
   return;
 }
 val_t exec___NativeProcess___in_fd(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_exec, 178, LOCATE_exec___NativeProcess___in_fd};
+  struct trace_t trace = {NULL, NULL, 178, LOCATE_exec___NativeProcess___in_fd};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_exec;
   tracehead = trace.prev;
   return TAG_Int(exec_NativeProcess_NativeProcess_in_fd_0(UNBOX_NativeProcess( self)));
 }
 val_t exec___NativeProcess___out_fd(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_exec, 179, LOCATE_exec___NativeProcess___out_fd};
+  struct trace_t trace = {NULL, NULL, 179, LOCATE_exec___NativeProcess___out_fd};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_exec;
   tracehead = trace.prev;
   return TAG_Int(exec_NativeProcess_NativeProcess_out_fd_0(UNBOX_NativeProcess( self)));
 }
 val_t exec___NativeProcess___err_fd(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_exec, 180, LOCATE_exec___NativeProcess___err_fd};
+  struct trace_t trace = {NULL, NULL, 180, LOCATE_exec___NativeProcess___err_fd};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_exec;
   tracehead = trace.prev;
   return TAG_Int(exec_NativeProcess_NativeProcess_err_fd_0(UNBOX_NativeProcess( self)));
 }
index 92931ec..0014e1e 100644 (file)
@@ -1,6 +1,6 @@
 /* This C header file is generated by NIT to compile modules and programs that requires exec. */
-#ifndef exec_2_sep
-#define exec_2_sep
+#ifndef exec_sep
+#define exec_sep
 #include "stream._sep.h"
 #include <nit_common.h>
 #include <exec_nit.h>
@@ -17,7 +17,7 @@ extern const classtable_elt_t VFT_NativeProcess[];
 struct TBOX_NativeProcess { const classtable_elt_t * vft; void * val;};
 val_t BOX_NativeProcess(void * val);
 #define UNBOX_NativeProcess(x) (((struct TBOX_NativeProcess *)(VAL2OBJ(x)))->val)
-#define LOCATE_exec "./../lib/standard//exec.nit"
+extern const char *LOCATE_exec;
 extern const int SFT_exec[];
 #define ID_Process SFT_exec[0]
 #define COLOR_Process SFT_exec[1]
index 3044e85..2e92558 100644 (file)
@@ -1,11 +1,12 @@
 /* This C file is generated by NIT to compile module file. */
 #include "file._sep.h"
 void file___Object___printn(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_file, 24, LOCATE_file___Object___printn};
+  struct trace_t trace = {NULL, NULL, 24, LOCATE_file___Object___printn};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_file;
   /* check if p<Array[Object] with p:Object */
   if (( param0!=NIT_NULL) && !VAL_ISA( param0, COLOR_Array, ID_Array)) { fprintf(stderr, "Cast failled"); fprintf(stderr, " (%s:%d)\n", LOCATE_file, 25); nit_exit(1); } /*cast Array[Object]*/;
   variable0 =  param0;
@@ -16,11 +17,12 @@ void file___Object___printn(val_t  self, val_t  param0) {
   return;
 }
 void file___Object___print(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_file, 30, LOCATE_file___Object___print};
+  struct trace_t trace = {NULL, NULL, 30, LOCATE_file___Object___print};
   val_t variable0;
   val_t variable1;
     val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_file;
   variable0 =  param0;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*object*/ ==  NIT_NULL /*null*/) || (( variable0 /*object*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*object*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*object*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*object*/,COLOR_kernel___Object_____eqeq))( variable0 /*object*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable1)) { /*if*/
@@ -35,9 +37,10 @@ void file___Object___print(val_t  self, val_t  param0) {
   return;
 }
 val_t file___Object___getc(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_file, 39, LOCATE_file___Object___getc};
+  struct trace_t trace = {NULL, NULL, 39, LOCATE_file___Object___getc};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_file;
   variable0 = ((file___Object___stdin_t)CALL( self,COLOR_file___Object___stdin))( self) /*Object::stdin*/;
   variable0 = ((stream___BufferedIStream___read_char_t)CALL(variable0,COLOR_stream___IStream___read_char))(variable0) /*BufferedIStream::read_char*/;
   variable0 = TAG_Char(UNTAG_Int(variable0));
@@ -47,9 +50,10 @@ val_t file___Object___getc(val_t  self) {
   return variable0;
 }
 val_t file___Object___gets(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_file, 45, LOCATE_file___Object___gets};
+  struct trace_t trace = {NULL, NULL, 45, LOCATE_file___Object___gets};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_file;
   variable0 = ((file___Object___stdin_t)CALL( self,COLOR_file___Object___stdin))( self) /*Object::stdin*/;
   variable0 = ((stream___IStream___read_line_t)CALL(variable0,COLOR_stream___IStream___read_line))(variable0) /*IStream::read_line*/;
   goto return_label3;
@@ -58,10 +62,11 @@ val_t file___Object___gets(val_t  self) {
   return variable0;
 }
 val_t file___Object___stdin(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_file, 288, LOCATE_file___Object___stdin};
+  struct trace_t trace = {NULL, NULL, 288, LOCATE_file___Object___stdin};
   val_t variable0;
   static val_t once_value_variable0_5; static int once_bool_variable0_5;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_file;
   if (once_bool_variable0_5) variable0 = once_value_variable0_5;
   else {
     variable0 = NEW_file___Stdin___init(); /*new Stdin*/
@@ -74,10 +79,11 @@ val_t file___Object___stdin(val_t  self) {
   return variable0;
 }
 val_t file___Object___stdout(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_file, 291, LOCATE_file___Object___stdout};
+  struct trace_t trace = {NULL, NULL, 291, LOCATE_file___Object___stdout};
   val_t variable0;
   static val_t once_value_variable0_7; static int once_bool_variable0_7;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_file;
   if (once_bool_variable0_7) variable0 = once_value_variable0_7;
   else {
     variable0 = NEW_file___Stdout___init(); /*new Stdout*/
@@ -90,10 +96,11 @@ val_t file___Object___stdout(val_t  self) {
   return variable0;
 }
 val_t file___Object___stderr(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_file, 294, LOCATE_file___Object___stderr};
+  struct trace_t trace = {NULL, NULL, 294, LOCATE_file___Object___stderr};
   val_t variable0;
   static val_t once_value_variable0_9; static int once_bool_variable0_9;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_file;
   if (once_bool_variable0_9) variable0 = once_value_variable0_9;
   else {
     variable0 = NEW_file___Stderr___init(); /*new Stderr*/
@@ -106,15 +113,17 @@ val_t file___Object___stderr(val_t  self) {
   return variable0;
 }
 val_t file___FStream___path(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_file, 57, LOCATE_file___FStream___path};
+  struct trace_t trace = {NULL, NULL, 57, LOCATE_file___FStream___path};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_file;
   tracehead = trace.prev;
   return ATTR_file___FStream____path( self) /*FStream::_path*/;
 }
 val_t file___FStream___file_stat(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_file, 63, LOCATE_file___FStream___file_stat};
+  struct trace_t trace = {NULL, NULL, 63, LOCATE_file___FStream___file_stat};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_file;
   variable0 = ATTR_file___FStream____file( self) /*FStream::_file*/;
   variable0 = ((file___NativeFile___file_stat_t)CALL(variable0,COLOR_file___NativeFile___file_stat))(variable0) /*NativeFile::file_stat*/;
   goto return_label10;
@@ -123,9 +132,10 @@ val_t file___FStream___file_stat(val_t  self) {
   return variable0;
 }
 void file___IFStream___reopen(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_file, 73, LOCATE_file___IFStream___reopen};
+  struct trace_t trace = {NULL, NULL, 73, LOCATE_file___IFStream___reopen};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_file;
   variable0 = ((stream___BufferedIStream___eof_t)CALL( self,COLOR_stream___IStream___eof))( self) /*BufferedIStream::eof*/;
   if (UNTAG_Bool( TAG_Bool(!UNTAG_Bool(variable0)))) { /*if*/
     ((file___IFStream___close_t)CALL( self,COLOR_stream___IOS___close))( self) /*IFStream::close*/;
@@ -142,10 +152,11 @@ void file___IFStream___reopen(val_t  self) {
   return;
 }
 void file___IFStream___close(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_file, 82, LOCATE_file___IFStream___close};
+  struct trace_t trace = {NULL, NULL, 82, LOCATE_file___IFStream___close};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_file;
   variable1 = ATTR_file___FStream____file( self) /*FStream::_file*/;
   variable1 = ((file___NativeFile___io_close_t)CALL(variable1,COLOR_file___NativeFile___io_close))(variable1) /*NativeFile::io_close*/;
   variable0 = variable1;
@@ -154,12 +165,13 @@ void file___IFStream___close(val_t  self) {
   return;
 }
 void file___IFStream___fill_buffer(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_file, 88, LOCATE_file___IFStream___fill_buffer};
+  struct trace_t trace = {NULL, NULL, 88, LOCATE_file___IFStream___fill_buffer};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   val_t variable3;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_file;
   variable1 = ATTR_file___FStream____file( self) /*FStream::_file*/;
   variable2 = ATTR_stream___BufferedIStream____buffer( self) /*BufferedIStream::_buffer*/;
   variable2 = ATTR_string___String____items(variable2) /*String::_items*/;
@@ -179,16 +191,18 @@ void file___IFStream___fill_buffer(val_t  self) {
   return;
 }
 val_t file___IFStream___end_reached(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_file, 100, LOCATE_file___IFStream___end_reached};
+  struct trace_t trace = {NULL, NULL, 100, LOCATE_file___IFStream___end_reached};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_file;
   tracehead = trace.prev;
   return ATTR_file___IFStream____end_reached( self) /*IFStream::_end_reached*/;
 }
 void file___IFStream___open(val_t  self, val_t  param0, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_file, 103, LOCATE_file___IFStream___open};
+  struct trace_t trace = {NULL, NULL, 103, LOCATE_file___IFStream___open};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_file;
   variable0 =  param0;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_IFStream].i]) return;
   ATTR_file___FStream____path( self) /*FStream::_path*/ =  variable0 /*path*/;
@@ -205,19 +219,21 @@ void file___IFStream___open(val_t  self, val_t  param0, int* init_table) {
   return;
 }
 void file___IFStream___without_file(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_file, 112, LOCATE_file___IFStream___without_file};
+  struct trace_t trace = {NULL, NULL, 112, LOCATE_file___IFStream___without_file};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_file;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_IFStream].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_IFStream].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void file___OFStream___write(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_file, 120, LOCATE_file___OFStream___write};
+  struct trace_t trace = {NULL, NULL, 120, LOCATE_file___OFStream___write};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_file;
   variable0 =  param0;
   variable1 = ATTR_file___OFStream____writable( self) /*OFStream::_writable*/;
   if (!UNTAG_Bool(variable1)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_file___OFStream___write, LOCATE_file, 123); nit_exit(1);}
@@ -228,9 +244,10 @@ void file___OFStream___write(val_t  self, val_t  param0) {
   return;
 }
 val_t file___OFStream___is_writable(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_file, 127, LOCATE_file___OFStream___is_writable};
+  struct trace_t trace = {NULL, NULL, 127, LOCATE_file___OFStream___is_writable};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_file;
   variable0 = ATTR_file___OFStream____writable( self) /*OFStream::_writable*/;
   goto return_label17;
   return_label17: while(false);
@@ -238,10 +255,11 @@ val_t file___OFStream___is_writable(val_t  self) {
   return variable0;
 }
 void file___OFStream___close(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_file, 129, LOCATE_file___OFStream___close};
+  struct trace_t trace = {NULL, NULL, 129, LOCATE_file___OFStream___close};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_file;
   variable1 = ATTR_file___FStream____file( self) /*FStream::_file*/;
   variable1 = ((file___NativeFile___io_close_t)CALL(variable1,COLOR_file___NativeFile___io_close))(variable1) /*NativeFile::io_close*/;
   variable0 = variable1;
@@ -250,7 +268,7 @@ void file___OFStream___close(val_t  self) {
   return;
 }
 void file___OFStream___write_native(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_file, 138, LOCATE_file___OFStream___write_native};
+  struct trace_t trace = {NULL, NULL, 138, LOCATE_file___OFStream___write_native};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -259,6 +277,7 @@ void file___OFStream___write_native(val_t  self, val_t  param0, val_t  param1) {
     val_t variable5;
     val_t variable6;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_file;
   variable0 =  param0;
   variable1 =  param1;
   variable2 = ATTR_file___OFStream____writable( self) /*OFStream::_writable*/;
@@ -283,10 +302,11 @@ void file___OFStream___write_native(val_t  self, val_t  param0, val_t  param1) {
   return;
 }
 void file___OFStream___open(val_t  self, val_t  param0, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_file, 149, LOCATE_file___OFStream___open};
+  struct trace_t trace = {NULL, NULL, 149, LOCATE_file___OFStream___open};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_file;
   variable0 =  param0;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_OFStream].i]) return;
   variable1 = ((string___String___to_cstring_t)CALL( variable0 /*path*/,COLOR_string___String___to_cstring))( variable0 /*path*/) /*String::to_cstring*/;
@@ -302,17 +322,19 @@ void file___OFStream___open(val_t  self, val_t  param0, int* init_table) {
   return;
 }
 void file___OFStream___without_file(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_file, 158, LOCATE_file___OFStream___without_file};
+  struct trace_t trace = {NULL, NULL, 158, LOCATE_file___OFStream___without_file};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_file;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_OFStream].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_OFStream].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void file___Stdin___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_file, 165, LOCATE_file___Stdin___init};
+  struct trace_t trace = {NULL, NULL, 165, LOCATE_file___Stdin___init};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_file;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_Stdin].i]) return;
   ((file___IFStream___without_file_t)CALL( self,COLOR_file___IFStream___without_file))( self, init_table /*YYY*/) /*IFStream::without_file*/;
   variable0 = ((file___NativeFileCapable___native_stdin_t)CALL( self,COLOR_file___NativeFileCapable___native_stdin))( self) /*NativeFileCapable::native_stdin*/;
@@ -325,9 +347,10 @@ void file___Stdin___init(val_t  self, int* init_table) {
   return;
 }
 void file___Stdout___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_file, 174, LOCATE_file___Stdout___init};
+  struct trace_t trace = {NULL, NULL, 174, LOCATE_file___Stdout___init};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_file;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_Stdout].i]) return;
   ((file___OFStream___without_file_t)CALL( self,COLOR_file___OFStream___without_file))( self, init_table /*YYY*/) /*OFStream::without_file*/;
   variable0 = ((file___NativeFileCapable___native_stdout_t)CALL( self,COLOR_file___NativeFileCapable___native_stdout))( self) /*NativeFileCapable::native_stdout*/;
@@ -340,9 +363,10 @@ void file___Stdout___init(val_t  self, int* init_table) {
   return;
 }
 void file___Stderr___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_file, 183, LOCATE_file___Stderr___init};
+  struct trace_t trace = {NULL, NULL, 183, LOCATE_file___Stderr___init};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_file;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_Stderr].i]) return;
   ((file___OFStream___without_file_t)CALL( self,COLOR_file___OFStream___without_file))( self, init_table /*YYY*/) /*OFStream::without_file*/;
   variable0 = ((file___NativeFileCapable___native_stderr_t)CALL( self,COLOR_file___NativeFileCapable___native_stderr))( self) /*NativeFileCapable::native_stderr*/;
@@ -355,9 +379,10 @@ void file___Stderr___init(val_t  self, int* init_table) {
   return;
 }
 val_t file___String___file_exists(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_file, 193, LOCATE_file___String___file_exists};
+  struct trace_t trace = {NULL, NULL, 193, LOCATE_file___String___file_exists};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_file;
   variable0 = ((string___String___to_cstring_t)CALL( self,COLOR_string___String___to_cstring))( self) /*String::to_cstring*/;
   variable0 = ((file___NativeString___file_exists_t)CALL(variable0,COLOR_file___NativeString___file_exists))(variable0) /*NativeString::file_exists*/;
   goto return_label25;
@@ -366,9 +391,10 @@ val_t file___String___file_exists(val_t  self) {
   return variable0;
 }
 val_t file___String___file_stat(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_file, 196, LOCATE_file___String___file_stat};
+  struct trace_t trace = {NULL, NULL, 196, LOCATE_file___String___file_stat};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_file;
   variable0 = ((string___String___to_cstring_t)CALL( self,COLOR_string___String___to_cstring))( self) /*String::to_cstring*/;
   variable0 = ((file___NativeString___file_stat_t)CALL(variable0,COLOR_file___NativeString___file_stat))(variable0) /*NativeString::file_stat*/;
   goto return_label26;
@@ -377,11 +403,12 @@ val_t file___String___file_stat(val_t  self) {
   return variable0;
 }
 val_t file___String___strip_extension(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_file, 198, LOCATE_file___String___strip_extension};
+  struct trace_t trace = {NULL, NULL, 198, LOCATE_file___String___strip_extension};
   val_t variable0;
   val_t variable1;
     val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_file;
   variable0 =  param0;
   variable1 = ((string___String___has_suffix_t)CALL( self,COLOR_string___String___has_suffix))( self,  variable0 /*ext*/) /*String::has_suffix*/;
   if (UNTAG_Bool(variable1)) { /*if*/
@@ -398,12 +425,13 @@ val_t file___String___strip_extension(val_t  self, val_t  param0) {
   return variable1;
 }
 val_t file___String___basename(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_file, 206, LOCATE_file___String___basename};
+  struct trace_t trace = {NULL, NULL, 206, LOCATE_file___String___basename};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   val_t variable3;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_file;
   variable0 =  param0;
   variable2 = ATTR_array___AbstractArray____length( self) /*AbstractArray::_length*/;
   variable2 = TAG_Int(UNTAG_Int(variable2)-UNTAG_Int( TAG_Int(1)));
@@ -424,10 +452,11 @@ val_t file___String___basename(val_t  self, val_t  param0) {
   return variable1;
 }
 val_t file___String___dirname(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_file, 216, LOCATE_file___String___dirname};
+  struct trace_t trace = {NULL, NULL, 216, LOCATE_file___String___dirname};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_file;
   variable1 = ATTR_array___AbstractArray____length( self) /*AbstractArray::_length*/;
   variable1 = TAG_Int(UNTAG_Int(variable1)-UNTAG_Int( TAG_Int(1)));
   variable1 = ((array___AbstractArray___last_index_of_from_t)CALL( self,COLOR_array___AbstractArray___last_index_of_from))( self,  TAG_Char('/'), variable1) /*AbstractArray::last_index_of_from*/;
@@ -447,11 +476,12 @@ val_t file___String___dirname(val_t  self) {
   return variable0;
 }
 val_t file___String___file_path(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_file, 226, LOCATE_file___String___file_path};
+  struct trace_t trace = {NULL, NULL, 226, LOCATE_file___String___file_path};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_file;
   variable1 = ATTR_array___AbstractArray____length( self) /*AbstractArray::_length*/;
   variable0 = variable1;
   variable2 = TAG_Int(UNTAG_Int( variable0 /*l*/)-UNTAG_Int( TAG_Int(1)));
@@ -471,13 +501,14 @@ val_t file___String___file_path(val_t  self) {
   return variable0;
 }
 void file___String___mkdir(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_file, 236, LOCATE_file___String___mkdir};
+  struct trace_t trace = {NULL, NULL, 236, LOCATE_file___String___mkdir};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   val_t variable3;
   val_t variable4;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_file;
   variable1 = NEW_string___String___with_native(BOX_NativeString("/"), TAG_Int(1)); /*new String*/
   variable1 = ((string_search___String___split_with_t)CALL( self,COLOR_string_search___String___split_with))( self, variable1) /*String::split_with*/;
   variable0 = variable1;
@@ -527,104 +558,121 @@ void file___String___mkdir(val_t  self) {
   return;
 }
 val_t file___NativeString___file_exists(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_file, 256, LOCATE_file___NativeString___file_exists};
+  struct trace_t trace = {NULL, NULL, 256, LOCATE_file___NativeString___file_exists};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_file;
   tracehead = trace.prev;
   return TAG_Bool(string_NativeString_NativeString_file_exists_0(UNBOX_NativeString( self)));
 }
 val_t file___NativeString___file_stat(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_file, 257, LOCATE_file___NativeString___file_stat};
+  struct trace_t trace = {NULL, NULL, 257, LOCATE_file___NativeString___file_stat};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_file;
   tracehead = trace.prev;
   return BOX_FileStat(string_NativeString_NativeString_file_stat_0(UNBOX_NativeString( self)));
 }
 val_t file___NativeString___file_mkdir(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_file, 258, LOCATE_file___NativeString___file_mkdir};
+  struct trace_t trace = {NULL, NULL, 258, LOCATE_file___NativeString___file_mkdir};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_file;
   tracehead = trace.prev;
   return TAG_Bool(string_NativeString_NativeString_file_mkdir_0(UNBOX_NativeString( self)));
 }
 val_t file___FileStat___mode(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_file, 263, LOCATE_file___FileStat___mode};
+  struct trace_t trace = {NULL, NULL, 263, LOCATE_file___FileStat___mode};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_file;
   tracehead = trace.prev;
   return TAG_Int(file_FileStat_FileStat_mode_0(UNBOX_FileStat( self)));
 }
 val_t file___FileStat___atime(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_file, 265, LOCATE_file___FileStat___atime};
+  struct trace_t trace = {NULL, NULL, 265, LOCATE_file___FileStat___atime};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_file;
   tracehead = trace.prev;
   return TAG_Int(file_FileStat_FileStat_atime_0(UNBOX_FileStat( self)));
 }
 val_t file___FileStat___ctime(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_file, 266, LOCATE_file___FileStat___ctime};
+  struct trace_t trace = {NULL, NULL, 266, LOCATE_file___FileStat___ctime};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_file;
   tracehead = trace.prev;
   return TAG_Int(file_FileStat_FileStat_ctime_0(UNBOX_FileStat( self)));
 }
 val_t file___FileStat___mtime(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_file, 267, LOCATE_file___FileStat___mtime};
+  struct trace_t trace = {NULL, NULL, 267, LOCATE_file___FileStat___mtime};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_file;
   tracehead = trace.prev;
   return TAG_Int(file_FileStat_FileStat_mtime_0(UNBOX_FileStat( self)));
 }
 val_t file___FileStat___size(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_file, 268, LOCATE_file___FileStat___size};
+  struct trace_t trace = {NULL, NULL, 268, LOCATE_file___FileStat___size};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_file;
   tracehead = trace.prev;
   return TAG_Int(file_FileStat_FileStat_size_0(UNBOX_FileStat( self)));
 }
 val_t file___NativeFile___io_read(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_file, 274, LOCATE_file___NativeFile___io_read};
+  struct trace_t trace = {NULL, NULL, 274, LOCATE_file___NativeFile___io_read};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_file;
   tracehead = trace.prev;
   return TAG_Int(file_NativeFile_NativeFile_io_read_2(UNBOX_NativeFile( self), UNBOX_NativeString( param0), UNTAG_Int( param1)));
 }
 val_t file___NativeFile___io_write(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_file, 275, LOCATE_file___NativeFile___io_write};
+  struct trace_t trace = {NULL, NULL, 275, LOCATE_file___NativeFile___io_write};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_file;
   tracehead = trace.prev;
   return TAG_Int(file_NativeFile_NativeFile_io_write_2(UNBOX_NativeFile( self), UNBOX_NativeString( param0), UNTAG_Int( param1)));
 }
 val_t file___NativeFile___io_close(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_file, 276, LOCATE_file___NativeFile___io_close};
+  struct trace_t trace = {NULL, NULL, 276, LOCATE_file___NativeFile___io_close};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_file;
   tracehead = trace.prev;
   return TAG_Int(file_NativeFile_NativeFile_io_close_0(UNBOX_NativeFile( self)));
 }
 val_t file___NativeFile___file_stat(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_file, 277, LOCATE_file___NativeFile___file_stat};
+  struct trace_t trace = {NULL, NULL, 277, LOCATE_file___NativeFile___file_stat};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_file;
   tracehead = trace.prev;
   return BOX_FileStat(file_NativeFile_NativeFile_file_stat_0(UNBOX_NativeFile( self)));
 }
 val_t file___NativeFileCapable___io_open_read(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_file, 281, LOCATE_file___NativeFileCapable___io_open_read};
+  struct trace_t trace = {NULL, NULL, 281, LOCATE_file___NativeFileCapable___io_open_read};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_file;
   tracehead = trace.prev;
   return BOX_NativeFile(file_NativeFileCapable_NativeFileCapable_io_open_read_1( self, UNBOX_NativeString( param0)));
 }
 val_t file___NativeFileCapable___io_open_write(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_file, 282, LOCATE_file___NativeFileCapable___io_open_write};
+  struct trace_t trace = {NULL, NULL, 282, LOCATE_file___NativeFileCapable___io_open_write};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_file;
   tracehead = trace.prev;
   return BOX_NativeFile(file_NativeFileCapable_NativeFileCapable_io_open_write_1( self, UNBOX_NativeString( param0)));
 }
 val_t file___NativeFileCapable___native_stdin(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_file, 283, LOCATE_file___NativeFileCapable___native_stdin};
+  struct trace_t trace = {NULL, NULL, 283, LOCATE_file___NativeFileCapable___native_stdin};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_file;
   tracehead = trace.prev;
   return BOX_NativeFile(file_NativeFileCapable_NativeFileCapable_native_stdin_0( self));
 }
 val_t file___NativeFileCapable___native_stdout(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_file, 284, LOCATE_file___NativeFileCapable___native_stdout};
+  struct trace_t trace = {NULL, NULL, 284, LOCATE_file___NativeFileCapable___native_stdout};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_file;
   tracehead = trace.prev;
   return BOX_NativeFile(file_NativeFileCapable_NativeFileCapable_native_stdout_0( self));
 }
 val_t file___NativeFileCapable___native_stderr(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_file, 285, LOCATE_file___NativeFileCapable___native_stderr};
+  struct trace_t trace = {NULL, NULL, 285, LOCATE_file___NativeFileCapable___native_stderr};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_file;
   tracehead = trace.prev;
   return BOX_NativeFile(file_NativeFileCapable_NativeFileCapable_native_stderr_0( self));
 }
index a486c7a..695179f 100644 (file)
@@ -1,6 +1,6 @@
 /* This C header file is generated by NIT to compile modules and programs that requires file. */
-#ifndef file_2_sep
-#define file_2_sep
+#ifndef file_sep
+#define file_sep
 #include "stream._sep.h"
 #include "string_search._sep.h"
 #include <nit_common.h>
@@ -29,7 +29,7 @@ val_t BOX_NativeFile(void * val);
 #define UNBOX_NativeFile(x) (((struct TBOX_NativeFile *)(VAL2OBJ(x)))->val)
 
 extern const classtable_elt_t VFT_NativeFileCapable[];
-#define LOCATE_file "./../lib/standard//file.nit"
+extern const char *LOCATE_file;
 extern const int SFT_file[];
 #define COLOR_file___Object___printn SFT_file[0]
 #define COLOR_file___Object___print SFT_file[1]
index 075feaf..b15b19b 100644 (file)
@@ -1,13 +1,14 @@
 /* This C file is generated by NIT to compile module genericity. */
 #include "genericity._sep.h"
 val_t genericity___MMLocalClass___get_formal(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_genericity, 25, LOCATE_genericity___MMLocalClass___get_formal};
+  struct trace_t trace = {NULL, NULL, 25, LOCATE_genericity___MMLocalClass___get_formal};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   val_t variable3;
   val_t variable4;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_genericity;
   variable0 =  param0;
   variable1 = ((genericity___MMLocalClass___formals_types_t)CALL( self,COLOR_genericity___MMLocalClass___formals_types))( self) /*MMLocalClass::formals_types*/;
   variable2 =  variable0 /*pos*/;
@@ -32,11 +33,12 @@ val_t genericity___MMLocalClass___get_formal(val_t  self, val_t  param0) {
   return variable1;
 }
 void genericity___MMLocalClass___register_formal(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_genericity, 31, LOCATE_genericity___MMLocalClass___register_formal};
+  struct trace_t trace = {NULL, NULL, 31, LOCATE_genericity___MMLocalClass___register_formal};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_genericity;
   variable0 =  param0;
   variable1 = ((genericity___MMTypeFormalParameter___def_class_t)CALL( variable0 /*f*/,COLOR_genericity___MMTypeFormalParameter___def_class))( variable0 /*f*/) /*MMTypeFormalParameter::def_class*/;
   variable1 = TAG_Bool((variable1 ==  self) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, self)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1,  self) /*Object::==*/)))));
@@ -52,12 +54,13 @@ void genericity___MMLocalClass___register_formal(val_t  self, val_t  param0) {
   return;
 }
 val_t genericity___MMLocalClass___get_instantiate_type(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_genericity, 43, LOCATE_genericity___MMLocalClass___get_instantiate_type};
+  struct trace_t trace = {NULL, NULL, 43, LOCATE_genericity___MMLocalClass___get_instantiate_type};
   val_t variable0;
   val_t variable1;
     val_t variable2;
     val_t variable3;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_genericity;
   variable0 =  param0;
   variable1 = ATTR_genericity___MMLocalClass____types( self) /*MMLocalClass::_types*/;
   variable1 = ((array___AbstractArray___iterator_t)CALL(variable1,COLOR_abstract_collection___Collection___iterator))(variable1) /*AbstractArray::iterator*/;
@@ -85,7 +88,7 @@ val_t genericity___MMLocalClass___get_instantiate_type(val_t  self, val_t  param
   return variable1;
 }
 val_t genericity___MMLocalClass___formals_types(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_genericity, 57, LOCATE_genericity___MMLocalClass___formals_types};
+  struct trace_t trace = {NULL, NULL, 57, LOCATE_genericity___MMLocalClass___formals_types};
   val_t variable0;
     val_t variable1;
       val_t variable2;
@@ -95,6 +98,7 @@ val_t genericity___MMLocalClass___formals_types(val_t  self) {
       val_t variable6;
       val_t variable7;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_genericity;
   variable0 = ATTR_genericity___MMLocalClass____formals_types( self) /*MMLocalClass::_formals_types*/;
   variable0 = ((array___AbstractArray___is_empty_t)CALL(variable0,COLOR_abstract_collection___Collection___is_empty))(variable0) /*AbstractArray::is_empty*/;
   if (UNTAG_Bool(variable0)) { /*if*/
@@ -167,10 +171,11 @@ val_t genericity___MMLocalClass___formals_types(val_t  self) {
   return variable0;
 }
 val_t genericity___MMLocalClass___get_type(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_genericity, 80, LOCATE_genericity___MMLocalClass___get_type};
+  struct trace_t trace = {NULL, NULL, 80, LOCATE_genericity___MMLocalClass___get_type};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_genericity;
   variable0 = ATTR_static_type___MMLocalClass____base_type_cache( self) /*MMLocalClass::_base_type_cache*/;
   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::==*/)))));
   variable1 = variable0;
@@ -193,9 +198,10 @@ val_t genericity___MMLocalClass___get_type(val_t  self) {
   return variable0;
 }
 val_t genericity___MMLocalClass___is_generic(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_genericity, 90, LOCATE_genericity___MMLocalClass___is_generic};
+  struct trace_t trace = {NULL, NULL, 90, LOCATE_genericity___MMLocalClass___is_generic};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_genericity;
   variable0 = ((abstractmetamodel___MMLocalClass___arity_t)CALL( self,COLOR_abstractmetamodel___MMLocalClass___arity))( self) /*MMLocalClass::arity*/;
   variable0 = TAG_Bool(UNTAG_Int(variable0)>UNTAG_Int( TAG_Int(0)));
   goto return_label10;
@@ -204,8 +210,9 @@ val_t genericity___MMLocalClass___is_generic(val_t  self) {
   return variable0;
 }
 val_t genericity___MMType___is_generic(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_genericity, 95, LOCATE_genericity___MMType___is_generic};
+  struct trace_t trace = {NULL, NULL, 95, LOCATE_genericity___MMType___is_generic};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_genericity;
   fprintf(stderr, "Deferred method %s called");
   fprintf(stderr, " in %s (%s:%d)\n", LOCATE_genericity___MMLocalClass___is_generic, LOCATE_genericity, 95);
   nit_exit(1);
@@ -213,9 +220,10 @@ val_t genericity___MMType___is_generic(val_t  self) {
   return NIT_NULL;
 }
 val_t genericity___MMTypeFormal___is_generic(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_genericity, 100, LOCATE_genericity___MMTypeFormal___is_generic};
+  struct trace_t trace = {NULL, NULL, 100, LOCATE_genericity___MMTypeFormal___is_generic};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_genericity;
   variable0 = ATTR_type_formal___MMTypeFormal____bound( self) /*MMTypeFormal::_bound*/;
   variable0 = ((genericity___MMType___is_generic_t)CALL(variable0,COLOR_genericity___MMType___is_generic))(variable0) /*MMType::is_generic*/;
   goto return_label11;
@@ -224,9 +232,10 @@ val_t genericity___MMTypeFormal___is_generic(val_t  self) {
   return variable0;
 }
 val_t genericity___MMTypeSimpleClass___is_generic(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_genericity, 104, LOCATE_genericity___MMTypeSimpleClass___is_generic};
+  struct trace_t trace = {NULL, NULL, 104, LOCATE_genericity___MMTypeSimpleClass___is_generic};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_genericity;
   variable0 =  TAG_Bool(false);
   goto return_label12;
   return_label12: while(false);
@@ -234,15 +243,17 @@ val_t genericity___MMTypeSimpleClass___is_generic(val_t  self) {
   return variable0;
 }
 val_t genericity___MMTypeGeneric___params(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_genericity, 109, LOCATE_genericity___MMTypeGeneric___params};
+  struct trace_t trace = {NULL, NULL, 109, LOCATE_genericity___MMTypeGeneric___params};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_genericity;
   tracehead = trace.prev;
   return ATTR_genericity___MMTypeGeneric____params( self) /*MMTypeGeneric::_params*/;
 }
 val_t genericity___MMTypeGeneric___is_generic(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_genericity, 112, LOCATE_genericity___MMTypeGeneric___is_generic};
+  struct trace_t trace = {NULL, NULL, 112, LOCATE_genericity___MMTypeGeneric___is_generic};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_genericity;
   variable0 =  TAG_Bool(true);
   goto return_label13;
   return_label13: while(false);
@@ -250,11 +261,12 @@ val_t genericity___MMTypeGeneric___is_generic(val_t  self) {
   return variable0;
 }
 val_t genericity___MMTypeGeneric___is_supertype(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_genericity, 114, LOCATE_genericity___MMTypeGeneric___is_supertype};
+  struct trace_t trace = {NULL, NULL, 114, LOCATE_genericity___MMTypeGeneric___is_supertype};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_genericity;
   variable0 =  param0;
   variable1 = ((static_type___MMType___local_class_t)CALL( variable0 /*t*/,COLOR_static_type___MMType___local_class))( variable0 /*t*/) /*MMType::local_class*/;
   variable1 = ((abstractmetamodel___MMLocalClass___cshe_t)CALL(variable1,COLOR_abstractmetamodel___MMLocalClass___cshe))(variable1) /*MMLocalClass::cshe*/;
@@ -278,11 +290,12 @@ val_t genericity___MMTypeGeneric___is_supertype(val_t  self, val_t  param0) {
   return variable1;
 }
 val_t genericity___MMTypeGeneric___upcast_for(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_genericity, 125, LOCATE_genericity___MMTypeGeneric___upcast_for};
+  struct trace_t trace = {NULL, NULL, 125, LOCATE_genericity___MMTypeGeneric___upcast_for};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_genericity;
   variable0 =  param0;
   variable2 = ((genericity___MMTypeGeneric___upcast_for_t)CALL( self,COLOR_SUPER_genericity___MMTypeGeneric___upcast_for))( self,  param0) /*super MMTypeGeneric::upcast_for*/;
   variable1 = variable2;
@@ -298,7 +311,7 @@ val_t genericity___MMTypeGeneric___upcast_for(val_t  self, val_t  param0) {
   return variable1;
 }
 val_t genericity___MMTypeGeneric___for_module(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_genericity, 134, LOCATE_genericity___MMTypeGeneric___for_module};
+  struct trace_t trace = {NULL, NULL, 134, LOCATE_genericity___MMTypeGeneric___for_module};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -306,6 +319,7 @@ val_t genericity___MMTypeGeneric___for_module(val_t  self, val_t  param0) {
       val_t variable4;
       val_t variable5;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_genericity;
   variable0 =  param0;
   variable1 =  self;
   variable2 = ((static_type___MMTypeClass___module_t)CALL( self,COLOR_static_type___MMType___module))( self) /*MMTypeClass::module*/;
@@ -340,13 +354,14 @@ val_t genericity___MMTypeGeneric___for_module(val_t  self, val_t  param0) {
   return variable1;
 }
 val_t genericity___MMTypeGeneric___adapt_to(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_genericity, 149, LOCATE_genericity___MMTypeGeneric___adapt_to};
+  struct trace_t trace = {NULL, NULL, 149, LOCATE_genericity___MMTypeGeneric___adapt_to};
   val_t variable0;
   val_t variable1;
   val_t variable2;
     val_t variable3;
     val_t variable4;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_genericity;
   variable0 =  param0;
   variable2 = NEW_array___Array___init(); /*new Array[E]*/
   variable1 = variable2;
@@ -372,7 +387,7 @@ val_t genericity___MMTypeGeneric___adapt_to(val_t  self, val_t  param0) {
   return variable1;
 }
 val_t genericity___MMTypeGeneric___params_equals(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_genericity, 159, LOCATE_genericity___MMTypeGeneric___params_equals};
+  struct trace_t trace = {NULL, NULL, 159, LOCATE_genericity___MMTypeGeneric___params_equals};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -381,6 +396,7 @@ val_t genericity___MMTypeGeneric___params_equals(val_t  self, val_t  param0) {
     val_t variable5;
     val_t variable6;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_genericity;
   variable0 =  param0;
   variable1 = ((array___AbstractArray___length_t)CALL( variable0 /*t*/,COLOR_abstract_collection___Collection___length))( variable0 /*t*/) /*AbstractArray::length*/;
   variable2 = ATTR_genericity___MMTypeGeneric____params( self) /*MMTypeGeneric::_params*/;
@@ -480,7 +496,7 @@ val_t genericity___MMTypeGeneric___params_equals(val_t  self, val_t  param0) {
   return variable1;
 }
 val_t genericity___MMTypeGeneric___to_s(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_genericity, 174, LOCATE_genericity___MMTypeGeneric___to_s};
+  struct trace_t trace = {NULL, NULL, 174, LOCATE_genericity___MMTypeGeneric___to_s};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -493,6 +509,7 @@ val_t genericity___MMTypeGeneric___to_s(val_t  self) {
   val_t variable9;
   val_t variable10;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_genericity;
   variable0 = NEW_string___String___init(); /*new String*/
   variable1 = NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
   variable2 = variable1;
@@ -517,7 +534,7 @@ val_t genericity___MMTypeGeneric___to_s(val_t  self) {
   return variable0;
 }
 val_t genericity___MMTypeGeneric___is_subtype(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_genericity, 179, LOCATE_genericity___MMTypeGeneric___is_subtype};
+  struct trace_t trace = {NULL, NULL, 179, LOCATE_genericity___MMTypeGeneric___is_subtype};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -527,6 +544,7 @@ val_t genericity___MMTypeGeneric___is_subtype(val_t  self, val_t  param0) {
     val_t variable6;
     val_t variable7;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_genericity;
   variable0 =  param0;
   variable1 = ATTR_genericity___MMTypeGeneric____params( self) /*MMTypeGeneric::_params*/;
   variable1 = ((array___AbstractArray___length_t)CALL(variable1,COLOR_abstract_collection___Collection___length))(variable1) /*AbstractArray::length*/;
@@ -587,10 +605,11 @@ val_t genericity___MMTypeGeneric___is_subtype(val_t  self, val_t  param0) {
   return variable1;
 }
 void genericity___MMTypeGeneric___init(val_t  self, val_t  param0, val_t  param1, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_genericity, 192, LOCATE_genericity___MMTypeGeneric___init};
+  struct trace_t trace = {NULL, NULL, 192, LOCATE_genericity___MMTypeGeneric___init};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_genericity;
   variable0 =  param0;
   variable1 =  param1;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_MMTypeGeneric].i]) return;
@@ -601,21 +620,24 @@ void genericity___MMTypeGeneric___init(val_t  self, val_t  param0, val_t  param1
   return;
 }
 val_t genericity___MMTypeFormalParameter___def_class(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_genericity, 201, LOCATE_genericity___MMTypeFormalParameter___def_class};
+  struct trace_t trace = {NULL, NULL, 201, LOCATE_genericity___MMTypeFormalParameter___def_class};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_genericity;
   tracehead = trace.prev;
   return ATTR_genericity___MMTypeFormalParameter____def_class( self) /*MMTypeFormalParameter::_def_class*/;
 }
 val_t genericity___MMTypeFormalParameter___position(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_genericity, 204, LOCATE_genericity___MMTypeFormalParameter___position};
+  struct trace_t trace = {NULL, NULL, 204, LOCATE_genericity___MMTypeFormalParameter___position};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_genericity;
   tracehead = trace.prev;
   return ATTR_genericity___MMTypeFormalParameter____position( self) /*MMTypeFormalParameter::_position*/;
 }
 val_t genericity___MMTypeFormalParameter___module(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_genericity, 207, LOCATE_genericity___MMTypeFormalParameter___module};
+  struct trace_t trace = {NULL, NULL, 207, LOCATE_genericity___MMTypeFormalParameter___module};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_genericity;
   variable0 = ATTR_genericity___MMTypeFormalParameter____def_class( self) /*MMTypeFormalParameter::_def_class*/;
   variable0 = ((abstractmetamodel___MMLocalClass___module_t)CALL(variable0,COLOR_abstractmetamodel___MMLocalClass___module))(variable0) /*MMLocalClass::module*/;
   goto return_label32;
@@ -624,12 +646,13 @@ val_t genericity___MMTypeFormalParameter___module(val_t  self) {
   return variable0;
 }
 val_t genericity___MMTypeFormalParameter___for_module(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_genericity, 209, LOCATE_genericity___MMTypeFormalParameter___for_module};
+  struct trace_t trace = {NULL, NULL, 209, LOCATE_genericity___MMTypeFormalParameter___for_module};
   val_t variable0;
   val_t variable1;
   val_t variable2;
     val_t variable3;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_genericity;
   variable0 =  param0;
   variable1 =  self;
   variable2 = ((genericity___MMTypeFormalParameter___module_t)CALL( self,COLOR_static_type___MMType___module))( self) /*MMTypeFormalParameter::module*/;
@@ -651,10 +674,11 @@ val_t genericity___MMTypeFormalParameter___for_module(val_t  self, val_t  param0
   return variable1;
 }
 val_t genericity___MMTypeFormalParameter___upcast_for(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_genericity, 219, LOCATE_genericity___MMTypeFormalParameter___upcast_for};
+  struct trace_t trace = {NULL, NULL, 219, LOCATE_genericity___MMTypeFormalParameter___upcast_for};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_genericity;
   variable0 =  param0;
   variable1 =  self;
   goto return_label34;
@@ -663,10 +687,11 @@ val_t genericity___MMTypeFormalParameter___upcast_for(val_t  self, val_t  param0
   return variable1;
 }
 void genericity___MMTypeFormalParameter___bound__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_genericity, 221, LOCATE_genericity___MMTypeFormalParameter___bound__eq};
+  struct trace_t trace = {NULL, NULL, 221, LOCATE_genericity___MMTypeFormalParameter___bound__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_genericity;
   variable0 =  param0;
   variable1 = ATTR_type_formal___MMTypeFormal____bound( self) /*MMTypeFormal::_bound*/;
   variable1 = TAG_Bool((variable1 ==  NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1,  NIT_NULL /*null*/) /*Object::==*/)))));
@@ -676,7 +701,7 @@ void genericity___MMTypeFormalParameter___bound__eq(val_t  self, val_t  param0)
   return;
 }
 val_t genericity___MMTypeFormalParameter___adapt_to(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_genericity, 227, LOCATE_genericity___MMTypeFormalParameter___adapt_to};
+  struct trace_t trace = {NULL, NULL, 227, LOCATE_genericity___MMTypeFormalParameter___adapt_to};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -686,6 +711,7 @@ val_t genericity___MMTypeFormalParameter___adapt_to(val_t  self, val_t  param0)
   val_t variable6;
   val_t variable7;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_genericity;
   variable0 =  param0;
   variable1 = ((type_formal___MMType___direct_type_t)CALL( variable0 /*r*/,COLOR_type_formal___MMType___direct_type))( variable0 /*r*/) /*MMType::direct_type*/;
   variable0 = variable1 /*r=*/;
@@ -722,12 +748,13 @@ val_t genericity___MMTypeFormalParameter___adapt_to(val_t  self, val_t  param0)
   return variable1;
 }
 void genericity___MMTypeFormalParameter___with_bound(val_t  self, val_t  param0, val_t  param1, val_t  param2, val_t  param3, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_genericity, 241, LOCATE_genericity___MMTypeFormalParameter___with_bound};
+  struct trace_t trace = {NULL, NULL, 241, LOCATE_genericity___MMTypeFormalParameter___with_bound};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   val_t variable3;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_genericity;
   variable0 =  param0;
   variable1 =  param1;
   variable2 =  param2;
@@ -740,12 +767,13 @@ void genericity___MMTypeFormalParameter___with_bound(val_t  self, val_t  param0,
   return;
 }
 void genericity___MMTypeFormalParameter___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_genericity, 247, LOCATE_genericity___MMTypeFormalParameter___init};
+  struct trace_t trace = {NULL, NULL, 247, LOCATE_genericity___MMTypeFormalParameter___init};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   val_t variable3;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_genericity;
   variable0 =  param0;
   variable1 =  param1;
   variable2 =  param2;
@@ -760,9 +788,10 @@ void genericity___MMTypeFormalParameter___init(val_t  self, val_t  param0, val_t
   return;
 }
 val_t genericity___MMTypeNone___is_generic(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_genericity, 257, LOCATE_genericity___MMTypeNone___is_generic};
+  struct trace_t trace = {NULL, NULL, 257, LOCATE_genericity___MMTypeNone___is_generic};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_genericity;
   variable0 =  TAG_Bool(false);
   goto return_label40;
   return_label40: while(false);
@@ -770,10 +799,11 @@ val_t genericity___MMTypeNone___is_generic(val_t  self) {
   return variable0;
 }
 val_t genericity___MMTypeNone___for_module(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_genericity, 258, LOCATE_genericity___MMTypeNone___for_module};
+  struct trace_t trace = {NULL, NULL, 258, LOCATE_genericity___MMTypeNone___for_module};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_genericity;
   variable0 =  param0;
   variable1 =  self;
   goto return_label41;
@@ -782,10 +812,11 @@ val_t genericity___MMTypeNone___for_module(val_t  self, val_t  param0) {
   return variable1;
 }
 val_t genericity___MMTypeNone___adapt_to(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_genericity, 259, LOCATE_genericity___MMTypeNone___adapt_to};
+  struct trace_t trace = {NULL, NULL, 259, LOCATE_genericity___MMTypeNone___adapt_to};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_genericity;
   variable0 =  param0;
   variable1 =  self;
   goto return_label42;
index 7dead43..e96d2d8 100644 (file)
@@ -1,13 +1,13 @@
 /* This C header file is generated by NIT to compile modules and programs that requires genericity. */
-#ifndef genericity_2_sep
-#define genericity_2_sep
+#ifndef genericity_sep
+#define genericity_sep
 #include "type_formal._sep.h"
 #include <nit_common.h>
 
 extern const classtable_elt_t VFT_MMTypeGeneric[];
 
 extern const classtable_elt_t VFT_MMTypeFormalParameter[];
-#define LOCATE_genericity "./metamodel//genericity.nit"
+extern const char *LOCATE_genericity;
 extern const int SFT_genericity[];
 #define COLOR_genericity___MMLocalClass____types SFT_genericity[0]
 #define COLOR_genericity___MMLocalClass____formals_types SFT_genericity[1]
index 6368ca3..88adbd7 100644 (file)
@@ -1,9 +1,10 @@
 /* This C file is generated by NIT to compile module hash. */
 #include "hash._sep.h"
 val_t hash___Object___hash(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_hash, 21, LOCATE_hash___Object___hash};
+  struct trace_t trace = {NULL, NULL, 21, LOCATE_hash___Object___hash};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_hash;
   variable0 = TAG_Int((bigint) self);
   variable0 = TAG_Int(UNTAG_Int(variable0)/UNTAG_Int( TAG_Int(8)));
   goto return_label0;
@@ -12,13 +13,14 @@ val_t hash___Object___hash(val_t  self) {
   return variable0;
 }
 val_t hash___String___hash(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_hash, 29, LOCATE_hash___String___hash};
+  struct trace_t trace = {NULL, NULL, 29, LOCATE_hash___String___hash};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   val_t variable3;
     val_t variable4;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_hash;
   variable0 =  TAG_Int(5381);
   variable2 = ATTR_array___AbstractArray____length( self) /*AbstractArray::_length*/;
   variable2 = TAG_Int(UNTAG_Int(variable2)-UNTAG_Int( TAG_Int(1)));
@@ -45,9 +47,10 @@ val_t hash___String___hash(val_t  self) {
   return variable0;
 }
 val_t hash___Int___hash(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_hash, 45, LOCATE_hash___Int___hash};
+  struct trace_t trace = {NULL, NULL, 45, LOCATE_hash___Int___hash};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_hash;
   variable0 =  self;
   goto return_label3;
   return_label3: while(false);
@@ -55,9 +58,10 @@ val_t hash___Int___hash(val_t  self) {
   return variable0;
 }
 val_t hash___Char___hash(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_hash, 49, LOCATE_hash___Char___hash};
+  struct trace_t trace = {NULL, NULL, 49, LOCATE_hash___Char___hash};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_hash;
   variable0 = TAG_Int((unsigned char)UNTAG_Char( self));
   goto return_label4;
   return_label4: while(false);
@@ -65,9 +69,10 @@ val_t hash___Char___hash(val_t  self) {
   return variable0;
 }
 val_t hash___Bool___hash(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_hash, 53, LOCATE_hash___Bool___hash};
+  struct trace_t trace = {NULL, NULL, 53, LOCATE_hash___Bool___hash};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_hash;
   if (UNTAG_Bool( self)) { /*if*/
     variable0 =  TAG_Int(1);
     goto return_label5;
@@ -80,19 +85,21 @@ val_t hash___Bool___hash(val_t  self) {
   return variable0;
 }
 val_t hash___HashCollection___length(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_hash, 69, LOCATE_hash___HashCollection___length};
+  struct trace_t trace = {NULL, NULL, 69, LOCATE_hash___HashCollection___length};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_hash;
   tracehead = trace.prev;
   return ATTR_hash___HashCollection____length( self) /*HashCollection::_length*/;
 }
 val_t hash___HashCollection___first_item(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_hash, 71, LOCATE_hash___HashCollection___first_item};
+  struct trace_t trace = {NULL, NULL, 71, LOCATE_hash___HashCollection___first_item};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_hash;
   tracehead = trace.prev;
   return ATTR_hash___HashCollection____first_item( self) /*HashCollection::_first_item*/;
 }
 val_t hash___HashCollection___index_at(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_hash, 80, LOCATE_hash___HashCollection___index_at};
+  struct trace_t trace = {NULL, NULL, 80, LOCATE_hash___HashCollection___index_at};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -101,6 +108,7 @@ val_t hash___HashCollection___index_at(val_t  self, val_t  param0) {
     val_t variable5;
     val_t variable6;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_hash;
   variable0 =  param0;
   variable2 = ATTR_hash___HashCollection____array( self) /*HashCollection::_array*/;
   variable1 = variable2;
@@ -158,12 +166,13 @@ val_t hash___HashCollection___index_at(val_t  self, val_t  param0) {
   return variable1;
 }
 void hash___HashCollection___store(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_hash, 109, LOCATE_hash___HashCollection___store};
+  struct trace_t trace = {NULL, NULL, 109, LOCATE_hash___HashCollection___store};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   val_t variable3;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_hash;
   variable0 =  param0;
   variable1 =  param1;
   variable2 = ATTR_hash___HashCollection____first_item( self) /*HashCollection::_first_item*/;
@@ -202,7 +211,7 @@ void hash___HashCollection___store(val_t  self, val_t  param0, val_t  param1) {
   return;
 }
 void hash___HashCollection___remove_index(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_hash, 132, LOCATE_hash___HashCollection___remove_index};
+  struct trace_t trace = {NULL, NULL, 132, LOCATE_hash___HashCollection___remove_index};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -211,6 +220,7 @@ void hash___HashCollection___remove_index(val_t  self, val_t  param0) {
     val_t variable5;
     val_t variable6;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_hash;
   variable0 =  param0;
   variable1 = TAG_Bool(UNTAG_Int( variable0 /*i*/)>=UNTAG_Int( TAG_Int(0)));
   variable2 = variable1;
@@ -282,10 +292,11 @@ void hash___HashCollection___remove_index(val_t  self, val_t  param0) {
   return;
 }
 void hash___HashCollection___raz(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_hash, 172, LOCATE_hash___HashCollection___raz};
+  struct trace_t trace = {NULL, NULL, 172, LOCATE_hash___HashCollection___raz};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_hash;
   variable1 = ATTR_hash___HashCollection____capacity( self) /*HashCollection::_capacity*/;
   variable1 = TAG_Int(UNTAG_Int(variable1)-UNTAG_Int( TAG_Int(1)));
   variable0 = variable1;
@@ -306,7 +317,7 @@ void hash___HashCollection___raz(val_t  self) {
   return;
 }
 void hash___HashCollection___enlarge(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_hash, 185, LOCATE_hash___HashCollection___enlarge};
+  struct trace_t trace = {NULL, NULL, 185, LOCATE_hash___HashCollection___enlarge};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -316,6 +327,7 @@ void hash___HashCollection___enlarge(val_t  self, val_t  param0) {
   val_t variable6;
     val_t variable7;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_hash;
   variable0 =  param0;
   variable2 = ATTR_hash___HashCollection____capacity( self) /*HashCollection::_capacity*/;
   variable1 = variable2;
@@ -377,8 +389,9 @@ void hash___HashCollection___enlarge(val_t  self, val_t  param0) {
   return;
 }
 val_t hash___HashNode___key(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_hash, 222, LOCATE_hash___HashNode___key};
+  struct trace_t trace = {NULL, NULL, 222, LOCATE_hash___HashNode___key};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_hash;
   fprintf(stderr, "Deferred method %s called");
   fprintf(stderr, " in %s (%s:%d)\n", LOCATE_hash___HashCollection___enlarge, LOCATE_hash, 222);
   nit_exit(1);
@@ -386,35 +399,40 @@ val_t hash___HashNode___key(val_t  self) {
   return NIT_NULL;
 }
 val_t hash___HashNode___next_item(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_hash, 224, LOCATE_hash___HashNode___next_item};
+  struct trace_t trace = {NULL, NULL, 224, LOCATE_hash___HashNode___next_item};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_hash;
   tracehead = trace.prev;
   return ATTR_hash___HashNode____next_item( self) /*HashNode::_next_item*/;
 }
 void hash___HashNode___next_item__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_hash, 224, LOCATE_hash___HashNode___next_item__eq};
+  struct trace_t trace = {NULL, NULL, 224, LOCATE_hash___HashNode___next_item__eq};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_hash;
   ATTR_hash___HashNode____next_item( self) /*HashNode::_next_item*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t hash___HashNode___prev_item(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_hash, 225, LOCATE_hash___HashNode___prev_item};
+  struct trace_t trace = {NULL, NULL, 225, LOCATE_hash___HashNode___prev_item};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_hash;
   tracehead = trace.prev;
   return ATTR_hash___HashNode____prev_item( self) /*HashNode::_prev_item*/;
 }
 void hash___HashNode___prev_item__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_hash, 225, LOCATE_hash___HashNode___prev_item__eq};
+  struct trace_t trace = {NULL, NULL, 225, LOCATE_hash___HashNode___prev_item__eq};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_hash;
   ATTR_hash___HashNode____prev_item( self) /*HashNode::_prev_item*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t hash___HashMap___iterator(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_hash, 232, LOCATE_hash___HashMap___iterator};
+  struct trace_t trace = {NULL, NULL, 232, LOCATE_hash___HashMap___iterator};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_hash;
   variable0 = NEW_hash___HashMapIterator___init( self); /*new HashMapIterator[K, V]*/
   goto return_label16;
   return_label16: while(false);
@@ -422,9 +440,10 @@ val_t hash___HashMap___iterator(val_t  self) {
   return variable0;
 }
 val_t hash___HashMap___first(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_hash, 234, LOCATE_hash___HashMap___first};
+  struct trace_t trace = {NULL, NULL, 234, LOCATE_hash___HashMap___first};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_hash;
   variable0 = ATTR_hash___HashCollection____length( self) /*HashCollection::_length*/;
   variable0 = TAG_Bool(UNTAG_Int(variable0)>UNTAG_Int( TAG_Int(0)));
   if (!UNTAG_Bool(variable0)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_hash___HashMap___first, LOCATE_hash, 236); nit_exit(1);}
@@ -436,9 +455,10 @@ val_t hash___HashMap___first(val_t  self) {
   return variable0;
 }
 val_t hash___HashMap___is_empty(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_hash, 240, LOCATE_hash___HashMap___is_empty};
+  struct trace_t trace = {NULL, NULL, 240, LOCATE_hash___HashMap___is_empty};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_hash;
   variable0 = ATTR_hash___HashCollection____length( self) /*HashCollection::_length*/;
   variable0 = TAG_Bool((variable0)==( TAG_Int(0)));
   goto return_label18;
@@ -447,7 +467,7 @@ val_t hash___HashMap___is_empty(val_t  self) {
   return variable0;
 }
 val_t hash___HashMap___count(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_hash, 242, LOCATE_hash___HashMap___count};
+  struct trace_t trace = {NULL, NULL, 242, LOCATE_hash___HashMap___count};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -455,6 +475,7 @@ val_t hash___HashMap___count(val_t  self, val_t  param0) {
     val_t variable4;
     val_t variable5;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_hash;
   variable0 =  param0;
   variable1 =  TAG_Int(0);
   variable2 =  TAG_Int(0);
@@ -486,13 +507,14 @@ val_t hash___HashMap___count(val_t  self, val_t  param0) {
   return variable1;
 }
 val_t hash___HashMap___has(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_hash, 254, LOCATE_hash___HashMap___has};
+  struct trace_t trace = {NULL, NULL, 254, LOCATE_hash___HashMap___has};
   val_t variable0;
   val_t variable1;
     val_t variable2;
     val_t variable3;
     val_t variable4;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_hash;
   variable0 =  param0;
   variable1 =  TAG_Int(0);
   while (true) { /*while*/
@@ -524,13 +546,14 @@ val_t hash___HashMap___has(val_t  self, val_t  param0) {
   return variable1;
 }
 val_t hash___HashMap___has_only(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_hash, 265, LOCATE_hash___HashMap___has_only};
+  struct trace_t trace = {NULL, NULL, 265, LOCATE_hash___HashMap___has_only};
   val_t variable0;
   val_t variable1;
     val_t variable2;
     val_t variable3;
     val_t variable4;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_hash;
   variable0 =  param0;
   variable1 =  TAG_Int(0);
   while (true) { /*while*/
@@ -562,13 +585,14 @@ val_t hash___HashMap___has_only(val_t  self, val_t  param0) {
   return variable1;
 }
 void hash___HashMap_____braeq(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_hash, 276, LOCATE_hash___HashMap_____braeq};
+  struct trace_t trace = {NULL, NULL, 276, LOCATE_hash___HashMap_____braeq};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   val_t variable3;
   val_t variable4;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_hash;
   variable0 =  param0;
   variable1 =  param1;
   variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*key*/ ==  NIT_NULL /*null*/) || (( variable0 /*key*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*key*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*key*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*key*/,COLOR_kernel___Object_____eqeq))( variable0 /*key*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -590,13 +614,14 @@ void hash___HashMap_____braeq(val_t  self, val_t  param0, val_t  param1) {
   return;
 }
 void hash___HashMap___remove(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_hash, 289, LOCATE_hash___HashMap___remove};
+  struct trace_t trace = {NULL, NULL, 289, LOCATE_hash___HashMap___remove};
   val_t variable0;
   val_t variable1;
     val_t variable2;
     val_t variable3;
     val_t variable4;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_hash;
   variable0 =  param0;
   variable1 =  TAG_Int(0);
   while (true) { /*while*/
@@ -626,10 +651,11 @@ void hash___HashMap___remove(val_t  self, val_t  param0) {
   return;
 }
 void hash___HashMap___remove_at(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_hash, 302, LOCATE_hash___HashMap___remove_at};
+  struct trace_t trace = {NULL, NULL, 302, LOCATE_hash___HashMap___remove_at};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_hash;
   variable0 =  param0;
   variable1 = ((hash___HashCollection___index_at_t)CALL( self,COLOR_hash___HashCollection___index_at))( self,  variable0 /*key*/) /*HashCollection::index_at*/;
   ((hash___HashCollection___remove_index_t)CALL( self,COLOR_hash___HashCollection___remove_index))( self, variable1) /*HashCollection::remove_index*/;
@@ -637,18 +663,20 @@ void hash___HashMap___remove_at(val_t  self, val_t  param0) {
   return;
 }
 void hash___HashMap___clear(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_hash, 304, LOCATE_hash___HashMap___clear};
+  struct trace_t trace = {NULL, NULL, 304, LOCATE_hash___HashMap___clear};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_hash;
   ((hash___HashCollection___raz_t)CALL( self,COLOR_hash___HashCollection___raz))( self) /*HashCollection::raz*/;
   tracehead = trace.prev;
   return;
 }
 val_t hash___HashMap___couple_at(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_hash, 306, LOCATE_hash___HashMap___couple_at};
+  struct trace_t trace = {NULL, NULL, 306, LOCATE_hash___HashMap___couple_at};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_hash;
   variable0 =  param0;
   variable1 = ATTR_hash___HashCollection____array( self) /*HashCollection::_array*/;
   variable2 = ((hash___HashCollection___index_at_t)CALL( self,COLOR_hash___HashCollection___index_at))( self,  variable0 /*key*/) /*HashCollection::index_at*/;
@@ -659,8 +687,9 @@ val_t hash___HashMap___couple_at(val_t  self, val_t  param0) {
   return variable1;
 }
 void hash___HashMap___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_hash, 308, LOCATE_hash___HashMap___init};
+  struct trace_t trace = {NULL, NULL, 308, LOCATE_hash___HashMap___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_hash;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_HashMap].i]) return;
   ATTR_hash___HashCollection____capacity( self) /*HashCollection::_capacity*/ =  TAG_Int(0);
   ATTR_hash___HashCollection____length( self) /*HashCollection::_length*/ =  TAG_Int(0);
@@ -670,9 +699,10 @@ void hash___HashMap___init(val_t  self, int* init_table) {
   return;
 }
 val_t hash___HashMapNode___key(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_hash, 319, LOCATE_hash___HashMapNode___key};
+  struct trace_t trace = {NULL, NULL, 319, LOCATE_hash___HashMapNode___key};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_hash;
   variable0 = ((abstract_collection___Couple___first_t)CALL( self,COLOR_abstract_collection___Couple___first))( self) /*Couple::first*/;
   goto return_label32;
   return_label32: while(false);
@@ -680,10 +710,11 @@ val_t hash___HashMapNode___key(val_t  self) {
   return variable0;
 }
 void hash___HashMapNode___init(val_t  self, val_t  param0, val_t  param1, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_hash, 322, LOCATE_hash___HashMapNode___init};
+  struct trace_t trace = {NULL, NULL, 322, LOCATE_hash___HashMapNode___init};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_hash;
   variable0 =  param0;
   variable1 =  param1;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_HashMapNode].i]) return;
@@ -694,9 +725,10 @@ void hash___HashMapNode___init(val_t  self, val_t  param0, val_t  param1, int* i
   return;
 }
 val_t hash___HashMapIterator___is_ok(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_hash, 331, LOCATE_hash___HashMapIterator___is_ok};
+  struct trace_t trace = {NULL, NULL, 331, LOCATE_hash___HashMapIterator___is_ok};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_hash;
   variable0 = ATTR_hash___HashMapIterator____node( self) /*HashMapIterator::_node*/;
   variable0 = TAG_Bool(!UNTAG_Bool(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::==*/)))))));
   goto return_label34;
@@ -705,9 +737,10 @@ val_t hash___HashMapIterator___is_ok(val_t  self) {
   return variable0;
 }
 val_t hash___HashMapIterator___item(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_hash, 333, LOCATE_hash___HashMapIterator___item};
+  struct trace_t trace = {NULL, NULL, 333, LOCATE_hash___HashMapIterator___item};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_hash;
   variable0 = ((hash___HashMapIterator___is_ok_t)CALL( self,COLOR_abstract_collection___Iterator___is_ok))( self) /*HashMapIterator::is_ok*/;
   if (!UNTAG_Bool(variable0)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_hash___HashMapIterator___item, LOCATE_hash, 335); nit_exit(1);}
   variable0 = ATTR_hash___HashMapIterator____node( self) /*HashMapIterator::_node*/;
@@ -718,10 +751,11 @@ val_t hash___HashMapIterator___item(val_t  self) {
   return variable0;
 }
 void hash___HashMapIterator___item__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_hash, 339, LOCATE_hash___HashMapIterator___item__eq};
+  struct trace_t trace = {NULL, NULL, 339, LOCATE_hash___HashMapIterator___item__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_hash;
   variable0 =  param0;
   variable1 = ((hash___HashMapIterator___is_ok_t)CALL( self,COLOR_abstract_collection___Iterator___is_ok))( self) /*HashMapIterator::is_ok*/;
   if (!UNTAG_Bool(variable1)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_hash___HashMapIterator___item__eq, LOCATE_hash, 341); nit_exit(1);}
@@ -731,9 +765,10 @@ void hash___HashMapIterator___item__eq(val_t  self, val_t  param0) {
   return;
 }
 val_t hash___HashMapIterator___key(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_hash, 345, LOCATE_hash___HashMapIterator___key};
+  struct trace_t trace = {NULL, NULL, 345, LOCATE_hash___HashMapIterator___key};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_hash;
   variable0 = ((hash___HashMapIterator___is_ok_t)CALL( self,COLOR_abstract_collection___Iterator___is_ok))( self) /*HashMapIterator::is_ok*/;
   if (!UNTAG_Bool(variable0)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_hash___HashMapIterator___key, LOCATE_hash, 347); nit_exit(1);}
   variable0 = ATTR_hash___HashMapIterator____node( self) /*HashMapIterator::_node*/;
@@ -744,9 +779,10 @@ val_t hash___HashMapIterator___key(val_t  self) {
   return variable0;
 }
 void hash___HashMapIterator___next(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_hash, 351, LOCATE_hash___HashMapIterator___next};
+  struct trace_t trace = {NULL, NULL, 351, LOCATE_hash___HashMapIterator___next};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_hash;
   variable0 = ((hash___HashMapIterator___is_ok_t)CALL( self,COLOR_abstract_collection___Iterator___is_ok))( self) /*HashMapIterator::is_ok*/;
   if (!UNTAG_Bool(variable0)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_hash___HashMapIterator___next, LOCATE_hash, 353); nit_exit(1);}
   variable0 = ATTR_hash___HashMapIterator____node( self) /*HashMapIterator::_node*/;
@@ -756,10 +792,11 @@ void hash___HashMapIterator___next(val_t  self) {
   return;
 }
 void hash___HashMapIterator___init(val_t  self, val_t  param0, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_hash, 363, LOCATE_hash___HashMapIterator___init};
+  struct trace_t trace = {NULL, NULL, 363, LOCATE_hash___HashMapIterator___init};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_hash;
   variable0 =  param0;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_HashMapIterator].i]) return;
   ATTR_hash___HashMapIterator____map( self) /*HashMapIterator::_map*/ =  variable0 /*map*/;
@@ -770,9 +807,10 @@ void hash___HashMapIterator___init(val_t  self, val_t  param0, int* init_table)
   return;
 }
 val_t hash___HashSet___is_empty(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_hash, 374, LOCATE_hash___HashSet___is_empty};
+  struct trace_t trace = {NULL, NULL, 374, LOCATE_hash___HashSet___is_empty};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_hash;
   variable0 = ATTR_hash___HashCollection____length( self) /*HashCollection::_length*/;
   variable0 = TAG_Bool((variable0)==( TAG_Int(0)));
   goto return_label40;
@@ -781,9 +819,10 @@ val_t hash___HashSet___is_empty(val_t  self) {
   return variable0;
 }
 val_t hash___HashSet___first(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_hash, 376, LOCATE_hash___HashSet___first};
+  struct trace_t trace = {NULL, NULL, 376, LOCATE_hash___HashSet___first};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_hash;
   variable0 = ATTR_hash___HashCollection____length( self) /*HashCollection::_length*/;
   variable0 = TAG_Bool(UNTAG_Int(variable0)>UNTAG_Int( TAG_Int(0)));
   if (!UNTAG_Bool(variable0)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_hash___HashSet___first, LOCATE_hash, 378); nit_exit(1);}
@@ -795,11 +834,12 @@ val_t hash___HashSet___first(val_t  self) {
   return variable0;
 }
 val_t hash___HashSet___has(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_hash, 382, LOCATE_hash___HashSet___has};
+  struct trace_t trace = {NULL, NULL, 382, LOCATE_hash___HashSet___has};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_hash;
   variable0 =  param0;
   variable1 = ATTR_hash___HashCollection____array( self) /*HashCollection::_array*/;
   variable2 = ((hash___HashCollection___index_at_t)CALL( self,COLOR_hash___HashCollection___index_at))( self,  variable0 /*item*/) /*HashCollection::index_at*/;
@@ -811,12 +851,13 @@ val_t hash___HashSet___has(val_t  self, val_t  param0) {
   return variable1;
 }
 void hash___HashSet___add(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_hash, 387, LOCATE_hash___HashSet___add};
+  struct trace_t trace = {NULL, NULL, 387, LOCATE_hash___HashSet___add};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   val_t variable3;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_hash;
   variable0 =  param0;
   variable2 = ((hash___HashCollection___index_at_t)CALL( self,COLOR_hash___HashCollection___index_at))( self,  variable0 /*item*/) /*HashCollection::index_at*/;
   variable1 = variable2;
@@ -834,10 +875,11 @@ void hash___HashSet___add(val_t  self, val_t  param0) {
   return;
 }
 void hash___HashSet___remove(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_hash, 398, LOCATE_hash___HashSet___remove};
+  struct trace_t trace = {NULL, NULL, 398, LOCATE_hash___HashSet___remove};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_hash;
   variable0 =  param0;
   variable1 = ((hash___HashCollection___index_at_t)CALL( self,COLOR_hash___HashCollection___index_at))( self,  variable0 /*item*/) /*HashCollection::index_at*/;
   ((hash___HashCollection___remove_index_t)CALL( self,COLOR_hash___HashCollection___remove_index))( self, variable1) /*HashCollection::remove_index*/;
@@ -845,16 +887,18 @@ void hash___HashSet___remove(val_t  self, val_t  param0) {
   return;
 }
 void hash___HashSet___clear(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_hash, 400, LOCATE_hash___HashSet___clear};
+  struct trace_t trace = {NULL, NULL, 400, LOCATE_hash___HashSet___clear};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_hash;
   ((hash___HashCollection___raz_t)CALL( self,COLOR_hash___HashCollection___raz))( self) /*HashCollection::raz*/;
   tracehead = trace.prev;
   return;
 }
 val_t hash___HashSet___iterator(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_hash, 402, LOCATE_hash___HashSet___iterator};
+  struct trace_t trace = {NULL, NULL, 402, LOCATE_hash___HashSet___iterator};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_hash;
   variable0 = NEW_hash___HashSetIterator___init( self); /*new HashSetIterator[E]*/
   goto return_label46;
   return_label46: while(false);
@@ -862,8 +906,9 @@ val_t hash___HashSet___iterator(val_t  self) {
   return variable0;
 }
 void hash___HashSet___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_hash, 404, LOCATE_hash___HashSet___init};
+  struct trace_t trace = {NULL, NULL, 404, LOCATE_hash___HashSet___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_hash;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_HashSet].i]) return;
   ATTR_hash___HashCollection____capacity( self) /*HashCollection::_capacity*/ =  TAG_Int(0);
   ATTR_hash___HashCollection____length( self) /*HashCollection::_length*/ =  TAG_Int(0);
@@ -873,22 +918,25 @@ void hash___HashSet___init(val_t  self, int* init_table) {
   return;
 }
 val_t hash___HashSetNode___key(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_hash, 416, LOCATE_hash___HashSetNode___key};
+  struct trace_t trace = {NULL, NULL, 416, LOCATE_hash___HashSetNode___key};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_hash;
   tracehead = trace.prev;
   return ATTR_hash___HashSetNode____key( self) /*HashSetNode::_key*/;
 }
 void hash___HashSetNode___key__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_hash, 416, LOCATE_hash___HashSetNode___key__eq};
+  struct trace_t trace = {NULL, NULL, 416, LOCATE_hash___HashSetNode___key__eq};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_hash;
   ATTR_hash___HashSetNode____key( self) /*HashSetNode::_key*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 void hash___HashSetNode___init(val_t  self, val_t  param0, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_hash, 418, LOCATE_hash___HashSetNode___init};
+  struct trace_t trace = {NULL, NULL, 418, LOCATE_hash___HashSetNode___init};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_hash;
   variable0 =  param0;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_HashSetNode].i]) return;
   ATTR_hash___HashSetNode____key( self) /*HashSetNode::_key*/ =  variable0 /*e*/;
@@ -897,9 +945,10 @@ void hash___HashSetNode___init(val_t  self, val_t  param0, int* init_table) {
   return;
 }
 val_t hash___HashSetIterator___is_ok(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_hash, 426, LOCATE_hash___HashSetIterator___is_ok};
+  struct trace_t trace = {NULL, NULL, 426, LOCATE_hash___HashSetIterator___is_ok};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_hash;
   variable0 = ATTR_hash___HashSetIterator____node( self) /*HashSetIterator::_node*/;
   variable0 = TAG_Bool(!UNTAG_Bool(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::==*/)))))));
   goto return_label49;
@@ -908,9 +957,10 @@ val_t hash___HashSetIterator___is_ok(val_t  self) {
   return variable0;
 }
 val_t hash___HashSetIterator___item(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_hash, 428, LOCATE_hash___HashSetIterator___item};
+  struct trace_t trace = {NULL, NULL, 428, LOCATE_hash___HashSetIterator___item};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_hash;
   variable0 = ((hash___HashSetIterator___is_ok_t)CALL( self,COLOR_abstract_collection___Iterator___is_ok))( self) /*HashSetIterator::is_ok*/;
   if (!UNTAG_Bool(variable0)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_hash___HashSetIterator___item, LOCATE_hash, 430); nit_exit(1);}
   variable0 = ATTR_hash___HashSetIterator____node( self) /*HashSetIterator::_node*/;
@@ -921,9 +971,10 @@ val_t hash___HashSetIterator___item(val_t  self) {
   return variable0;
 }
 void hash___HashSetIterator___next(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_hash, 434, LOCATE_hash___HashSetIterator___next};
+  struct trace_t trace = {NULL, NULL, 434, LOCATE_hash___HashSetIterator___next};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_hash;
   variable0 = ((hash___HashSetIterator___is_ok_t)CALL( self,COLOR_abstract_collection___Iterator___is_ok))( self) /*HashSetIterator::is_ok*/;
   if (!UNTAG_Bool(variable0)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_hash___HashSetIterator___next, LOCATE_hash, 436); nit_exit(1);}
   variable0 = ATTR_hash___HashSetIterator____node( self) /*HashSetIterator::_node*/;
@@ -933,10 +984,11 @@ void hash___HashSetIterator___next(val_t  self) {
   return;
 }
 void hash___HashSetIterator___init(val_t  self, val_t  param0, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_hash, 446, LOCATE_hash___HashSetIterator___init};
+  struct trace_t trace = {NULL, NULL, 446, LOCATE_hash___HashSetIterator___init};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_hash;
   variable0 =  param0;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_HashSetIterator].i]) return;
   ATTR_hash___HashSetIterator____set( self) /*HashSetIterator::_set*/ =  variable0 /*set*/;
index a4d00e1..48736c0 100644 (file)
@@ -1,6 +1,6 @@
 /* This C header file is generated by NIT to compile modules and programs that requires hash. */
-#ifndef hash_2_sep
-#define hash_2_sep
+#ifndef hash_sep
+#define hash_sep
 #include "string._sep.h"
 #include <nit_common.h>
 
@@ -19,7 +19,7 @@ extern const classtable_elt_t VFT_HashSet[];
 extern const classtable_elt_t VFT_HashSetNode[];
 
 extern const classtable_elt_t VFT_HashSetIterator[];
-#define LOCATE_hash "./../lib/standard//hash.nit"
+extern const char *LOCATE_hash;
 extern const int SFT_hash[];
 #define COLOR_hash___Object___hash SFT_hash[0]
 #define ID_HashCollection SFT_hash[1]
index 8d98d7d..5bf465e 100644 (file)
@@ -1,11 +1,12 @@
 /* This C file is generated by NIT to compile module inheritance. */
 #include "inheritance._sep.h"
 val_t inheritance___MMModule___type_any(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_inheritance, 24, LOCATE_inheritance___MMModule___type_any};
+  struct trace_t trace = {NULL, NULL, 24, LOCATE_inheritance___MMModule___type_any};
   val_t variable0;
   val_t variable1;
   static val_t once_value_variable1_1; static int once_bool_variable1_1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_inheritance;
   if (once_bool_variable1_1) variable1 = once_value_variable1_1;
   else {
     variable1 = NEW_string___String___with_native(BOX_NativeString("Object"), TAG_Int(6)); /*new String*/
@@ -23,7 +24,7 @@ val_t inheritance___MMModule___type_any(val_t  self) {
   return variable0;
 }
 void inheritance___MMModule___import_global_classes(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_inheritance, 31, LOCATE_inheritance___MMModule___import_global_classes};
+  struct trace_t trace = {NULL, NULL, 31, LOCATE_inheritance___MMModule___import_global_classes};
   val_t variable0;
   val_t variable1;
     val_t variable2;
@@ -32,6 +33,7 @@ void inheritance___MMModule___import_global_classes(val_t  self) {
       val_t variable5;
       val_t variable6;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_inheritance;
   variable1 = NEW_hash___HashMap___init(); /*new HashMap[K, V]*/
   variable0 = variable1;
   variable1 = ((abstractmetamodel___MMModule___mhe_t)CALL( self,COLOR_abstractmetamodel___MMModule___mhe))( self) /*MMModule::mhe*/;
@@ -72,12 +74,13 @@ void inheritance___MMModule___import_global_classes(val_t  self) {
   return;
 }
 void inheritance___MMModule___import_local_classes(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_inheritance, 46, LOCATE_inheritance___MMModule___import_local_classes};
+  struct trace_t trace = {NULL, NULL, 46, LOCATE_inheritance___MMModule___import_local_classes};
   val_t variable0;
     val_t variable1;
     val_t variable2;
     val_t variable3;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_inheritance;
   variable0 = ATTR_abstractmetamodel___MMModule____global_classes( self) /*MMModule::_global_classes*/;
   variable0 = ((array___AbstractArray___iterator_t)CALL(variable0,COLOR_abstract_collection___Collection___iterator))(variable0) /*AbstractArray::iterator*/;
   while (true) { /*for*/
@@ -99,7 +102,7 @@ void inheritance___MMModule___import_local_classes(val_t  self) {
   return;
 }
 void inheritance___MMLocalClass___compute_super_classes(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_inheritance, 64, LOCATE_inheritance___MMLocalClass___compute_super_classes};
+  struct trace_t trace = {NULL, NULL, 64, LOCATE_inheritance___MMLocalClass___compute_super_classes};
   val_t variable0;
       val_t variable1;
       val_t variable2;
@@ -108,6 +111,7 @@ void inheritance___MMLocalClass___compute_super_classes(val_t  self) {
       val_t variable5;
       val_t variable6;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_inheritance;
   variable0 = ((inheritance___MMLocalClass___computed_super_classes_t)CALL( self,COLOR_inheritance___MMLocalClass___computed_super_classes))( self) /*MMLocalClass::computed_super_classes*/;
   if (UNTAG_Bool(variable0)) { /*if*/
     goto return_label7;
@@ -155,13 +159,14 @@ void inheritance___MMLocalClass___compute_super_classes(val_t  self) {
   return;
 }
 void inheritance___MMLocalClass___compute_ancestors(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_inheritance, 90, LOCATE_inheritance___MMLocalClass___compute_ancestors};
+  struct trace_t trace = {NULL, NULL, 90, LOCATE_inheritance___MMLocalClass___compute_ancestors};
   val_t variable0;
   val_t variable1;
     val_t variable2;
     val_t variable3;
       val_t variable4;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_inheritance;
   variable0 = ((inheritance___MMLocalClass___computed_super_classes_t)CALL( self,COLOR_inheritance___MMLocalClass___computed_super_classes))( self) /*MMLocalClass::computed_super_classes*/;
   if (!UNTAG_Bool(variable0)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_inheritance___MMLocalClass___compute_ancestors, LOCATE_inheritance, 93); nit_exit(1);}
   variable0 = ((inheritance___MMLocalClass___computed_ancestors_t)CALL( self,COLOR_inheritance___MMLocalClass___computed_ancestors))( self) /*MMLocalClass::computed_ancestors*/;
@@ -198,7 +203,7 @@ void inheritance___MMLocalClass___compute_ancestors(val_t  self) {
   return;
 }
 void inheritance___MMLocalClass___inherit_global_properties(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_inheritance, 109, LOCATE_inheritance___MMLocalClass___inherit_global_properties};
+  struct trace_t trace = {NULL, NULL, 109, LOCATE_inheritance___MMLocalClass___inherit_global_properties};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -209,6 +214,7 @@ void inheritance___MMLocalClass___inherit_global_properties(val_t  self) {
       val_t variable7;
         val_t variable8;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_inheritance;
   variable0 = ATTR_abstractmetamodel___MMLocalClass____global_properties( self) /*MMLocalClass::_global_properties*/;
   variable0 = TAG_Bool(!UNTAG_Bool(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::==*/)))))));
   if (UNTAG_Bool(variable0)) { /*if*/
@@ -282,10 +288,11 @@ void inheritance___MMLocalClass___inherit_global_properties(val_t  self) {
   return;
 }
 void inheritance___MMLocalClass___add_direct_parent(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_inheritance, 146, LOCATE_inheritance___MMLocalClass___add_direct_parent};
+  struct trace_t trace = {NULL, NULL, 146, LOCATE_inheritance___MMLocalClass___add_direct_parent};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_inheritance;
   variable0 =  param0;
   variable1 = ATTR_inheritance___MMLocalClass____direct_parents( self) /*MMLocalClass::_direct_parents*/;
   ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  variable0 /*p*/) /*AbstractArray::add*/;
@@ -293,10 +300,11 @@ void inheritance___MMLocalClass___add_direct_parent(val_t  self, val_t  param0)
   return;
 }
 val_t inheritance___MMLocalClass___computed_super_classes(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_inheritance, 152, LOCATE_inheritance___MMLocalClass___computed_super_classes};
+  struct trace_t trace = {NULL, NULL, 152, LOCATE_inheritance___MMLocalClass___computed_super_classes};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_inheritance;
   variable0 = ATTR_abstractmetamodel___MMLocalClass____crhe( self) /*MMLocalClass::_crhe*/;
   variable0 = TAG_Bool(!UNTAG_Bool(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::==*/)))))));
   variable1 = variable0;
@@ -311,9 +319,10 @@ val_t inheritance___MMLocalClass___computed_super_classes(val_t  self) {
   return variable0;
 }
 val_t inheritance___MMLocalClass___computed_ancestors(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_inheritance, 158, LOCATE_inheritance___MMLocalClass___computed_ancestors};
+  struct trace_t trace = {NULL, NULL, 158, LOCATE_inheritance___MMLocalClass___computed_ancestors};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_inheritance;
   variable0 = ATTR_static_type___MMLocalClass____ancestors( self) /*MMLocalClass::_ancestors*/;
   variable0 = TAG_Bool(!UNTAG_Bool(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::==*/)))))));
   goto return_label15;
@@ -322,7 +331,7 @@ val_t inheritance___MMLocalClass___computed_ancestors(val_t  self) {
   return variable0;
 }
 val_t inheritance___MMLocalClass___ancestor_for(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_inheritance, 164, LOCATE_inheritance___MMLocalClass___ancestor_for};
+  struct trace_t trace = {NULL, NULL, 164, LOCATE_inheritance___MMLocalClass___ancestor_for};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -330,6 +339,7 @@ val_t inheritance___MMLocalClass___ancestor_for(val_t  self, val_t  param0) {
     val_t variable4;
       val_t variable5;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_inheritance;
   variable0 =  param0;
   variable1 = ((static_type___MMLocalClass___ancestors_t)CALL( self,COLOR_static_type___MMLocalClass___ancestors))( self) /*MMLocalClass::ancestors*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 ==  NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -378,12 +388,13 @@ val_t inheritance___MMLocalClass___ancestor_for(val_t  self, val_t  param0) {
   return variable1;
 }
 val_t inheritance___MMLocalClass_____bra(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_inheritance, 187, LOCATE_inheritance___MMLocalClass_____bra};
+  struct trace_t trace = {NULL, NULL, 187, LOCATE_inheritance___MMLocalClass_____bra};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   val_t variable3;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_inheritance;
   variable0 =  param0;
   variable2 = ((inheritance___MMLocalClass_____bra_t)CALL( self,COLOR_SUPER_inheritance___MMLocalClass_____bra))( self,  variable0 /*glob*/) /*super MMLocalClass::[]*/;
   variable1 = variable2;
@@ -405,13 +416,14 @@ val_t inheritance___MMLocalClass_____bra(val_t  self, val_t  param0) {
   return variable1;
 }
 void inheritance___MMLocalClass___add_default_any_class(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_inheritance, 196, LOCATE_inheritance___MMLocalClass___add_default_any_class};
+  struct trace_t trace = {NULL, NULL, 196, LOCATE_inheritance___MMLocalClass___add_default_any_class};
   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_inheritance;
   variable0 =  param0;
   variable1 = ((array___AbstractArray___is_empty_t)CALL( variable0 /*supers*/,COLOR_abstract_collection___Collection___is_empty))( variable0 /*supers*/) /*AbstractArray::is_empty*/;
   variable2 = variable1;
@@ -441,7 +453,7 @@ void inheritance___MMLocalClass___add_default_any_class(val_t  self, val_t  para
   return;
 }
 void inheritance___MMLocalClass___add_super_classes(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_inheritance, 207, LOCATE_inheritance___MMLocalClass___add_super_classes};
+  struct trace_t trace = {NULL, NULL, 207, LOCATE_inheritance___MMLocalClass___add_super_classes};
   val_t variable0;
   val_t variable1;
     val_t variable2;
@@ -450,6 +462,7 @@ void inheritance___MMLocalClass___add_super_classes(val_t  self, val_t  param0)
       val_t variable5;
       val_t variable6;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_inheritance;
   variable0 =  param0;
   variable1 = ATTR_abstractmetamodel___MMLocalClass____crhe( self) /*MMLocalClass::_crhe*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 ==  NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -489,12 +502,13 @@ void inheritance___MMLocalClass___add_super_classes(val_t  self, val_t  param0)
   return;
 }
 void inheritance___MMLocalClass___add_explicit_classes(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_inheritance, 221, LOCATE_inheritance___MMLocalClass___add_explicit_classes};
+  struct trace_t trace = {NULL, NULL, 221, LOCATE_inheritance___MMLocalClass___add_explicit_classes};
   val_t variable0;
   val_t variable1;
     val_t variable2;
     val_t variable3;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_inheritance;
   variable0 =  param0;
   variable1 = ATTR_inheritance___MMLocalClass____direct_parents( self) /*MMLocalClass::_direct_parents*/;
   variable1 = ((array___AbstractArray___iterator_t)CALL(variable1,COLOR_abstract_collection___Collection___iterator))(variable1) /*AbstractArray::iterator*/;
@@ -512,12 +526,13 @@ void inheritance___MMLocalClass___add_explicit_classes(val_t  self, val_t  param
   return;
 }
 void inheritance___MMLocalClass___compute_super_parents(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_inheritance, 229, LOCATE_inheritance___MMLocalClass___compute_super_parents};
+  struct trace_t trace = {NULL, NULL, 229, LOCATE_inheritance___MMLocalClass___compute_super_parents};
   val_t variable0;
   val_t variable1;
     val_t variable2;
     val_t variable3;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_inheritance;
   variable0 =  param0;
   variable1 = ((array___AbstractArray___iterator_t)CALL( variable0 /*supers*/,COLOR_abstract_collection___Collection___iterator))( variable0 /*supers*/) /*AbstractArray::iterator*/;
   while (true) { /*for*/
@@ -535,13 +550,14 @@ void inheritance___MMLocalClass___compute_super_parents(val_t  self, val_t  para
   return;
 }
 val_t inheritance___MMLocalClass___build_ancestors(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_inheritance, 238, LOCATE_inheritance___MMLocalClass___build_ancestors};
+  struct trace_t trace = {NULL, NULL, 238, LOCATE_inheritance___MMLocalClass___build_ancestors};
   val_t variable0;
   val_t variable1;
     val_t variable2;
     val_t variable3;
     val_t variable4;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_inheritance;
   variable1 = NEW_array___Array___init(); /*new Array[E]*/
   variable0 = variable1;
   variable1 = ATTR_abstractmetamodel___MMLocalClass____crhe( self) /*MMLocalClass::_crhe*/;
@@ -584,7 +600,7 @@ val_t inheritance___MMLocalClass___build_ancestors(val_t  self) {
   return variable0;
 }
 val_t inheritance___MMLocalClass___group_ancestors(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_inheritance, 256, LOCATE_inheritance___MMLocalClass___group_ancestors};
+  struct trace_t trace = {NULL, NULL, 256, LOCATE_inheritance___MMLocalClass___group_ancestors};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -593,6 +609,7 @@ val_t inheritance___MMLocalClass___group_ancestors(val_t  self, val_t  param0) {
     val_t variable5;
     val_t variable6;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_inheritance;
   variable0 =  param0;
   variable2 = NEW_hash___HashMap___init(); /*new HashMap[K, V]*/
   variable1 = variable2;
@@ -626,7 +643,7 @@ val_t inheritance___MMLocalClass___group_ancestors(val_t  self, val_t  param0) {
   return variable1;
 }
 val_t inheritance___MMLocalClass___merge_ancestors(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_inheritance, 278, LOCATE_inheritance___MMLocalClass___merge_ancestors};
+  struct trace_t trace = {NULL, NULL, 278, LOCATE_inheritance___MMLocalClass___merge_ancestors};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -643,6 +660,7 @@ val_t inheritance___MMLocalClass___merge_ancestors(val_t  self, val_t  param0) {
     val_t variable13;
     val_t variable14;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_inheritance;
   variable0 =  param0;
   variable2 = NEW_hash___HashSet___init(); /*new HashSet[E]*/
   variable1 = variable2;
@@ -739,7 +757,7 @@ val_t inheritance___MMLocalClass___merge_ancestors(val_t  self, val_t  param0) {
   return variable1;
 }
 val_t inheritance___MMLocalClass___inherit_local_property(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_inheritance, 311, LOCATE_inheritance___MMLocalClass___inherit_local_property};
+  struct trace_t trace = {NULL, NULL, 311, LOCATE_inheritance___MMLocalClass___inherit_local_property};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -761,6 +779,7 @@ val_t inheritance___MMLocalClass___inherit_local_property(val_t  self, val_t  pa
         val_t variable18;
         val_t variable19;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_inheritance;
   variable0 =  param0;
   variable1 = ATTR_abstractmetamodel___MMLocalClass____local_property_by_global( self) /*MMLocalClass::_local_property_by_global*/;
   variable1 = ((abstract_collection___Map___has_key_t)CALL(variable1,COLOR_abstract_collection___Map___has_key))(variable1,  variable0 /*glob*/) /*Map::has_key*/;
@@ -896,7 +915,7 @@ val_t inheritance___MMLocalClass___inherit_local_property(val_t  self, val_t  pa
   return variable1;
 }
 void inheritance___MMLocalProperty___inherit_global(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_inheritance, 367, LOCATE_inheritance___MMLocalProperty___inherit_global};
+  struct trace_t trace = {NULL, NULL, 367, LOCATE_inheritance___MMLocalProperty___inherit_global};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -904,6 +923,7 @@ void inheritance___MMLocalProperty___inherit_global(val_t  self, val_t  param0)
     val_t variable4;
     val_t variable5;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_inheritance;
   variable0 =  param0;
   ((abstractmetamodel___MMLocalProperty___set_global_t)CALL( self,COLOR_abstractmetamodel___MMLocalProperty___set_global))( self,  variable0 /*g*/) /*MMLocalProperty::set_global*/;
   variable2 = NEW_array___Array___init(); /*new Array[E]*/
@@ -932,7 +952,7 @@ void inheritance___MMLocalProperty___inherit_global(val_t  self, val_t  param0)
   return;
 }
 void inheritance___MMAncestor___add_in(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_inheritance, 382, LOCATE_inheritance___MMAncestor___add_in};
+  struct trace_t trace = {NULL, NULL, 382, LOCATE_inheritance___MMAncestor___add_in};
   val_t variable0;
   val_t variable1;
     val_t variable2;
@@ -943,6 +963,7 @@ void inheritance___MMAncestor___add_in(val_t  self, val_t  param0) {
         val_t variable7;
         val_t variable8;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_inheritance;
   variable0 =  param0;
   variable1 = ((static_type___MMAncestor___stype_t)CALL( self,COLOR_static_type___MMAncestor___stype))( self) /*MMAncestor::stype*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 ==  NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -1021,13 +1042,14 @@ void inheritance___MMAncestor___add_in(val_t  self, val_t  param0) {
   return;
 }
 void inheritance___MMImplicitLocalClass___init(val_t  self, val_t  param0, val_t  param1, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_inheritance, 412, LOCATE_inheritance___MMImplicitLocalClass___init};
+  struct trace_t trace = {NULL, NULL, 412, LOCATE_inheritance___MMImplicitLocalClass___init};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   val_t variable3;
   val_t variable4;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_inheritance;
   variable0 =  param0;
   variable1 =  param1;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_MMImplicitLocalClass].i]) return;
@@ -1043,17 +1065,19 @@ void inheritance___MMImplicitLocalClass___init(val_t  self, val_t  param0, val_t
   return;
 }
 val_t inheritance___MMRefineAncestor___local_class(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_inheritance, 423, LOCATE_inheritance___MMRefineAncestor___local_class};
+  struct trace_t trace = {NULL, NULL, 423, LOCATE_inheritance___MMRefineAncestor___local_class};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_inheritance;
   tracehead = trace.prev;
   return ATTR_inheritance___MMRefineAncestor____local_class( self) /*MMRefineAncestor::_local_class*/;
 }
 void inheritance___MMRefineAncestor___init(val_t  self, val_t  param0, val_t  param1, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_inheritance, 425, LOCATE_inheritance___MMRefineAncestor___init};
+  struct trace_t trace = {NULL, NULL, 425, LOCATE_inheritance___MMRefineAncestor___init};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_inheritance;
   variable0 =  param0;
   variable1 =  param1;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_MMRefineAncestor].i]) return;
@@ -1068,9 +1092,10 @@ void inheritance___MMRefineAncestor___init(val_t  self, val_t  param0, val_t  pa
   return;
 }
 val_t inheritance___MMSpecAncestor___local_class(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_inheritance, 436, LOCATE_inheritance___MMSpecAncestor___local_class};
+  struct trace_t trace = {NULL, NULL, 436, LOCATE_inheritance___MMSpecAncestor___local_class};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_inheritance;
   variable0 = ((static_type___MMAncestor___stype_t)CALL( self,COLOR_static_type___MMAncestor___stype))( self) /*MMAncestor::stype*/;
   variable0 = ((static_type___MMType___local_class_t)CALL(variable0,COLOR_static_type___MMType___local_class))(variable0) /*MMType::local_class*/;
   goto return_label45;
@@ -1079,10 +1104,11 @@ val_t inheritance___MMSpecAncestor___local_class(val_t  self) {
   return variable0;
 }
 void inheritance___MMSpecAncestor___init(val_t  self, val_t  param0, val_t  param1, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_inheritance, 438, LOCATE_inheritance___MMSpecAncestor___init};
+  struct trace_t trace = {NULL, NULL, 438, LOCATE_inheritance___MMSpecAncestor___init};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_inheritance;
   variable0 =  param0;
   variable1 =  param1;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_MMSpecAncestor].i]) return;
@@ -1093,9 +1119,10 @@ void inheritance___MMSpecAncestor___init(val_t  self, val_t  param0, val_t  para
   return;
 }
 val_t inheritance___MMDefaultAncestor___local_class(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_inheritance, 447, LOCATE_inheritance___MMDefaultAncestor___local_class};
+  struct trace_t trace = {NULL, NULL, 447, LOCATE_inheritance___MMDefaultAncestor___local_class};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_inheritance;
   variable0 = ((static_type___MMAncestor___stype_t)CALL( self,COLOR_static_type___MMAncestor___stype))( self) /*MMAncestor::stype*/;
   variable0 = ((static_type___MMType___local_class_t)CALL(variable0,COLOR_static_type___MMType___local_class))(variable0) /*MMType::local_class*/;
   goto return_label47;
@@ -1104,11 +1131,12 @@ val_t inheritance___MMDefaultAncestor___local_class(val_t  self) {
   return variable0;
 }
 void inheritance___MMDefaultAncestor___init(val_t  self, val_t  param0, val_t  param1, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_inheritance, 449, LOCATE_inheritance___MMDefaultAncestor___init};
+  struct trace_t trace = {NULL, NULL, 449, LOCATE_inheritance___MMDefaultAncestor___init};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_inheritance;
   variable0 =  param0;
   variable1 =  param1;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_MMDefaultAncestor].i]) return;
index bd9be7f..95275a2 100644 (file)
@@ -1,6 +1,6 @@
 /* This C header file is generated by NIT to compile modules and programs that requires inheritance. */
-#ifndef inheritance_2_sep
-#define inheritance_2_sep
+#ifndef inheritance_sep
+#define inheritance_sep
 #include "static_type._sep.h"
 #include <nit_common.h>
 
@@ -11,7 +11,7 @@ extern const classtable_elt_t VFT_MMRefineAncestor[];
 extern const classtable_elt_t VFT_MMSpecAncestor[];
 
 extern const classtable_elt_t VFT_MMDefaultAncestor[];
-#define LOCATE_inheritance "./metamodel//inheritance.nit"
+extern const char *LOCATE_inheritance;
 extern const int SFT_inheritance[];
 #define COLOR_inheritance___MMModule___type_any SFT_inheritance[0]
 #define COLOR_inheritance___MMModule___import_global_classes SFT_inheritance[1]
index f36c8f4..29eb913 100644 (file)
@@ -1,22 +1,25 @@
 /* This C file is generated by NIT to compile module kernel. */
 #include "kernel._sep.h"
 val_t kernel___Object___object_id(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_kernel, 26, LOCATE_kernel___Object___object_id};
+  struct trace_t trace = {NULL, NULL, 26, LOCATE_kernel___Object___object_id};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_kernel;
   tracehead = trace.prev;
   return TAG_Int((bigint) self);
 }
 val_t kernel___Object___is_same_type(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_kernel, 29, LOCATE_kernel___Object___is_same_type};
+  struct trace_t trace = {NULL, NULL, 29, LOCATE_kernel___Object___is_same_type};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_kernel;
   tracehead = trace.prev;
   return TAG_Bool((VAL2VFT( self)==VAL2VFT( param0)));
 }
 val_t kernel___Object_____eqeq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_kernel, 32, LOCATE_kernel___Object_____eqeq};
+  struct trace_t trace = {NULL, NULL, 32, LOCATE_kernel___Object_____eqeq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_kernel;
   variable0 =  param0;
   variable1 = TAG_Bool(IS_EQUAL_NN( self, variable0 /*other*/));
   goto return_label0;
@@ -25,10 +28,11 @@ val_t kernel___Object_____eqeq(val_t  self, val_t  param0) {
   return variable1;
 }
 val_t kernel___Object_____neq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_kernel, 37, LOCATE_kernel___Object_____neq};
+  struct trace_t trace = {NULL, NULL, 37, LOCATE_kernel___Object_____neq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_kernel;
   variable0 =  param0;
   variable1 = TAG_Bool(( self ==  variable0 /*other*/) || (( self != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( self,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( self, variable0 /*other*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( self,COLOR_kernel___Object_____eqeq))( self,  variable0 /*other*/) /*Object::==*/)))));
   variable1 =  TAG_Bool(!UNTAG_Bool(variable1));
@@ -38,9 +42,10 @@ val_t kernel___Object_____neq(val_t  self, val_t  param0) {
   return variable1;
 }
 void kernel___Object___output(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_kernel, 42, LOCATE_kernel___Object___output};
+  struct trace_t trace = {NULL, NULL, 42, LOCATE_kernel___Object___output};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_kernel;
   printf("%c", (unsigned char)UNTAG_Char( TAG_Char('<')));
   variable0 = TAG_Int((bigint) self);
   printf("%d\n", UNTAG_Int(variable0));
@@ -49,27 +54,31 @@ void kernel___Object___output(val_t  self) {
   return;
 }
 void kernel___Object___exit(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_kernel, 50, LOCATE_kernel___Object___exit};
+  struct trace_t trace = {NULL, NULL, 50, LOCATE_kernel___Object___exit};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_kernel;
   exit(UNTAG_Int( param0));
   tracehead = trace.prev;
   return;
 }
 val_t kernel___Object___sys(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_kernel, 51, LOCATE_kernel___Object___sys};
+  struct trace_t trace = {NULL, NULL, 51, LOCATE_kernel___Object___sys};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_kernel;
   tracehead = trace.prev;
   return (G_sys);
 }
 void kernel___Sys___main(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_kernel, 56, LOCATE_kernel___Sys___main};
+  struct trace_t trace = {NULL, NULL, 56, LOCATE_kernel___Sys___main};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_kernel;
   tracehead = trace.prev;
   return;
 }
 val_t kernel___Comparable_____l(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_kernel, 69, LOCATE_kernel___Comparable_____l};
+  struct trace_t trace = {NULL, NULL, 69, LOCATE_kernel___Comparable_____l};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_kernel;
   fprintf(stderr, "Deferred method %s called");
   fprintf(stderr, " in %s (%s:%d)\n", LOCATE_kernel___Sys___main, LOCATE_kernel, 69);
   nit_exit(1);
@@ -77,10 +86,11 @@ val_t kernel___Comparable_____l(val_t  self, val_t  param0) {
   return NIT_NULL;
 }
 val_t kernel___Comparable_____leq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_kernel, 72, LOCATE_kernel___Comparable_____leq};
+  struct trace_t trace = {NULL, NULL, 72, LOCATE_kernel___Comparable_____leq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_kernel;
   variable0 =  param0;
   variable1 = ((kernel___Comparable_____l_t)CALL( variable0 /*other*/,COLOR_kernel___Comparable_____l))( variable0 /*other*/,  self) /*Comparable::<*/;
   variable1 =  TAG_Bool(!UNTAG_Bool(variable1));
@@ -90,10 +100,11 @@ val_t kernel___Comparable_____leq(val_t  self, val_t  param0) {
   return variable1;
 }
 val_t kernel___Comparable_____geq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_kernel, 75, LOCATE_kernel___Comparable_____geq};
+  struct trace_t trace = {NULL, NULL, 75, LOCATE_kernel___Comparable_____geq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_kernel;
   variable0 =  param0;
   variable1 = ((kernel___Comparable_____l_t)CALL( self,COLOR_kernel___Comparable_____l))( self,  variable0 /*other*/) /*Comparable::<*/;
   variable1 =  TAG_Bool(!UNTAG_Bool(variable1));
@@ -103,10 +114,11 @@ val_t kernel___Comparable_____geq(val_t  self, val_t  param0) {
   return variable1;
 }
 val_t kernel___Comparable_____g(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_kernel, 78, LOCATE_kernel___Comparable_____g};
+  struct trace_t trace = {NULL, NULL, 78, LOCATE_kernel___Comparable_____g};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_kernel;
   variable0 =  param0;
   variable1 = ((kernel___Comparable_____l_t)CALL( variable0 /*other*/,COLOR_kernel___Comparable_____l))( variable0 /*other*/,  self) /*Comparable::<*/;
   goto return_label6;
@@ -115,10 +127,11 @@ val_t kernel___Comparable_____g(val_t  self, val_t  param0) {
   return variable1;
 }
 val_t kernel___Comparable_____leqg(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_kernel, 81, LOCATE_kernel___Comparable_____leqg};
+  struct trace_t trace = {NULL, NULL, 81, LOCATE_kernel___Comparable_____leqg};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_kernel;
   variable0 =  param0;
   variable1 = ((kernel___Comparable_____l_t)CALL( self,COLOR_kernel___Comparable_____l))( self,  variable0 /*other*/) /*Comparable::<*/;
   if (UNTAG_Bool(variable1)) { /*if*/
@@ -139,12 +152,13 @@ val_t kernel___Comparable_____leqg(val_t  self, val_t  param0) {
   return variable1;
 }
 val_t kernel___Comparable___is_between(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_kernel, 93, LOCATE_kernel___Comparable___is_between};
+  struct trace_t trace = {NULL, NULL, 93, LOCATE_kernel___Comparable___is_between};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   val_t variable3;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_kernel;
   variable0 =  param0;
   variable1 =  param1;
   variable2 = ((kernel___Comparable_____leq_t)CALL( variable0 /*c*/,COLOR_kernel___Comparable_____leq))( variable0 /*c*/,  self) /*Comparable::<=*/;
@@ -159,10 +173,11 @@ val_t kernel___Comparable___is_between(val_t  self, val_t  param0, val_t  param1
   return variable2;
 }
 val_t kernel___Comparable___max(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_kernel, 99, LOCATE_kernel___Comparable___max};
+  struct trace_t trace = {NULL, NULL, 99, LOCATE_kernel___Comparable___max};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_kernel;
   variable0 =  param0;
   variable1 = ((kernel___Comparable_____l_t)CALL( self,COLOR_kernel___Comparable_____l))( self,  variable0 /*other*/) /*Comparable::<*/;
   if (UNTAG_Bool(variable1)) { /*if*/
@@ -177,10 +192,11 @@ val_t kernel___Comparable___max(val_t  self, val_t  param0) {
   return variable1;
 }
 val_t kernel___Comparable___min(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_kernel, 109, LOCATE_kernel___Comparable___min};
+  struct trace_t trace = {NULL, NULL, 109, LOCATE_kernel___Comparable___min};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_kernel;
   variable0 =  param0;
   variable1 = ((kernel___Comparable_____l_t)CALL( variable0 /*c*/,COLOR_kernel___Comparable_____l))( variable0 /*c*/,  self) /*Comparable::<*/;
   if (UNTAG_Bool(variable1)) { /*if*/
@@ -195,9 +211,10 @@ val_t kernel___Comparable___min(val_t  self, val_t  param0) {
   return variable1;
 }
 val_t kernel___Discrete___succ(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_kernel, 126, LOCATE_kernel___Discrete___succ};
+  struct trace_t trace = {NULL, NULL, 126, LOCATE_kernel___Discrete___succ};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_kernel;
   variable0 = ((kernel___Discrete_____plus_t)CALL( self,COLOR_kernel___Discrete_____plus))( self,  TAG_Int(1)) /*Discrete::+*/;
   goto return_label11;
   return_label11: while(false);
@@ -205,9 +222,10 @@ val_t kernel___Discrete___succ(val_t  self) {
   return variable0;
 }
 val_t kernel___Discrete___prec(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_kernel, 129, LOCATE_kernel___Discrete___prec};
+  struct trace_t trace = {NULL, NULL, 129, LOCATE_kernel___Discrete___prec};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_kernel;
   variable0 = ((kernel___Discrete_____minus_t)CALL( self,COLOR_kernel___Discrete_____minus))( self,  TAG_Int(1)) /*Discrete::-*/;
   goto return_label12;
   return_label12: while(false);
@@ -215,8 +233,9 @@ val_t kernel___Discrete___prec(val_t  self) {
   return variable0;
 }
 val_t kernel___Discrete_____plus(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_kernel, 132, LOCATE_kernel___Discrete_____plus};
+  struct trace_t trace = {NULL, NULL, 132, LOCATE_kernel___Discrete_____plus};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_kernel;
   fprintf(stderr, "Deferred method %s called");
   fprintf(stderr, " in %s (%s:%d)\n", LOCATE_kernel___Discrete___prec, LOCATE_kernel, 132);
   nit_exit(1);
@@ -224,8 +243,9 @@ val_t kernel___Discrete_____plus(val_t  self, val_t  param0) {
   return NIT_NULL;
 }
 val_t kernel___Discrete_____minus(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_kernel, 135, LOCATE_kernel___Discrete_____minus};
+  struct trace_t trace = {NULL, NULL, 135, LOCATE_kernel___Discrete_____minus};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_kernel;
   fprintf(stderr, "Deferred method %s called");
   fprintf(stderr, " in %s (%s:%d)\n", LOCATE_kernel___Discrete___prec, LOCATE_kernel, 135);
   nit_exit(1);
@@ -233,13 +253,14 @@ val_t kernel___Discrete_____minus(val_t  self, val_t  param0) {
   return NIT_NULL;
 }
 val_t kernel___Discrete___distance(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_kernel, 138, LOCATE_kernel___Discrete___distance};
+  struct trace_t trace = {NULL, NULL, 138, LOCATE_kernel___Discrete___distance};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   val_t variable3;
     val_t variable4;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_kernel;
   variable0 =  param0;
   variable1 = NIT_NULL /*decl variable cursor*/;
   variable2 = NIT_NULL /*decl variable stop*/;
@@ -274,224 +295,260 @@ val_t kernel___Discrete___distance(val_t  self, val_t  param0) {
   return variable1;
 }
 val_t kernel___Bool___object_id(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_kernel, 174, LOCATE_kernel___Bool___object_id};
+  struct trace_t trace = {NULL, NULL, 174, LOCATE_kernel___Bool___object_id};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_kernel;
   tracehead = trace.prev;
   return TAG_Int(UNTAG_Bool( self));
 }
 val_t kernel___Bool_____eqeq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_kernel, 175, LOCATE_kernel___Bool_____eqeq};
+  struct trace_t trace = {NULL, NULL, 175, LOCATE_kernel___Bool_____eqeq};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_kernel;
   tracehead = trace.prev;
   return TAG_Bool(( self)==( param0));
 }
 val_t kernel___Bool_____neq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_kernel, 176, LOCATE_kernel___Bool_____neq};
+  struct trace_t trace = {NULL, NULL, 176, LOCATE_kernel___Bool_____neq};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_kernel;
   tracehead = trace.prev;
   return TAG_Bool(( self)!=( param0));
 }
 void kernel___Bool___output(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_kernel, 177, LOCATE_kernel___Bool___output};
+  struct trace_t trace = {NULL, NULL, 177, LOCATE_kernel___Bool___output};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_kernel;
   (void)printf(UNTAG_Bool( self)?"true\n":"false\n");
   tracehead = trace.prev;
   return;
 }
 val_t kernel___Float___object_id(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_kernel, 183, LOCATE_kernel___Float___object_id};
+  struct trace_t trace = {NULL, NULL, 183, LOCATE_kernel___Float___object_id};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_kernel;
   tracehead = trace.prev;
   return TAG_Int((bigint)UNBOX_Float( self));
 }
 void kernel___Float___output(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_kernel, 184, LOCATE_kernel___Float___output};
+  struct trace_t trace = {NULL, NULL, 184, LOCATE_kernel___Float___output};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_kernel;
   printf("%f\n", UNBOX_Float( self));
   tracehead = trace.prev;
   return;
 }
 val_t kernel___Float_____leq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_kernel, 186, LOCATE_kernel___Float_____leq};
+  struct trace_t trace = {NULL, NULL, 186, LOCATE_kernel___Float_____leq};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_kernel;
   tracehead = trace.prev;
   return TAG_Bool(UNBOX_Float( self)<=UNBOX_Float( param0));
 }
 val_t kernel___Float_____l(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_kernel, 187, LOCATE_kernel___Float_____l};
+  struct trace_t trace = {NULL, NULL, 187, LOCATE_kernel___Float_____l};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_kernel;
   tracehead = trace.prev;
   return TAG_Bool(UNBOX_Float( self)<UNBOX_Float( param0));
 }
 val_t kernel___Float_____geq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_kernel, 188, LOCATE_kernel___Float_____geq};
+  struct trace_t trace = {NULL, NULL, 188, LOCATE_kernel___Float_____geq};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_kernel;
   tracehead = trace.prev;
   return TAG_Bool(UNBOX_Float( self)>=UNBOX_Float( param0));
 }
 val_t kernel___Float_____g(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_kernel, 189, LOCATE_kernel___Float_____g};
+  struct trace_t trace = {NULL, NULL, 189, LOCATE_kernel___Float_____g};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_kernel;
   tracehead = trace.prev;
   return TAG_Bool(UNBOX_Float( self)>UNBOX_Float( param0));
 }
 val_t kernel___Float_____plus(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_kernel, 190, LOCATE_kernel___Float_____plus};
+  struct trace_t trace = {NULL, NULL, 190, LOCATE_kernel___Float_____plus};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_kernel;
   tracehead = trace.prev;
   return BOX_Float(UNBOX_Float( self)+UNBOX_Float( param0));
 }
 val_t kernel___Float___unary__minus(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_kernel, 191, LOCATE_kernel___Float___unary__minus};
+  struct trace_t trace = {NULL, NULL, 191, LOCATE_kernel___Float___unary__minus};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_kernel;
   tracehead = trace.prev;
   return BOX_Float(-UNBOX_Float( self));
 }
 val_t kernel___Float_____minus(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_kernel, 192, LOCATE_kernel___Float_____minus};
+  struct trace_t trace = {NULL, NULL, 192, LOCATE_kernel___Float_____minus};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_kernel;
   tracehead = trace.prev;
   return BOX_Float(UNBOX_Float( self)-UNBOX_Float( param0));
 }
 val_t kernel___Float_____star(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_kernel, 193, LOCATE_kernel___Float_____star};
+  struct trace_t trace = {NULL, NULL, 193, LOCATE_kernel___Float_____star};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_kernel;
   tracehead = trace.prev;
   return BOX_Float(UNBOX_Float( self)*UNBOX_Float( param0));
 }
 val_t kernel___Float_____slash(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_kernel, 194, LOCATE_kernel___Float_____slash};
+  struct trace_t trace = {NULL, NULL, 194, LOCATE_kernel___Float_____slash};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_kernel;
   tracehead = trace.prev;
   return BOX_Float(UNBOX_Float( self)/UNBOX_Float( param0));
 }
 val_t kernel___Float___to_i(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_kernel, 196, LOCATE_kernel___Float___to_i};
+  struct trace_t trace = {NULL, NULL, 196, LOCATE_kernel___Float___to_i};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_kernel;
   tracehead = trace.prev;
   return TAG_Int((bigint)UNBOX_Float( self));
 }
 val_t kernel___Int___object_id(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_kernel, 206, LOCATE_kernel___Int___object_id};
+  struct trace_t trace = {NULL, NULL, 206, LOCATE_kernel___Int___object_id};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_kernel;
   tracehead = trace.prev;
   return  self;
 }
 val_t kernel___Int_____eqeq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_kernel, 207, LOCATE_kernel___Int_____eqeq};
+  struct trace_t trace = {NULL, NULL, 207, LOCATE_kernel___Int_____eqeq};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_kernel;
   tracehead = trace.prev;
   return TAG_Bool(( self)==( param0));
 }
 val_t kernel___Int_____neq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_kernel, 208, LOCATE_kernel___Int_____neq};
+  struct trace_t trace = {NULL, NULL, 208, LOCATE_kernel___Int_____neq};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_kernel;
   tracehead = trace.prev;
   return TAG_Bool(( self)!=( param0));
 }
 void kernel___Int___output(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_kernel, 209, LOCATE_kernel___Int___output};
+  struct trace_t trace = {NULL, NULL, 209, LOCATE_kernel___Int___output};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_kernel;
   printf("%d\n", UNTAG_Int( self));
   tracehead = trace.prev;
   return;
 }
 val_t kernel___Int_____leq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_kernel, 211, LOCATE_kernel___Int_____leq};
+  struct trace_t trace = {NULL, NULL, 211, LOCATE_kernel___Int_____leq};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_kernel;
   tracehead = trace.prev;
   return TAG_Bool(UNTAG_Int( self)<=UNTAG_Int( param0));
 }
 val_t kernel___Int_____l(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_kernel, 212, LOCATE_kernel___Int_____l};
+  struct trace_t trace = {NULL, NULL, 212, LOCATE_kernel___Int_____l};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_kernel;
   tracehead = trace.prev;
   return TAG_Bool(UNTAG_Int( self)<UNTAG_Int( param0));
 }
 val_t kernel___Int_____geq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_kernel, 213, LOCATE_kernel___Int_____geq};
+  struct trace_t trace = {NULL, NULL, 213, LOCATE_kernel___Int_____geq};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_kernel;
   tracehead = trace.prev;
   return TAG_Bool(UNTAG_Int( self)>=UNTAG_Int( param0));
 }
 val_t kernel___Int_____g(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_kernel, 214, LOCATE_kernel___Int_____g};
+  struct trace_t trace = {NULL, NULL, 214, LOCATE_kernel___Int_____g};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_kernel;
   tracehead = trace.prev;
   return TAG_Bool(UNTAG_Int( self)>UNTAG_Int( param0));
 }
 val_t kernel___Int_____plus(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_kernel, 215, LOCATE_kernel___Int_____plus};
+  struct trace_t trace = {NULL, NULL, 215, LOCATE_kernel___Int_____plus};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_kernel;
   tracehead = trace.prev;
   return TAG_Int(UNTAG_Int( self)+UNTAG_Int( param0));
 }
 val_t kernel___Int___unary__minus(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_kernel, 216, LOCATE_kernel___Int___unary__minus};
+  struct trace_t trace = {NULL, NULL, 216, LOCATE_kernel___Int___unary__minus};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_kernel;
   tracehead = trace.prev;
   return TAG_Int(-UNTAG_Int( self));
 }
 val_t kernel___Int_____minus(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_kernel, 217, LOCATE_kernel___Int_____minus};
+  struct trace_t trace = {NULL, NULL, 217, LOCATE_kernel___Int_____minus};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_kernel;
   tracehead = trace.prev;
   return TAG_Int(UNTAG_Int( self)-UNTAG_Int( param0));
 }
 val_t kernel___Int_____star(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_kernel, 218, LOCATE_kernel___Int_____star};
+  struct trace_t trace = {NULL, NULL, 218, LOCATE_kernel___Int_____star};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_kernel;
   tracehead = trace.prev;
   return TAG_Int(UNTAG_Int( self)*UNTAG_Int( param0));
 }
 val_t kernel___Int_____slash(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_kernel, 219, LOCATE_kernel___Int_____slash};
+  struct trace_t trace = {NULL, NULL, 219, LOCATE_kernel___Int_____slash};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_kernel;
   tracehead = trace.prev;
   return TAG_Int(UNTAG_Int( self)/UNTAG_Int( param0));
 }
 val_t kernel___Int_____percent(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_kernel, 220, LOCATE_kernel___Int_____percent};
+  struct trace_t trace = {NULL, NULL, 220, LOCATE_kernel___Int_____percent};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_kernel;
   tracehead = trace.prev;
   return TAG_Int(UNTAG_Int( self)%UNTAG_Int( param0));
 }
 val_t kernel___Int___lshift(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_kernel, 221, LOCATE_kernel___Int___lshift};
+  struct trace_t trace = {NULL, NULL, 221, LOCATE_kernel___Int___lshift};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_kernel;
   tracehead = trace.prev;
   return TAG_Int(UNTAG_Int( self)<<UNTAG_Int( param0));
 }
 val_t kernel___Int___rshift(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_kernel, 222, LOCATE_kernel___Int___rshift};
+  struct trace_t trace = {NULL, NULL, 222, LOCATE_kernel___Int___rshift};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_kernel;
   tracehead = trace.prev;
   return TAG_Int(UNTAG_Int( self)>>UNTAG_Int( param0));
 }
 val_t kernel___Int___to_f(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_kernel, 224, LOCATE_kernel___Int___to_f};
+  struct trace_t trace = {NULL, NULL, 224, LOCATE_kernel___Int___to_f};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_kernel;
   tracehead = trace.prev;
   return BOX_Float((float)UNTAG_Int( self));
 }
 val_t kernel___Int___succ(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_kernel, 227, LOCATE_kernel___Int___succ};
+  struct trace_t trace = {NULL, NULL, 227, LOCATE_kernel___Int___succ};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_kernel;
   tracehead = trace.prev;
   return TAG_Int(UNTAG_Int( self)+1);
 }
 val_t kernel___Int___prec(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_kernel, 228, LOCATE_kernel___Int___prec};
+  struct trace_t trace = {NULL, NULL, 228, LOCATE_kernel___Int___prec};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_kernel;
   tracehead = trace.prev;
   return TAG_Int(UNTAG_Int( self)-1);
 }
 val_t kernel___Int___distance(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_kernel, 229, LOCATE_kernel___Int___distance};
+  struct trace_t trace = {NULL, NULL, 229, LOCATE_kernel___Int___distance};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_kernel;
   variable0 =  param0;
   variable2 = TAG_Int(UNTAG_Int( self)-UNTAG_Int( variable0 /*i*/));
   variable1 = variable2;
@@ -509,10 +566,11 @@ val_t kernel___Int___distance(val_t  self, val_t  param0) {
   return variable1;
 }
 val_t kernel___Int_____leqg(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_kernel, 239, LOCATE_kernel___Int_____leqg};
+  struct trace_t trace = {NULL, NULL, 239, LOCATE_kernel___Int_____leqg};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_kernel;
   variable0 =  param0;
   variable1 = TAG_Bool(UNTAG_Int( self)<UNTAG_Int( variable0 /*other*/));
   if (UNTAG_Bool(variable1)) { /*if*/
@@ -533,12 +591,13 @@ val_t kernel___Int_____leqg(val_t  self, val_t  param0) {
   return variable1;
 }
 val_t kernel___Int___is_between(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_kernel, 250, LOCATE_kernel___Int___is_between};
+  struct trace_t trace = {NULL, NULL, 250, LOCATE_kernel___Int___is_between};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   val_t variable3;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_kernel;
   variable0 =  param0;
   variable1 =  param1;
   variable2 = TAG_Bool(UNTAG_Int( self)<UNTAG_Int( variable0 /*c*/));
@@ -559,10 +618,11 @@ val_t kernel___Int___is_between(val_t  self, val_t  param0, val_t  param1) {
   return variable2;
 }
 val_t kernel___Int___max(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_kernel, 259, LOCATE_kernel___Int___max};
+  struct trace_t trace = {NULL, NULL, 259, LOCATE_kernel___Int___max};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_kernel;
   variable0 =  param0;
   variable1 = TAG_Bool(UNTAG_Int( self)<UNTAG_Int( variable0 /*other*/));
   if (UNTAG_Bool(variable1)) { /*if*/
@@ -577,10 +637,11 @@ val_t kernel___Int___max(val_t  self, val_t  param0) {
   return variable1;
 }
 val_t kernel___Int___min(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_kernel, 268, LOCATE_kernel___Int___min};
+  struct trace_t trace = {NULL, NULL, 268, LOCATE_kernel___Int___min};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_kernel;
   variable0 =  param0;
   variable1 = TAG_Bool(UNTAG_Int( variable0 /*c*/)<UNTAG_Int( self));
   if (UNTAG_Bool(variable1)) { /*if*/
@@ -595,18 +656,20 @@ val_t kernel___Int___min(val_t  self, val_t  param0) {
   return variable1;
 }
 val_t kernel___Int___ascii(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_kernel, 277, LOCATE_kernel___Int___ascii};
+  struct trace_t trace = {NULL, NULL, 277, LOCATE_kernel___Int___ascii};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_kernel;
   tracehead = trace.prev;
   return TAG_Char(UNTAG_Int( self));
 }
 val_t kernel___Int___digit_count(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_kernel, 280, LOCATE_kernel___Int___digit_count};
+  struct trace_t trace = {NULL, NULL, 280, LOCATE_kernel___Int___digit_count};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   val_t variable3;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_kernel;
   variable0 =  param0;
   variable1 = TAG_Int((bigint)0) /*decl variable d*/;
   variable2 = TAG_Int((bigint)0) /*decl variable n*/;
@@ -641,10 +704,11 @@ val_t kernel___Int___digit_count(val_t  self, val_t  param0) {
   return variable1;
 }
 val_t kernel___Int___to_c(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_kernel, 303, LOCATE_kernel___Int___to_c};
+  struct trace_t trace = {NULL, NULL, 303, LOCATE_kernel___Int___to_c};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_kernel;
   variable0 = TAG_Bool(UNTAG_Int( self)>=UNTAG_Int( TAG_Int(0)));
   variable1 = variable0;
   if (UNTAG_Bool(variable1)) { /* and */
@@ -670,73 +734,84 @@ val_t kernel___Int___to_c(val_t  self) {
   return variable0;
 }
 val_t kernel___Char___object_id(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_kernel, 324, LOCATE_kernel___Char___object_id};
+  struct trace_t trace = {NULL, NULL, 324, LOCATE_kernel___Char___object_id};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_kernel;
   tracehead = trace.prev;
   return TAG_Int(UNTAG_Char( self));
 }
 val_t kernel___Char_____eqeq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_kernel, 325, LOCATE_kernel___Char_____eqeq};
+  struct trace_t trace = {NULL, NULL, 325, LOCATE_kernel___Char_____eqeq};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_kernel;
   tracehead = trace.prev;
   return TAG_Bool(( self)==( param0));
 }
 val_t kernel___Char_____neq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_kernel, 326, LOCATE_kernel___Char_____neq};
+  struct trace_t trace = {NULL, NULL, 326, LOCATE_kernel___Char_____neq};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_kernel;
   tracehead = trace.prev;
   return TAG_Bool(( self)!=( param0));
 }
 void kernel___Char___output(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_kernel, 327, LOCATE_kernel___Char___output};
+  struct trace_t trace = {NULL, NULL, 327, LOCATE_kernel___Char___output};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_kernel;
   printf("%c", (unsigned char)UNTAG_Char( self));
   tracehead = trace.prev;
   return;
 }
 val_t kernel___Char_____leq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_kernel, 329, LOCATE_kernel___Char_____leq};
+  struct trace_t trace = {NULL, NULL, 329, LOCATE_kernel___Char_____leq};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_kernel;
   tracehead = trace.prev;
   return TAG_Bool(UNTAG_Char( self)<=UNTAG_Char( param0));
 }
 val_t kernel___Char_____l(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_kernel, 330, LOCATE_kernel___Char_____l};
+  struct trace_t trace = {NULL, NULL, 330, LOCATE_kernel___Char_____l};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_kernel;
   tracehead = trace.prev;
   return TAG_Bool(UNTAG_Char( self)<UNTAG_Char( param0));
 }
 val_t kernel___Char_____geq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_kernel, 331, LOCATE_kernel___Char_____geq};
+  struct trace_t trace = {NULL, NULL, 331, LOCATE_kernel___Char_____geq};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_kernel;
   tracehead = trace.prev;
   return TAG_Bool(UNTAG_Char( self)>=UNTAG_Char( param0));
 }
 val_t kernel___Char_____g(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_kernel, 332, LOCATE_kernel___Char_____g};
+  struct trace_t trace = {NULL, NULL, 332, LOCATE_kernel___Char_____g};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_kernel;
   tracehead = trace.prev;
   return TAG_Bool(UNTAG_Char( self)>UNTAG_Char( param0));
 }
 val_t kernel___Char___succ(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_kernel, 334, LOCATE_kernel___Char___succ};
+  struct trace_t trace = {NULL, NULL, 334, LOCATE_kernel___Char___succ};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_kernel;
   tracehead = trace.prev;
   return TAG_Char(UNTAG_Char( self)+1);
 }
 val_t kernel___Char___prec(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_kernel, 335, LOCATE_kernel___Char___prec};
+  struct trace_t trace = {NULL, NULL, 335, LOCATE_kernel___Char___prec};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_kernel;
   tracehead = trace.prev;
   return TAG_Char(UNTAG_Char( self)-1);
 }
 val_t kernel___Char___distance(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_kernel, 337, LOCATE_kernel___Char___distance};
+  struct trace_t trace = {NULL, NULL, 337, LOCATE_kernel___Char___distance};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   val_t variable3;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_kernel;
   variable0 =  param0;
   variable2 = TAG_Int((unsigned char)UNTAG_Char( self));
   variable3 = TAG_Int((unsigned char)UNTAG_Char( variable0 /*c*/));
@@ -756,10 +831,11 @@ val_t kernel___Char___distance(val_t  self, val_t  param0) {
   return variable1;
 }
 val_t kernel___Char___to_i(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_kernel, 347, LOCATE_kernel___Char___to_i};
+  struct trace_t trace = {NULL, NULL, 347, LOCATE_kernel___Char___to_i};
   val_t variable0;
     val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_kernel;
   variable0 = TAG_Bool(( self)==( TAG_Char('-')));
   if (UNTAG_Bool(variable0)) { /*if*/
     variable0 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
@@ -790,28 +866,32 @@ val_t kernel___Char___to_i(val_t  self) {
   return variable0;
 }
 val_t kernel___Char___ascii(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_kernel, 360, LOCATE_kernel___Char___ascii};
+  struct trace_t trace = {NULL, NULL, 360, LOCATE_kernel___Char___ascii};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_kernel;
   tracehead = trace.prev;
   return TAG_Int((unsigned char)UNTAG_Char( self));
 }
 val_t kernel___Char_____plus(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_kernel, 363, LOCATE_kernel___Char_____plus};
+  struct trace_t trace = {NULL, NULL, 363, LOCATE_kernel___Char_____plus};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_kernel;
   tracehead = trace.prev;
   return TAG_Char(UNTAG_Char( self)+UNTAG_Char( param0));
 }
 val_t kernel___Char_____minus(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_kernel, 364, LOCATE_kernel___Char_____minus};
+  struct trace_t trace = {NULL, NULL, 364, LOCATE_kernel___Char_____minus};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_kernel;
   tracehead = trace.prev;
   return TAG_Char(UNTAG_Char( self)-UNTAG_Char( param0));
 }
 val_t kernel___Char___to_lower(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_kernel, 366, LOCATE_kernel___Char___to_lower};
+  struct trace_t trace = {NULL, NULL, 366, LOCATE_kernel___Char___to_lower};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_kernel;
   variable0 = TAG_Bool(UNTAG_Char( self)>=UNTAG_Char( TAG_Char('A')));
   variable1 = variable0;
   if (UNTAG_Bool(variable1)) { /* and */
@@ -833,10 +913,11 @@ val_t kernel___Char___to_lower(val_t  self) {
   return variable0;
 }
 val_t kernel___Char___to_upper(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_kernel, 376, LOCATE_kernel___Char___to_upper};
+  struct trace_t trace = {NULL, NULL, 376, LOCATE_kernel___Char___to_upper};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_kernel;
   variable0 = TAG_Bool(UNTAG_Char( self)>=UNTAG_Char( TAG_Char('a')));
   variable1 = variable0;
   if (UNTAG_Bool(variable1)) { /* and */
index 5041e7b..98530ae 100644 (file)
@@ -1,6 +1,6 @@
 /* This C header file is generated by NIT to compile modules and programs that requires kernel. */
-#ifndef kernel_2_sep
-#define kernel_2_sep
+#ifndef kernel_sep
+#define kernel_sep
 #include <nit_common.h>
 
 extern const classtable_elt_t VFT_Object[];
@@ -26,7 +26,7 @@ extern const classtable_elt_t VFT_Pointer[];
 struct TBOX_Pointer { const classtable_elt_t * vft; void * val;};
 val_t BOX_Pointer(void * val);
 #define UNBOX_Pointer(x) (((struct TBOX_Pointer *)(VAL2OBJ(x)))->val)
-#define LOCATE_kernel "./../lib/standard//kernel.nit"
+extern const char *LOCATE_kernel;
 extern const int SFT_kernel[];
 #define ID_Object SFT_kernel[0]
 #define COLOR_Object SFT_kernel[1]
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]*/
index 14bfb51..84aaa74 100644 (file)
@@ -1,11 +1,11 @@
 /* This C header file is generated by NIT to compile modules and programs that requires lexer. */
-#ifndef lexer_2_sep
-#define lexer_2_sep
+#ifndef lexer_sep
+#define lexer_sep
 #include "parser_nodes._sep.h"
 #include <nit_common.h>
 
 extern const classtable_elt_t VFT_Lexer[];
-#define LOCATE_lexer "./parser//lexer.nit"
+extern const char *LOCATE_lexer;
 extern const int SFT_lexer[];
 #define COLOR_lexer___Token____text SFT_lexer[0]
 #define COLOR_lexer___Token____filename SFT_lexer[1]
index b1a0069..e04af5d 100644 (file)
@@ -1,10 +1,11 @@
 /* This C file is generated by NIT to compile module list. */
 #include "list._sep.h"
 val_t list___List_____bra(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_list, 21, LOCATE_list___List_____bra};
+  struct trace_t trace = {NULL, NULL, 21, LOCATE_list___List_____bra};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_list;
   variable0 =  param0;
   variable1 = ((list___List___get_node_t)CALL( self,COLOR_list___List___get_node))( self,  variable0 /*index*/) /*List::get_node*/;
   variable1 = ((abstract_collection___Container___item_t)CALL(variable1,COLOR_abstract_collection___Container___item))(variable1) /*Container::item*/;
@@ -14,11 +15,12 @@ val_t list___List_____bra(val_t  self, val_t  param0) {
   return variable1;
 }
 void list___List_____braeq(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_list, 24, LOCATE_list___List_____braeq};
+  struct trace_t trace = {NULL, NULL, 24, LOCATE_list___List_____braeq};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_list;
   variable0 =  param0;
   variable1 =  param1;
   variable2 = ((list___List___get_node_t)CALL( self,COLOR_list___List___get_node))( self,  variable0 /*index*/) /*List::get_node*/;
@@ -27,9 +29,10 @@ void list___List_____braeq(val_t  self, val_t  param0, val_t  param1) {
   return;
 }
 val_t list___List___first(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_list, 26, LOCATE_list___List___first};
+  struct trace_t trace = {NULL, NULL, 26, LOCATE_list___List___first};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_list;
   variable0 = ATTR_list___List____head( self) /*List::_head*/;
   variable0 = ((abstract_collection___Container___item_t)CALL(variable0,COLOR_abstract_collection___Container___item))(variable0) /*Container::item*/;
   goto return_label2;
@@ -38,10 +41,11 @@ val_t list___List___first(val_t  self) {
   return variable0;
 }
 void list___List___first__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_list, 29, LOCATE_list___List___first__eq};
+  struct trace_t trace = {NULL, NULL, 29, LOCATE_list___List___first__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_list;
   variable0 =  param0;
   variable1 = ATTR_list___List____head( self) /*List::_head*/;
   ((abstract_collection___Container___item__eq_t)CALL(variable1,COLOR_abstract_collection___Container___item__eq))(variable1,  variable0 /*e*/) /*Container::item=*/;
@@ -49,9 +53,10 @@ void list___List___first__eq(val_t  self, val_t  param0) {
   return;
 }
 val_t list___List___last(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_list, 32, LOCATE_list___List___last};
+  struct trace_t trace = {NULL, NULL, 32, LOCATE_list___List___last};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_list;
   variable0 = ATTR_list___List____tail( self) /*List::_tail*/;
   variable0 = ((abstract_collection___Container___item_t)CALL(variable0,COLOR_abstract_collection___Container___item))(variable0) /*Container::item*/;
   goto return_label4;
@@ -60,10 +65,11 @@ val_t list___List___last(val_t  self) {
   return variable0;
 }
 void list___List___last__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_list, 35, LOCATE_list___List___last__eq};
+  struct trace_t trace = {NULL, NULL, 35, LOCATE_list___List___last__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_list;
   variable0 =  param0;
   variable1 = ATTR_list___List____tail( self) /*List::_tail*/;
   ((abstract_collection___Container___item__eq_t)CALL(variable1,COLOR_abstract_collection___Container___item__eq))(variable1,  variable0 /*e*/) /*Container::item=*/;
@@ -71,9 +77,10 @@ void list___List___last__eq(val_t  self, val_t  param0) {
   return;
 }
 val_t list___List___is_empty(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_list, 40, LOCATE_list___List___is_empty};
+  struct trace_t trace = {NULL, NULL, 40, LOCATE_list___List___is_empty};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_list;
   variable0 = ATTR_list___List____head( self) /*List::_head*/;
   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::==*/)))));
   goto return_label6;
@@ -82,11 +89,12 @@ val_t list___List___is_empty(val_t  self) {
   return variable0;
 }
 val_t list___List___length(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_list, 43, LOCATE_list___List___length};
+  struct trace_t trace = {NULL, NULL, 43, LOCATE_list___List___length};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_list;
   variable0 =  TAG_Int(0);
   variable2 = ATTR_list___List____head( self) /*List::_head*/;
   variable1 = variable2;
@@ -106,10 +114,11 @@ val_t list___List___length(val_t  self) {
   return variable0;
 }
 val_t list___List___has(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_list, 55, LOCATE_list___List___has};
+  struct trace_t trace = {NULL, NULL, 55, LOCATE_list___List___has};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_list;
   variable0 =  param0;
   variable1 = ATTR_list___List____head( self) /*List::_head*/;
   variable1 = ((list___List___search_node_after_t)CALL( self,COLOR_list___List___search_node_after))( self,  variable0 /*e*/, variable1) /*List::search_node_after*/;
@@ -120,11 +129,12 @@ val_t list___List___has(val_t  self, val_t  param0) {
   return variable1;
 }
 val_t list___List___has_only(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_list, 58, LOCATE_list___List___has_only};
+  struct trace_t trace = {NULL, NULL, 58, LOCATE_list___List___has_only};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_list;
   variable0 =  param0;
   variable2 = ATTR_list___List____head( self) /*List::_head*/;
   variable1 = variable2;
@@ -149,12 +159,13 @@ val_t list___List___has_only(val_t  self, val_t  param0) {
   return variable1;
 }
 val_t list___List___count(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_list, 68, LOCATE_list___List___count};
+  struct trace_t trace = {NULL, NULL, 68, LOCATE_list___List___count};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   val_t variable3;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_list;
   variable0 =  param0;
   variable1 =  TAG_Int(0);
   variable3 = ATTR_list___List____head( self) /*List::_head*/;
@@ -179,10 +190,11 @@ val_t list___List___count(val_t  self, val_t  param0) {
   return variable1;
 }
 val_t list___List___has_key(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_list, 79, LOCATE_list___List___has_key};
+  struct trace_t trace = {NULL, NULL, 79, LOCATE_list___List___has_key};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_list;
   variable0 =  param0;
   variable1 = ((list___List___get_node_t)CALL( self,COLOR_list___List___get_node))( self,  variable0 /*index*/) /*List::get_node*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 ==  NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -192,11 +204,12 @@ val_t list___List___has_key(val_t  self, val_t  param0) {
   return variable1;
 }
 void list___List___push(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_list, 83, LOCATE_list___List___push};
+  struct trace_t trace = {NULL, NULL, 83, LOCATE_list___List___push};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_list;
   variable0 =  param0;
   variable2 = NEW_list___ListNode___init( variable0 /*e*/); /*new ListNode[E]*/
   variable1 = variable2;
@@ -215,11 +228,12 @@ void list___List___push(val_t  self, val_t  param0) {
   return;
 }
 void list___List___unshift(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_list, 96, LOCATE_list___List___unshift};
+  struct trace_t trace = {NULL, NULL, 96, LOCATE_list___List___unshift};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_list;
   variable0 =  param0;
   variable2 = NEW_list___ListNode___init( variable0 /*e*/); /*new ListNode[E]*/
   variable1 = variable2;
@@ -238,11 +252,12 @@ void list___List___unshift(val_t  self, val_t  param0) {
   return;
 }
 void list___List___link(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_list, 109, LOCATE_list___List___link};
+  struct trace_t trace = {NULL, NULL, 109, LOCATE_list___List___link};
   val_t variable0;
   val_t variable1;
       val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_list;
   variable0 =  param0;
   variable1 = ATTR_list___List____tail( self) /*List::_tail*/;
   variable1 = TAG_Bool((variable1 ==  NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1,  NIT_NULL /*null*/) /*Object::==*/)))));
@@ -269,10 +284,11 @@ void list___List___link(val_t  self, val_t  param0) {
   return;
 }
 val_t list___List___pop(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_list, 126, LOCATE_list___List___pop};
+  struct trace_t trace = {NULL, NULL, 126, LOCATE_list___List___pop};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_list;
   variable1 = ATTR_list___List____tail( self) /*List::_tail*/;
   variable0 = variable1;
   variable1 = ((list___ListNode___prev_t)CALL( variable0 /*node*/,COLOR_list___ListNode___prev))( variable0 /*node*/) /*ListNode::prev*/;
@@ -294,10 +310,11 @@ val_t list___List___pop(val_t  self) {
   return variable0;
 }
 val_t list___List___shift(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_list, 140, LOCATE_list___List___shift};
+  struct trace_t trace = {NULL, NULL, 140, LOCATE_list___List___shift};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_list;
   variable1 = ATTR_list___List____head( self) /*List::_head*/;
   variable0 = variable1;
   variable1 = ((list___ListNode___next_t)CALL( variable0 /*node*/,COLOR_list___ListNode___next))( variable0 /*node*/) /*ListNode::next*/;
@@ -319,11 +336,12 @@ val_t list___List___shift(val_t  self) {
   return variable0;
 }
 void list___List___remove(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_list, 154, LOCATE_list___List___remove};
+  struct trace_t trace = {NULL, NULL, 154, LOCATE_list___List___remove};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_list;
   variable0 =  param0;
   variable2 = ATTR_list___List____head( self) /*List::_head*/;
   variable2 = ((list___List___search_node_after_t)CALL( self,COLOR_list___List___search_node_after))( self,  variable0 /*e*/, variable2) /*List::search_node_after*/;
@@ -336,11 +354,12 @@ void list___List___remove(val_t  self, val_t  param0) {
   return;
 }
 void list___List___remove_at(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_list, 160, LOCATE_list___List___remove_at};
+  struct trace_t trace = {NULL, NULL, 160, LOCATE_list___List___remove_at};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_list;
   variable0 =  param0;
   variable2 = ((list___List___get_node_t)CALL( self,COLOR_list___List___get_node))( self,  variable0 /*i*/) /*List::get_node*/;
   variable1 = variable2;
@@ -352,18 +371,20 @@ void list___List___remove_at(val_t  self, val_t  param0) {
   return;
 }
 void list___List___clear(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_list, 166, LOCATE_list___List___clear};
+  struct trace_t trace = {NULL, NULL, 166, LOCATE_list___List___clear};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_list;
   ATTR_list___List____head( self) /*List::_head*/ =  NIT_NULL /*null*/;
   ATTR_list___List____tail( self) /*List::_tail*/ =  NIT_NULL /*null*/;
   tracehead = trace.prev;
   return;
 }
 val_t list___List___iterator(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_list, 173, LOCATE_list___List___iterator};
+  struct trace_t trace = {NULL, NULL, 173, LOCATE_list___List___iterator};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_list;
   variable0 = ATTR_list___List____head( self) /*List::_head*/;
   variable1 = NEW_list___ListIterator___init(variable0); /*new ListIterator[E]*/
   variable0 = variable1;
@@ -373,17 +394,19 @@ val_t list___List___iterator(val_t  self) {
   return variable0;
 }
 void list___List___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_list, 175, LOCATE_list___List___init};
+  struct trace_t trace = {NULL, NULL, 175, LOCATE_list___List___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_list;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_List].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_List].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void list___List___from(val_t  self, val_t  param0, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_list, 178, LOCATE_list___List___from};
+  struct trace_t trace = {NULL, NULL, 178, LOCATE_list___List___from};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_list;
   variable0 =  param0;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_List].i]) return;
   ((abstract_collection___IndexedCollection___append_t)CALL( self,COLOR_abstract_collection___IndexedCollection___append))( self,  variable0 /*coll*/) /*IndexedCollection::append*/;
@@ -392,12 +415,13 @@ void list___List___from(val_t  self, val_t  param0, int* init_table) {
   return;
 }
 val_t list___List___get_node(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_list, 187, LOCATE_list___List___get_node};
+  struct trace_t trace = {NULL, NULL, 187, LOCATE_list___List___get_node};
   val_t variable0;
   val_t variable1;
   val_t variable2;
     val_t variable3;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_list;
   variable0 =  param0;
   variable2 = ATTR_list___List____head( self) /*List::_head*/;
   variable1 = variable2;
@@ -427,13 +451,14 @@ val_t list___List___get_node(val_t  self, val_t  param0) {
   return variable1;
 }
 val_t list___List___search_node_after(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_list, 201, LOCATE_list___List___search_node_after};
+  struct trace_t trace = {NULL, NULL, 201, LOCATE_list___List___search_node_after};
   val_t variable0;
   val_t variable1;
   val_t variable2;
     val_t variable3;
     val_t variable4;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_list;
   variable0 =  param0;
   variable1 =  param1;
   variable2 =  variable1 /*after*/;
@@ -458,11 +483,12 @@ val_t list___List___search_node_after(val_t  self, val_t  param0, val_t  param1)
   return variable2;
 }
 void list___List___remove_node(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_list, 209, LOCATE_list___List___remove_node};
+  struct trace_t trace = {NULL, NULL, 209, LOCATE_list___List___remove_node};
   val_t variable0;
   val_t variable1;
       val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_list;
   variable0 =  param0;
   variable1 = ((list___ListNode___prev_t)CALL( variable0 /*node*/,COLOR_list___ListNode___prev))( variable0 /*node*/) /*ListNode::prev*/;
   variable1 = TAG_Bool((variable1 ==  NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1,  NIT_NULL /*null*/) /*Object::==*/)))));
@@ -498,13 +524,14 @@ void list___List___remove_node(val_t  self, val_t  param0) {
   return;
 }
 void list___List___insert_before(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_list, 228, LOCATE_list___List___insert_before};
+  struct trace_t trace = {NULL, NULL, 228, LOCATE_list___List___insert_before};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   val_t variable3;
   val_t variable4;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_list;
   variable0 =  param0;
   variable1 =  param1;
   variable3 = NEW_list___ListNode___init( variable0 /*element*/); /*new ListNode[E]*/
@@ -524,9 +551,10 @@ void list___List___insert_before(val_t  self, val_t  param0, val_t  param1) {
   return;
 }
 val_t list___ListIterator___item(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_list, 246, LOCATE_list___ListIterator___item};
+  struct trace_t trace = {NULL, NULL, 246, LOCATE_list___ListIterator___item};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_list;
   variable0 = ATTR_list___ListIterator____node( self) /*ListIterator::_node*/;
   variable0 = ((abstract_collection___Container___item_t)CALL(variable0,COLOR_abstract_collection___Container___item))(variable0) /*Container::item*/;
   goto return_label32;
@@ -535,10 +563,11 @@ val_t list___ListIterator___item(val_t  self) {
   return variable0;
 }
 void list___ListIterator___item__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_list, 248, LOCATE_list___ListIterator___item__eq};
+  struct trace_t trace = {NULL, NULL, 248, LOCATE_list___ListIterator___item__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_list;
   variable0 =  param0;
   variable1 = ATTR_list___ListIterator____node( self) /*ListIterator::_node*/;
   ((abstract_collection___Container___item__eq_t)CALL(variable1,COLOR_abstract_collection___Container___item__eq))(variable1,  variable0 /*e*/) /*Container::item=*/;
@@ -546,9 +575,10 @@ void list___ListIterator___item__eq(val_t  self, val_t  param0) {
   return;
 }
 val_t list___ListIterator___is_ok(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_list, 250, LOCATE_list___ListIterator___is_ok};
+  struct trace_t trace = {NULL, NULL, 250, LOCATE_list___ListIterator___is_ok};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_list;
   variable0 = ATTR_list___ListIterator____node( self) /*ListIterator::_node*/;
   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::==*/)))));
   variable0 =  TAG_Bool(!UNTAG_Bool(variable0));
@@ -558,9 +588,10 @@ val_t list___ListIterator___is_ok(val_t  self) {
   return variable0;
 }
 void list___ListIterator___next(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_list, 252, LOCATE_list___ListIterator___next};
+  struct trace_t trace = {NULL, NULL, 252, LOCATE_list___ListIterator___next};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_list;
   variable0 = ATTR_list___ListIterator____node( self) /*ListIterator::_node*/;
   variable0 = ((list___ListNode___next_t)CALL(variable0,COLOR_list___ListNode___next))(variable0) /*ListNode::next*/;
   ATTR_list___ListIterator____node( self) /*ListIterator::_node*/ = variable0;
@@ -569,9 +600,10 @@ void list___ListIterator___next(val_t  self) {
   return;
 }
 void list___ListIterator___init(val_t  self, val_t  param0, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_list, 258, LOCATE_list___ListIterator___init};
+  struct trace_t trace = {NULL, NULL, 258, LOCATE_list___ListIterator___init};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_list;
   variable0 =  param0;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ListIterator].i]) return;
   ATTR_list___ListIterator____node( self) /*ListIterator::_node*/ =  variable0 /*node*/;
@@ -581,15 +613,17 @@ void list___ListIterator___init(val_t  self, val_t  param0, int* init_table) {
   return;
 }
 val_t list___ListIterator___index(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_list, 268, LOCATE_list___ListIterator___index};
+  struct trace_t trace = {NULL, NULL, 268, LOCATE_list___ListIterator___index};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_list;
   tracehead = trace.prev;
   return ATTR_list___ListIterator____index( self) /*ListIterator::_index*/;
 }
 void list___ListNode___init(val_t  self, val_t  param0, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_list, 275, LOCATE_list___ListNode___init};
+  struct trace_t trace = {NULL, NULL, 275, LOCATE_list___ListNode___init};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_list;
   variable0 =  param0;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ListNode].i]) return;
   ((abstract_collection___Container___item__eq_t)CALL( self,COLOR_abstract_collection___Container___item__eq))( self,  variable0 /*i*/) /*Container::item=*/;
@@ -598,27 +632,31 @@ void list___ListNode___init(val_t  self, val_t  param0, int* init_table) {
   return;
 }
 val_t list___ListNode___next(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_list, 280, LOCATE_list___ListNode___next};
+  struct trace_t trace = {NULL, NULL, 280, LOCATE_list___ListNode___next};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_list;
   tracehead = trace.prev;
   return ATTR_list___ListNode____next( self) /*ListNode::_next*/;
 }
 void list___ListNode___next__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_list, 280, LOCATE_list___ListNode___next__eq};
+  struct trace_t trace = {NULL, NULL, 280, LOCATE_list___ListNode___next__eq};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_list;
   ATTR_list___ListNode____next( self) /*ListNode::_next*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t list___ListNode___prev(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_list, 283, LOCATE_list___ListNode___prev};
+  struct trace_t trace = {NULL, NULL, 283, LOCATE_list___ListNode___prev};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_list;
   tracehead = trace.prev;
   return ATTR_list___ListNode____prev( self) /*ListNode::_prev*/;
 }
 void list___ListNode___prev__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_list, 283, LOCATE_list___ListNode___prev__eq};
+  struct trace_t trace = {NULL, NULL, 283, LOCATE_list___ListNode___prev__eq};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_list;
   ATTR_list___ListNode____prev( self) /*ListNode::_prev*/ =  param0;
   tracehead = trace.prev;
   return;
index a70cfe9..e2004f1 100644 (file)
@@ -1,6 +1,6 @@
 /* This C header file is generated by NIT to compile modules and programs that requires list. */
-#ifndef list_2_sep
-#define list_2_sep
+#ifndef list_sep
+#define list_sep
 #include "abstract_collection._sep.h"
 #include <nit_common.h>
 
@@ -9,7 +9,7 @@ extern const classtable_elt_t VFT_List[];
 extern const classtable_elt_t VFT_ListIterator[];
 
 extern const classtable_elt_t VFT_ListNode[];
-#define LOCATE_list "./../lib/standard//list.nit"
+extern const char *LOCATE_list;
 extern const int SFT_list[];
 #define ID_List SFT_list[0]
 #define COLOR_List SFT_list[1]
index eef6707..5dcc291 100644 (file)
 /* This C file is generated by NIT to compile module math. */
 #include "math._sep.h"
 val_t math___Int___rand(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_math, 19, LOCATE_math___Int___rand};
+  struct trace_t trace = {NULL, NULL, 19, LOCATE_math___Int___rand};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_math;
   tracehead = trace.prev;
   return TAG_Int(kernel_Int_Int_rand_0(UNTAG_Int( self)));
 }
 val_t math___Float___sqrt(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_math, 23, LOCATE_math___Float___sqrt};
+  struct trace_t trace = {NULL, NULL, 23, LOCATE_math___Float___sqrt};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_math;
   tracehead = trace.prev;
   return BOX_Float(kernel_Float_Float_sqrt_0(UNBOX_Float( self)));
 }
 val_t math___Float___cos(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_math, 24, LOCATE_math___Float___cos};
+  struct trace_t trace = {NULL, NULL, 24, LOCATE_math___Float___cos};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_math;
   tracehead = trace.prev;
   return BOX_Float(kernel_Float_Float_cos_0(UNBOX_Float( self)));
 }
 val_t math___Float___sin(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_math, 25, LOCATE_math___Float___sin};
+  struct trace_t trace = {NULL, NULL, 25, LOCATE_math___Float___sin};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_math;
   tracehead = trace.prev;
   return BOX_Float(kernel_Float_Float_sin_0(UNBOX_Float( self)));
 }
 val_t math___Float___tan(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_math, 26, LOCATE_math___Float___tan};
+  struct trace_t trace = {NULL, NULL, 26, LOCATE_math___Float___tan};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_math;
   tracehead = trace.prev;
   return BOX_Float(kernel_Float_Float_tan_0(UNBOX_Float( self)));
 }
 val_t math___Float___acos(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_math, 27, LOCATE_math___Float___acos};
+  struct trace_t trace = {NULL, NULL, 27, LOCATE_math___Float___acos};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_math;
   tracehead = trace.prev;
   return BOX_Float(kernel_Float_Float_acos_0(UNBOX_Float( self)));
 }
 val_t math___Float___asin(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_math, 28, LOCATE_math___Float___asin};
+  struct trace_t trace = {NULL, NULL, 28, LOCATE_math___Float___asin};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_math;
   tracehead = trace.prev;
   return BOX_Float(kernel_Float_Float_asin_0(UNBOX_Float( self)));
 }
 val_t math___Float___atan(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_math, 29, LOCATE_math___Float___atan};
+  struct trace_t trace = {NULL, NULL, 29, LOCATE_math___Float___atan};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_math;
   tracehead = trace.prev;
   return BOX_Float(kernel_Float_Float_atan_0(UNBOX_Float( self)));
 }
 val_t math___Float___pow(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_math, 31, LOCATE_math___Float___pow};
+  struct trace_t trace = {NULL, NULL, 31, LOCATE_math___Float___pow};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_math;
   tracehead = trace.prev;
   return BOX_Float(kernel_Float_Float_pow_1(UNBOX_Float( self), UNBOX_Float( param0)));
 }
 val_t math___Float___log(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_math, 32, LOCATE_math___Float___log};
+  struct trace_t trace = {NULL, NULL, 32, LOCATE_math___Float___log};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_math;
   tracehead = trace.prev;
   return BOX_Float(kernel_Float_Float_log_0(UNBOX_Float( self)));
 }
 val_t math___Float___exp(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_math, 33, LOCATE_math___Float___exp};
+  struct trace_t trace = {NULL, NULL, 33, LOCATE_math___Float___exp};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_math;
   tracehead = trace.prev;
   return BOX_Float(kernel_Float_Float_exp_0(UNBOX_Float( self)));
 }
 val_t math___Float___rand(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_math, 35, LOCATE_math___Float___rand};
+  struct trace_t trace = {NULL, NULL, 35, LOCATE_math___Float___rand};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_math;
   tracehead = trace.prev;
   return BOX_Float(kernel_Float_Float_rand_0(UNBOX_Float( self)));
 }
 val_t math___Object___atan2(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_math, 38, LOCATE_math___Object___atan2};
+  struct trace_t trace = {NULL, NULL, 38, LOCATE_math___Object___atan2};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_math;
   tracehead = trace.prev;
   return BOX_Float(kernel_Any_Any_atan2_2( self, UNBOX_Float( param0), UNBOX_Float( param1)));
 }
 val_t math___Object___pi(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_math, 39, LOCATE_math___Object___pi};
+  struct trace_t trace = {NULL, NULL, 39, LOCATE_math___Object___pi};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_math;
   tracehead = trace.prev;
   return BOX_Float(kernel_Any_Any_pi_0( self));
 }
 void math___Object___srand_from(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_math, 40, LOCATE_math___Object___srand_from};
+  struct trace_t trace = {NULL, NULL, 40, LOCATE_math___Object___srand_from};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_math;
   kernel_Any_Any_srand_from_1( self, UNTAG_Int( param0));
   tracehead = trace.prev;
   return;
 }
 void math___Object___srand(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_math, 41, LOCATE_math___Object___srand};
+  struct trace_t trace = {NULL, NULL, 41, LOCATE_math___Object___srand};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_math;
   kernel_Any_Any_srand_0( self);
   tracehead = trace.prev;
   return;
index 0d1fc76..03d9073 100644 (file)
@@ -1,10 +1,10 @@
 /* This C header file is generated by NIT to compile modules and programs that requires math. */
-#ifndef math_2_sep
-#define math_2_sep
+#ifndef math_sep
+#define math_sep
 #include "kernel._sep.h"
 #include <nit_common.h>
 #include <math_nit.h>
-#define LOCATE_math "./../lib/standard//math.nit"
+extern const char *LOCATE_math;
 extern const int SFT_math[];
 #define COLOR_math___Int___rand SFT_math[0]
 #define COLOR_math___Float___sqrt SFT_math[1]
index ab17419..db6803c 100644 (file)
@@ -1,9 +1,9 @@
 /* This C header file is generated by NIT to compile modules and programs that requires metamodel. */
-#ifndef metamodel_2_sep
-#define metamodel_2_sep
+#ifndef metamodel_sep
+#define metamodel_sep
 #include "vararg._sep.h"
 #include "virtualtype._sep.h"
 #include <nit_common.h>
-#define LOCATE_metamodel "./metamodel//metamodel.nit"
+extern const char *LOCATE_metamodel;
 extern const int SFT_metamodel[];
 #endif
index 50c65b1..3b1aacc 100644 (file)
@@ -1,12 +1,13 @@
 /* This C file is generated by NIT to compile module mmbuilder. */
 #include "mmbuilder._sep.h"
 val_t mmbuilder___CSHSorter___compare(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_mmbuilder, 27, LOCATE_mmbuilder___CSHSorter___compare};
+  struct trace_t trace = {NULL, NULL, 27, LOCATE_mmbuilder___CSHSorter___compare};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   val_t variable3;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_mmbuilder;
   variable0 =  param0;
   variable1 =  param1;
   variable2 = ((abstractmetamodel___MMLocalClass___cshe_t)CALL( variable0 /*a*/,COLOR_abstractmetamodel___MMLocalClass___cshe))( variable0 /*a*/) /*MMLocalClass::cshe*/;
@@ -20,15 +21,16 @@ val_t mmbuilder___CSHSorter___compare(val_t  self, val_t  param0, val_t  param1)
   return variable2;
 }
 void mmbuilder___CSHSorter___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_mmbuilder, 32, LOCATE_mmbuilder___CSHSorter___init};
+  struct trace_t trace = {NULL, NULL, 32, LOCATE_mmbuilder___CSHSorter___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_mmbuilder;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_CSHSorter].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_CSHSorter].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void mmbuilder___MMSrcModule___do_mmbuilder(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_mmbuilder, 36, LOCATE_mmbuilder___MMSrcModule___do_mmbuilder};
+  struct trace_t trace = {NULL, NULL, 36, LOCATE_mmbuilder___MMSrcModule___do_mmbuilder};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -46,6 +48,7 @@ void mmbuilder___MMSrcModule___do_mmbuilder(val_t  self, val_t  param0) {
       val_t variable13;
       val_t variable14;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_mmbuilder;
   variable0 =  param0;
   ((inheritance___MMModule___import_global_classes_t)CALL( self,COLOR_inheritance___MMModule___import_global_classes))( self) /*MMModule::import_global_classes*/;
   variable2 = NEW_mmbuilder___ClassBuilderVisitor___init( variable0 /*tc*/,  self); /*new ClassBuilderVisitor*/
@@ -205,27 +208,30 @@ void mmbuilder___MMSrcModule___do_mmbuilder(val_t  self, val_t  param0) {
   return;
 }
 void mmbuilder___MMLocalClass___accept_class_visitor(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_mmbuilder, 122, LOCATE_mmbuilder___MMLocalClass___accept_class_visitor};
+  struct trace_t trace = {NULL, NULL, 122, LOCATE_mmbuilder___MMLocalClass___accept_class_visitor};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_mmbuilder;
   variable0 =  param0;
   tracehead = trace.prev;
   return;
 }
 void mmbuilder___MMLocalClass___accept_properties_visitor(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_mmbuilder, 127, LOCATE_mmbuilder___MMLocalClass___accept_properties_visitor};
+  struct trace_t trace = {NULL, NULL, 127, LOCATE_mmbuilder___MMLocalClass___accept_properties_visitor};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_mmbuilder;
   variable0 =  param0;
   tracehead = trace.prev;
   return;
 }
 void mmbuilder___MMSrcLocalClass___accept_class_visitor(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_mmbuilder, 134, LOCATE_mmbuilder___MMSrcLocalClass___accept_class_visitor};
+  struct trace_t trace = {NULL, NULL, 134, LOCATE_mmbuilder___MMSrcLocalClass___accept_class_visitor};
   val_t variable0;
   val_t variable1;
     val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_mmbuilder;
   variable0 =  param0;
   variable1 = ((syntax_base___MMSrcLocalClass___nodes_t)CALL( self,COLOR_syntax_base___MMSrcLocalClass___nodes))( self) /*MMSrcLocalClass::nodes*/;
   variable1 = ((array___AbstractArray___iterator_t)CALL(variable1,COLOR_abstract_collection___Collection___iterator))(variable1) /*AbstractArray::iterator*/;
@@ -242,11 +248,12 @@ void mmbuilder___MMSrcLocalClass___accept_class_visitor(val_t  self, val_t  para
   return;
 }
 void mmbuilder___MMSrcLocalClass___accept_properties_visitor(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_mmbuilder, 141, LOCATE_mmbuilder___MMSrcLocalClass___accept_properties_visitor};
+  struct trace_t trace = {NULL, NULL, 141, LOCATE_mmbuilder___MMSrcLocalClass___accept_properties_visitor};
   val_t variable0;
   val_t variable1;
     val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_mmbuilder;
   variable0 =  param0;
   variable1 = ((syntax_base___MMSrcLocalClass___nodes_t)CALL( self,COLOR_syntax_base___MMSrcLocalClass___nodes))( self) /*MMSrcLocalClass::nodes*/;
   variable1 = ((array___AbstractArray___iterator_t)CALL(variable1,COLOR_abstract_collection___Collection___iterator))(variable1) /*AbstractArray::iterator*/;
@@ -274,7 +281,7 @@ void mmbuilder___MMSrcLocalClass___accept_properties_visitor(val_t  self, val_t
   return;
 }
 void mmbuilder___MMSrcLocalClass___add_src_local_property(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_mmbuilder, 152, LOCATE_mmbuilder___MMSrcLocalClass___add_src_local_property};
+  struct trace_t trace = {NULL, NULL, 152, LOCATE_mmbuilder___MMSrcLocalClass___add_src_local_property};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -294,6 +301,7 @@ void mmbuilder___MMSrcLocalClass___add_src_local_property(val_t  self, val_t  pa
       val_t variable16;
       val_t variable17;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_mmbuilder;
   variable0 =  param0;
   variable1 =  param1;
   variable3 = ((abstractmetamodel___MMLocalProperty___name_t)CALL( variable1 /*prop*/,COLOR_abstractmetamodel___MMLocalProperty___name))( variable1 /*prop*/) /*MMLocalProperty::name*/;
@@ -376,30 +384,34 @@ void mmbuilder___MMSrcLocalClass___add_src_local_property(val_t  self, val_t  pa
   return;
 }
 void mmbuilder___MMLocalProperty___accept_property_visitor(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_mmbuilder, 183, LOCATE_mmbuilder___MMLocalProperty___accept_property_visitor};
+  struct trace_t trace = {NULL, NULL, 183, LOCATE_mmbuilder___MMLocalProperty___accept_property_visitor};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_mmbuilder;
   variable0 =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t mmbuilder___MMSrcAncestor___node(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_mmbuilder, 190, LOCATE_mmbuilder___MMSrcAncestor___node};
+  struct trace_t trace = {NULL, NULL, 190, LOCATE_mmbuilder___MMSrcAncestor___node};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_mmbuilder;
   tracehead = trace.prev;
   return ATTR_mmbuilder___MMSrcAncestor____node( self) /*MMSrcAncestor::_node*/;
 }
 val_t mmbuilder___MMSrcAncestor___local_class(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_mmbuilder, 192, LOCATE_mmbuilder___MMSrcAncestor___local_class};
+  struct trace_t trace = {NULL, NULL, 192, LOCATE_mmbuilder___MMSrcAncestor___local_class};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_mmbuilder;
   tracehead = trace.prev;
   return ATTR_mmbuilder___MMSrcAncestor____local_class( self) /*MMSrcAncestor::_local_class*/;
 }
 void mmbuilder___MMSrcAncestor___init(val_t  self, val_t  param0, val_t  param1, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_mmbuilder, 194, LOCATE_mmbuilder___MMSrcAncestor___init};
+  struct trace_t trace = {NULL, NULL, 194, LOCATE_mmbuilder___MMSrcAncestor___init};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_mmbuilder;
   variable0 =  param0;
   variable1 =  param1;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_MMSrcAncestor].i]) return;
@@ -410,45 +422,51 @@ void mmbuilder___MMSrcAncestor___init(val_t  self, val_t  param0, val_t  param1,
   return;
 }
 val_t mmbuilder___ClassBuilderVisitor___local_class_arity(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_mmbuilder, 208, LOCATE_mmbuilder___ClassBuilderVisitor___local_class_arity};
+  struct trace_t trace = {NULL, NULL, 208, LOCATE_mmbuilder___ClassBuilderVisitor___local_class_arity};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_mmbuilder;
   tracehead = trace.prev;
   return ATTR_mmbuilder___ClassBuilderVisitor____local_class_arity( self) /*ClassBuilderVisitor::_local_class_arity*/;
 }
 void mmbuilder___ClassBuilderVisitor___local_class_arity__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_mmbuilder, 208, LOCATE_mmbuilder___ClassBuilderVisitor___local_class_arity__eq};
+  struct trace_t trace = {NULL, NULL, 208, LOCATE_mmbuilder___ClassBuilderVisitor___local_class_arity__eq};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_mmbuilder;
   ATTR_mmbuilder___ClassBuilderVisitor____local_class_arity( self) /*ClassBuilderVisitor::_local_class_arity*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t mmbuilder___ClassBuilderVisitor___formals(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_mmbuilder, 211, LOCATE_mmbuilder___ClassBuilderVisitor___formals};
+  struct trace_t trace = {NULL, NULL, 211, LOCATE_mmbuilder___ClassBuilderVisitor___formals};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_mmbuilder;
   tracehead = trace.prev;
   return ATTR_mmbuilder___ClassBuilderVisitor____formals( self) /*ClassBuilderVisitor::_formals*/;
 }
 void mmbuilder___ClassBuilderVisitor___formals__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_mmbuilder, 211, LOCATE_mmbuilder___ClassBuilderVisitor___formals__eq};
+  struct trace_t trace = {NULL, NULL, 211, LOCATE_mmbuilder___ClassBuilderVisitor___formals__eq};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_mmbuilder;
   ATTR_mmbuilder___ClassBuilderVisitor____formals( self) /*ClassBuilderVisitor::_formals*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 void mmbuilder___ClassBuilderVisitor___visit(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_mmbuilder, 214, LOCATE_mmbuilder___ClassBuilderVisitor___visit};
+  struct trace_t trace = {NULL, NULL, 214, LOCATE_mmbuilder___ClassBuilderVisitor___visit};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_mmbuilder;
   variable0 =  param0;
   ((mmbuilder___PNode___accept_class_builder_t)CALL( variable0 /*n*/,COLOR_mmbuilder___PNode___accept_class_builder))( variable0 /*n*/,  self) /*PNode::accept_class_builder*/;
   tracehead = trace.prev;
   return;
 }
 void mmbuilder___ClassBuilderVisitor___init(val_t  self, val_t  param0, val_t  param1, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_mmbuilder, 215, LOCATE_mmbuilder___ClassBuilderVisitor___init};
+  struct trace_t trace = {NULL, NULL, 215, LOCATE_mmbuilder___ClassBuilderVisitor___init};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_mmbuilder;
   variable0 =  param0;
   variable1 =  param1;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ClassBuilderVisitor].i]) return;
@@ -458,19 +476,21 @@ void mmbuilder___ClassBuilderVisitor___init(val_t  self, val_t  param0, val_t  p
   return;
 }
 void mmbuilder___ClassSpecializationBuilderVisitor___visit(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_mmbuilder, 222, LOCATE_mmbuilder___ClassSpecializationBuilderVisitor___visit};
+  struct trace_t trace = {NULL, NULL, 222, LOCATE_mmbuilder___ClassSpecializationBuilderVisitor___visit};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_mmbuilder;
   variable0 =  param0;
   ((mmbuilder___PNode___accept_class_specialization_builder_t)CALL( variable0 /*n*/,COLOR_mmbuilder___PNode___accept_class_specialization_builder))( variable0 /*n*/,  self) /*PNode::accept_class_specialization_builder*/;
   tracehead = trace.prev;
   return;
 }
 void mmbuilder___ClassSpecializationBuilderVisitor___init(val_t  self, val_t  param0, val_t  param1, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_mmbuilder, 223, LOCATE_mmbuilder___ClassSpecializationBuilderVisitor___init};
+  struct trace_t trace = {NULL, NULL, 223, LOCATE_mmbuilder___ClassSpecializationBuilderVisitor___init};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_mmbuilder;
   variable0 =  param0;
   variable1 =  param1;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ClassSpecializationBuilderVisitor].i]) return;
@@ -480,19 +500,21 @@ void mmbuilder___ClassSpecializationBuilderVisitor___init(val_t  self, val_t  pa
   return;
 }
 void mmbuilder___ClassAncestorBuilder___visit(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_mmbuilder, 230, LOCATE_mmbuilder___ClassAncestorBuilder___visit};
+  struct trace_t trace = {NULL, NULL, 230, LOCATE_mmbuilder___ClassAncestorBuilder___visit};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_mmbuilder;
   variable0 =  param0;
   ((mmbuilder___PNode___accept_class_ancestor_builder_t)CALL( variable0 /*n*/,COLOR_mmbuilder___PNode___accept_class_ancestor_builder))( variable0 /*n*/,  self) /*PNode::accept_class_ancestor_builder*/;
   tracehead = trace.prev;
   return;
 }
 void mmbuilder___ClassAncestorBuilder___init(val_t  self, val_t  param0, val_t  param1, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_mmbuilder, 231, LOCATE_mmbuilder___ClassAncestorBuilder___init};
+  struct trace_t trace = {NULL, NULL, 231, LOCATE_mmbuilder___ClassAncestorBuilder___init};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_mmbuilder;
   variable0 =  param0;
   variable1 =  param1;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ClassAncestorBuilder].i]) return;
@@ -502,19 +524,21 @@ void mmbuilder___ClassAncestorBuilder___init(val_t  self, val_t  param0, val_t
   return;
 }
 void mmbuilder___ClassVerifierVisitor___visit(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_mmbuilder, 238, LOCATE_mmbuilder___ClassVerifierVisitor___visit};
+  struct trace_t trace = {NULL, NULL, 238, LOCATE_mmbuilder___ClassVerifierVisitor___visit};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_mmbuilder;
   variable0 =  param0;
   ((mmbuilder___PNode___accept_class_verifier_t)CALL( variable0 /*n*/,COLOR_mmbuilder___PNode___accept_class_verifier))( variable0 /*n*/,  self) /*PNode::accept_class_verifier*/;
   tracehead = trace.prev;
   return;
 }
 void mmbuilder___ClassVerifierVisitor___init(val_t  self, val_t  param0, val_t  param1, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_mmbuilder, 239, LOCATE_mmbuilder___ClassVerifierVisitor___init};
+  struct trace_t trace = {NULL, NULL, 239, LOCATE_mmbuilder___ClassVerifierVisitor___init};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_mmbuilder;
   variable0 =  param0;
   variable1 =  param1;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ClassVerifierVisitor].i]) return;
@@ -524,19 +548,21 @@ void mmbuilder___ClassVerifierVisitor___init(val_t  self, val_t  param0, val_t
   return;
 }
 void mmbuilder___PropertyBuilderVisitor___visit(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_mmbuilder, 249, LOCATE_mmbuilder___PropertyBuilderVisitor___visit};
+  struct trace_t trace = {NULL, NULL, 249, LOCATE_mmbuilder___PropertyBuilderVisitor___visit};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_mmbuilder;
   variable0 =  param0;
   ((mmbuilder___PNode___accept_property_builder_t)CALL( variable0 /*n*/,COLOR_mmbuilder___PNode___accept_property_builder))( variable0 /*n*/,  self) /*PNode::accept_property_builder*/;
   tracehead = trace.prev;
   return;
 }
 void mmbuilder___PropertyBuilderVisitor___init(val_t  self, val_t  param0, val_t  param1, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_mmbuilder, 250, LOCATE_mmbuilder___PropertyBuilderVisitor___init};
+  struct trace_t trace = {NULL, NULL, 250, LOCATE_mmbuilder___PropertyBuilderVisitor___init};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_mmbuilder;
   variable0 =  param0;
   variable1 =  param1;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_PropertyBuilderVisitor].i]) return;
@@ -546,71 +572,81 @@ void mmbuilder___PropertyBuilderVisitor___init(val_t  self, val_t  param0, val_t
   return;
 }
 val_t mmbuilder___PropertyVerifierVisitor___params(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_mmbuilder, 257, LOCATE_mmbuilder___PropertyVerifierVisitor___params};
+  struct trace_t trace = {NULL, NULL, 257, LOCATE_mmbuilder___PropertyVerifierVisitor___params};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_mmbuilder;
   tracehead = trace.prev;
   return ATTR_mmbuilder___PropertyVerifierVisitor____params( self) /*PropertyVerifierVisitor::_params*/;
 }
 void mmbuilder___PropertyVerifierVisitor___params__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_mmbuilder, 257, LOCATE_mmbuilder___PropertyVerifierVisitor___params__eq};
+  struct trace_t trace = {NULL, NULL, 257, LOCATE_mmbuilder___PropertyVerifierVisitor___params__eq};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_mmbuilder;
   ATTR_mmbuilder___PropertyVerifierVisitor____params( self) /*PropertyVerifierVisitor::_params*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t mmbuilder___PropertyVerifierVisitor___untyped_params(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_mmbuilder, 260, LOCATE_mmbuilder___PropertyVerifierVisitor___untyped_params};
+  struct trace_t trace = {NULL, NULL, 260, LOCATE_mmbuilder___PropertyVerifierVisitor___untyped_params};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_mmbuilder;
   tracehead = trace.prev;
   return ATTR_mmbuilder___PropertyVerifierVisitor____untyped_params( self) /*PropertyVerifierVisitor::_untyped_params*/;
 }
 void mmbuilder___PropertyVerifierVisitor___untyped_params__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_mmbuilder, 260, LOCATE_mmbuilder___PropertyVerifierVisitor___untyped_params__eq};
+  struct trace_t trace = {NULL, NULL, 260, LOCATE_mmbuilder___PropertyVerifierVisitor___untyped_params__eq};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_mmbuilder;
   ATTR_mmbuilder___PropertyVerifierVisitor____untyped_params( self) /*PropertyVerifierVisitor::_untyped_params*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t mmbuilder___PropertyVerifierVisitor___vararg_rank(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_mmbuilder, 263, LOCATE_mmbuilder___PropertyVerifierVisitor___vararg_rank};
+  struct trace_t trace = {NULL, NULL, 263, LOCATE_mmbuilder___PropertyVerifierVisitor___vararg_rank};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_mmbuilder;
   tracehead = trace.prev;
   return ATTR_mmbuilder___PropertyVerifierVisitor____vararg_rank( self) /*PropertyVerifierVisitor::_vararg_rank*/;
 }
 void mmbuilder___PropertyVerifierVisitor___vararg_rank__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_mmbuilder, 263, LOCATE_mmbuilder___PropertyVerifierVisitor___vararg_rank__eq};
+  struct trace_t trace = {NULL, NULL, 263, LOCATE_mmbuilder___PropertyVerifierVisitor___vararg_rank__eq};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_mmbuilder;
   ATTR_mmbuilder___PropertyVerifierVisitor____vararg_rank( self) /*PropertyVerifierVisitor::_vararg_rank*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t mmbuilder___PropertyVerifierVisitor___signature(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_mmbuilder, 266, LOCATE_mmbuilder___PropertyVerifierVisitor___signature};
+  struct trace_t trace = {NULL, NULL, 266, LOCATE_mmbuilder___PropertyVerifierVisitor___signature};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_mmbuilder;
   tracehead = trace.prev;
   return ATTR_mmbuilder___PropertyVerifierVisitor____signature( self) /*PropertyVerifierVisitor::_signature*/;
 }
 void mmbuilder___PropertyVerifierVisitor___signature__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_mmbuilder, 266, LOCATE_mmbuilder___PropertyVerifierVisitor___signature__eq};
+  struct trace_t trace = {NULL, NULL, 266, LOCATE_mmbuilder___PropertyVerifierVisitor___signature__eq};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_mmbuilder;
   ATTR_mmbuilder___PropertyVerifierVisitor____signature( self) /*PropertyVerifierVisitor::_signature*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 void mmbuilder___PropertyVerifierVisitor___visit(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_mmbuilder, 269, LOCATE_mmbuilder___PropertyVerifierVisitor___visit};
+  struct trace_t trace = {NULL, NULL, 269, LOCATE_mmbuilder___PropertyVerifierVisitor___visit};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_mmbuilder;
   variable0 =  param0;
   ((mmbuilder___PNode___accept_property_verifier_t)CALL( variable0 /*n*/,COLOR_mmbuilder___PNode___accept_property_verifier))( variable0 /*n*/,  self) /*PNode::accept_property_verifier*/;
   tracehead = trace.prev;
   return;
 }
 void mmbuilder___PropertyVerifierVisitor___init(val_t  self, val_t  param0, val_t  param1, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_mmbuilder, 271, LOCATE_mmbuilder___PropertyVerifierVisitor___init};
+  struct trace_t trace = {NULL, NULL, 271, LOCATE_mmbuilder___PropertyVerifierVisitor___init};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_mmbuilder;
   variable0 =  param0;
   variable1 =  param1;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_PropertyVerifierVisitor].i]) return;
@@ -620,61 +656,67 @@ void mmbuilder___PropertyVerifierVisitor___init(val_t  self, val_t  param0, val_
   return;
 }
 void mmbuilder___PNode___accept_class_builder(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_mmbuilder, 277, LOCATE_mmbuilder___PNode___accept_class_builder};
+  struct trace_t trace = {NULL, NULL, 277, LOCATE_mmbuilder___PNode___accept_class_builder};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_mmbuilder;
   variable0 =  param0;
   ((syntax_base___PNode___accept_abs_syntax_visitor_t)CALL( self,COLOR_syntax_base___PNode___accept_abs_syntax_visitor))( self,  variable0 /*v*/) /*PNode::accept_abs_syntax_visitor*/;
   tracehead = trace.prev;
   return;
 }
 void mmbuilder___PNode___accept_class_specialization_builder(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_mmbuilder, 278, LOCATE_mmbuilder___PNode___accept_class_specialization_builder};
+  struct trace_t trace = {NULL, NULL, 278, LOCATE_mmbuilder___PNode___accept_class_specialization_builder};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_mmbuilder;
   variable0 =  param0;
   ((syntax_base___PNode___accept_abs_syntax_visitor_t)CALL( self,COLOR_syntax_base___PNode___accept_abs_syntax_visitor))( self,  variable0 /*v*/) /*PNode::accept_abs_syntax_visitor*/;
   tracehead = trace.prev;
   return;
 }
 void mmbuilder___PNode___accept_class_ancestor_builder(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_mmbuilder, 279, LOCATE_mmbuilder___PNode___accept_class_ancestor_builder};
+  struct trace_t trace = {NULL, NULL, 279, LOCATE_mmbuilder___PNode___accept_class_ancestor_builder};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_mmbuilder;
   variable0 =  param0;
   ((syntax_base___PNode___accept_abs_syntax_visitor_t)CALL( self,COLOR_syntax_base___PNode___accept_abs_syntax_visitor))( self,  variable0 /*v*/) /*PNode::accept_abs_syntax_visitor*/;
   tracehead = trace.prev;
   return;
 }
 void mmbuilder___PNode___accept_class_verifier(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_mmbuilder, 280, LOCATE_mmbuilder___PNode___accept_class_verifier};
+  struct trace_t trace = {NULL, NULL, 280, LOCATE_mmbuilder___PNode___accept_class_verifier};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_mmbuilder;
   variable0 =  param0;
   ((syntax_base___PNode___accept_abs_syntax_visitor_t)CALL( self,COLOR_syntax_base___PNode___accept_abs_syntax_visitor))( self,  variable0 /*v*/) /*PNode::accept_abs_syntax_visitor*/;
   tracehead = trace.prev;
   return;
 }
 void mmbuilder___PNode___accept_property_builder(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_mmbuilder, 281, LOCATE_mmbuilder___PNode___accept_property_builder};
+  struct trace_t trace = {NULL, NULL, 281, LOCATE_mmbuilder___PNode___accept_property_builder};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_mmbuilder;
   variable0 =  param0;
   ((syntax_base___PNode___accept_abs_syntax_visitor_t)CALL( self,COLOR_syntax_base___PNode___accept_abs_syntax_visitor))( self,  variable0 /*v*/) /*PNode::accept_abs_syntax_visitor*/;
   tracehead = trace.prev;
   return;
 }
 void mmbuilder___PNode___accept_property_verifier(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_mmbuilder, 282, LOCATE_mmbuilder___PNode___accept_property_verifier};
+  struct trace_t trace = {NULL, NULL, 282, LOCATE_mmbuilder___PNode___accept_property_verifier};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_mmbuilder;
   variable0 =  param0;
   ((syntax_base___PNode___accept_abs_syntax_visitor_t)CALL( self,COLOR_syntax_base___PNode___accept_abs_syntax_visitor))( self,  variable0 /*v*/) /*PNode::accept_abs_syntax_visitor*/;
   tracehead = trace.prev;
   return;
 }
 void mmbuilder___AModule___import_super_modules(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_mmbuilder, 286, LOCATE_mmbuilder___AModule___import_super_modules};
+  struct trace_t trace = {NULL, NULL, 286, LOCATE_mmbuilder___AModule___import_super_modules};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -689,6 +731,7 @@ void mmbuilder___AModule___import_super_modules(val_t  self, val_t  param0, val_
       val_t variable11;
       static val_t once_value_variable6_41; static int once_bool_variable6_41;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_mmbuilder;
   variable0 =  param0;
   variable1 =  param1;
   variable3 = NEW_array___Array___init(); /*new Array[E]*/
@@ -766,7 +809,7 @@ void mmbuilder___AModule___import_super_modules(val_t  self, val_t  param0, val_
   return;
 }
 void mmbuilder___APackagedecl___accept_class_builder(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_mmbuilder, 323, LOCATE_mmbuilder___APackagedecl___accept_class_builder};
+  struct trace_t trace = {NULL, NULL, 323, LOCATE_mmbuilder___APackagedecl___accept_class_builder};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -781,6 +824,7 @@ void mmbuilder___APackagedecl___accept_class_builder(val_t  self, val_t  param0)
     val_t variable11;
     val_t variable12;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_mmbuilder;
   variable0 =  param0;
   variable1 = ((parser_nodes___APackagedecl___n_id_t)CALL( self,COLOR_parser_nodes___APackagedecl___n_id))( self) /*APackagedecl::n_id*/;
   variable1 = ((syntax_base___Token___to_symbol_t)CALL(variable1,COLOR_syntax_base___Token___to_symbol))(variable1) /*Token::to_symbol*/;
@@ -815,8 +859,9 @@ void mmbuilder___APackagedecl___accept_class_builder(val_t  self, val_t  param0)
   return;
 }
 val_t mmbuilder___PImport___module_name(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_mmbuilder, 332, LOCATE_mmbuilder___PImport___module_name};
+  struct trace_t trace = {NULL, NULL, 332, LOCATE_mmbuilder___PImport___module_name};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_mmbuilder;
   fprintf(stderr, "Deferred method %s called");
   fprintf(stderr, " in %s (%s:%d)\n", LOCATE_mmbuilder___APackagedecl___accept_class_builder, LOCATE_mmbuilder, 332);
   nit_exit(1);
@@ -824,8 +869,9 @@ val_t mmbuilder___PImport___module_name(val_t  self) {
   return NIT_NULL;
 }
 val_t mmbuilder___PImport___visibility_level(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_mmbuilder, 335, LOCATE_mmbuilder___PImport___visibility_level};
+  struct trace_t trace = {NULL, NULL, 335, LOCATE_mmbuilder___PImport___visibility_level};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_mmbuilder;
   fprintf(stderr, "Deferred method %s called");
   fprintf(stderr, " in %s (%s:%d)\n", LOCATE_mmbuilder___APackagedecl___accept_class_builder, LOCATE_mmbuilder, 335);
   nit_exit(1);
@@ -833,9 +879,10 @@ val_t mmbuilder___PImport___visibility_level(val_t  self) {
   return NIT_NULL;
 }
 val_t mmbuilder___AImport___module_name(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_mmbuilder, 339, LOCATE_mmbuilder___AImport___module_name};
+  struct trace_t trace = {NULL, NULL, 339, LOCATE_mmbuilder___AImport___module_name};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_mmbuilder;
   variable0 = ((parser_nodes___AImport___n_id_t)CALL( self,COLOR_parser_nodes___AImport___n_id))( self) /*AImport::n_id*/;
   variable0 = ((syntax_base___Token___to_symbol_t)CALL(variable0,COLOR_syntax_base___Token___to_symbol))(variable0) /*Token::to_symbol*/;
   goto return_label44;
@@ -844,9 +891,10 @@ val_t mmbuilder___AImport___module_name(val_t  self) {
   return variable0;
 }
 val_t mmbuilder___AImport___visibility_level(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_mmbuilder, 343, LOCATE_mmbuilder___AImport___visibility_level};
+  struct trace_t trace = {NULL, NULL, 343, LOCATE_mmbuilder___AImport___visibility_level};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_mmbuilder;
   variable0 = ((parser_nodes___AImport___n_visibility_t)CALL( self,COLOR_parser_nodes___AImport___n_visibility))( self) /*AImport::n_visibility*/;
   variable0 = ((mmbuilder___PVisibility___level_t)CALL(variable0,COLOR_mmbuilder___PVisibility___level))(variable0) /*PVisibility::level*/;
   goto return_label45;
@@ -855,9 +903,10 @@ val_t mmbuilder___AImport___visibility_level(val_t  self) {
   return variable0;
 }
 val_t mmbuilder___ANoImport___module_name(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_mmbuilder, 349, LOCATE_mmbuilder___ANoImport___module_name};
+  struct trace_t trace = {NULL, NULL, 349, LOCATE_mmbuilder___ANoImport___module_name};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_mmbuilder;
   variable0 =  NIT_NULL /*null*/;
   goto return_label46;
   return_label46: while(false);
@@ -865,8 +914,9 @@ val_t mmbuilder___ANoImport___module_name(val_t  self) {
   return variable0;
 }
 val_t mmbuilder___PVisibility___level(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_mmbuilder, 356, LOCATE_mmbuilder___PVisibility___level};
+  struct trace_t trace = {NULL, NULL, 356, LOCATE_mmbuilder___PVisibility___level};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_mmbuilder;
   fprintf(stderr, "Deferred method %s called");
   fprintf(stderr, " in %s (%s:%d)\n", LOCATE_mmbuilder___ANoImport___module_name, LOCATE_mmbuilder, 356);
   nit_exit(1);
@@ -874,9 +924,10 @@ val_t mmbuilder___PVisibility___level(val_t  self) {
   return NIT_NULL;
 }
 val_t mmbuilder___APublicVisibility___level(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_mmbuilder, 360, LOCATE_mmbuilder___APublicVisibility___level};
+  struct trace_t trace = {NULL, NULL, 360, LOCATE_mmbuilder___APublicVisibility___level};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_mmbuilder;
   variable0 =  TAG_Int(1);
   goto return_label47;
   return_label47: while(false);
@@ -884,9 +935,10 @@ val_t mmbuilder___APublicVisibility___level(val_t  self) {
   return variable0;
 }
 val_t mmbuilder___AProtectedVisibility___level(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_mmbuilder, 363, LOCATE_mmbuilder___AProtectedVisibility___level};
+  struct trace_t trace = {NULL, NULL, 363, LOCATE_mmbuilder___AProtectedVisibility___level};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_mmbuilder;
   variable0 =  TAG_Int(2);
   goto return_label48;
   return_label48: while(false);
@@ -894,9 +946,10 @@ val_t mmbuilder___AProtectedVisibility___level(val_t  self) {
   return variable0;
 }
 val_t mmbuilder___APrivateVisibility___level(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_mmbuilder, 366, LOCATE_mmbuilder___APrivateVisibility___level};
+  struct trace_t trace = {NULL, NULL, 366, LOCATE_mmbuilder___APrivateVisibility___level};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_mmbuilder;
   variable0 =  TAG_Int(3);
   goto return_label49;
   return_label49: while(false);
@@ -904,9 +957,10 @@ val_t mmbuilder___APrivateVisibility___level(val_t  self) {
   return variable0;
 }
 val_t mmbuilder___AIntrudeVisibility___level(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_mmbuilder, 369, LOCATE_mmbuilder___AIntrudeVisibility___level};
+  struct trace_t trace = {NULL, NULL, 369, LOCATE_mmbuilder___AIntrudeVisibility___level};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_mmbuilder;
   variable0 =  TAG_Int(0);
   goto return_label50;
   return_label50: while(false);
@@ -914,14 +968,16 @@ val_t mmbuilder___AIntrudeVisibility___level(val_t  self) {
   return variable0;
 }
 val_t mmbuilder___PClassdef___local_class(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_mmbuilder, 374, LOCATE_mmbuilder___PClassdef___local_class};
+  struct trace_t trace = {NULL, NULL, 374, LOCATE_mmbuilder___PClassdef___local_class};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_mmbuilder;
   tracehead = trace.prev;
   return ATTR_mmbuilder___PClassdef____local_class( self) /*PClassdef::_local_class*/;
 }
 val_t mmbuilder___PClassdef___name(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_mmbuilder, 376, LOCATE_mmbuilder___PClassdef___name};
+  struct trace_t trace = {NULL, NULL, 376, LOCATE_mmbuilder___PClassdef___name};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_mmbuilder;
   fprintf(stderr, "Deferred method %s called");
   fprintf(stderr, " in %s (%s:%d)\n", LOCATE_mmbuilder___AIntrudeVisibility___level, LOCATE_mmbuilder, 376);
   nit_exit(1);
@@ -929,9 +985,10 @@ val_t mmbuilder___PClassdef___name(val_t  self) {
   return NIT_NULL;
 }
 val_t mmbuilder___PClassdef___arity(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_mmbuilder, 379, LOCATE_mmbuilder___PClassdef___arity};
+  struct trace_t trace = {NULL, NULL, 379, LOCATE_mmbuilder___PClassdef___arity};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_mmbuilder;
   variable0 =  TAG_Int(0);
   goto return_label51;
   return_label51: while(false);
@@ -939,9 +996,10 @@ val_t mmbuilder___PClassdef___arity(val_t  self) {
   return variable0;
 }
 val_t mmbuilder___PClassdef___visibility_level(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_mmbuilder, 382, LOCATE_mmbuilder___PClassdef___visibility_level};
+  struct trace_t trace = {NULL, NULL, 382, LOCATE_mmbuilder___PClassdef___visibility_level};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_mmbuilder;
   variable0 =  TAG_Int(1);
   goto return_label52;
   return_label52: while(false);
@@ -949,7 +1007,7 @@ val_t mmbuilder___PClassdef___visibility_level(val_t  self) {
   return variable0;
 }
 void mmbuilder___PClassdef___accept_class_builder(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_mmbuilder, 385, LOCATE_mmbuilder___PClassdef___accept_class_builder};
+  struct trace_t trace = {NULL, NULL, 385, LOCATE_mmbuilder___PClassdef___accept_class_builder};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -966,6 +1024,7 @@ void mmbuilder___PClassdef___accept_class_builder(val_t  self, val_t  param0) {
       val_t variable13;
       val_t variable14;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_mmbuilder;
   variable0 =  param0;
   variable1 = NIT_NULL /*decl variable local_class*/;
   variable3 = ((syntax_base___AbsSyntaxVisitor___module_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___module))( variable0 /*v*/) /*AbsSyntaxVisitor::module*/;
@@ -1041,10 +1100,11 @@ void mmbuilder___PClassdef___accept_class_builder(val_t  self, val_t  param0) {
   return;
 }
 void mmbuilder___PClassdef___accept_abs_syntax_visitor(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_mmbuilder, 424, LOCATE_mmbuilder___PClassdef___accept_abs_syntax_visitor};
+  struct trace_t trace = {NULL, NULL, 424, LOCATE_mmbuilder___PClassdef___accept_abs_syntax_visitor};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_mmbuilder;
   variable0 =  param0;
   variable1 = ATTR_mmbuilder___PClassdef____local_class( self) /*PClassdef::_local_class*/;
   ((syntax_base___AbsSyntaxVisitor___local_class__eq_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___local_class__eq))( variable0 /*v*/, variable1) /*AbsSyntaxVisitor::local_class=*/;
@@ -1054,9 +1114,10 @@ void mmbuilder___PClassdef___accept_abs_syntax_visitor(val_t  self, val_t  param
   return;
 }
 val_t mmbuilder___PClasskind___is_interface(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_mmbuilder, 433, LOCATE_mmbuilder___PClasskind___is_interface};
+  struct trace_t trace = {NULL, NULL, 433, LOCATE_mmbuilder___PClasskind___is_interface};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_mmbuilder;
   variable0 =  TAG_Bool(false);
   goto return_label55;
   return_label55: while(false);
@@ -1064,9 +1125,10 @@ val_t mmbuilder___PClasskind___is_interface(val_t  self) {
   return variable0;
 }
 val_t mmbuilder___PClasskind___is_universal(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_mmbuilder, 434, LOCATE_mmbuilder___PClasskind___is_universal};
+  struct trace_t trace = {NULL, NULL, 434, LOCATE_mmbuilder___PClasskind___is_universal};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_mmbuilder;
   variable0 =  TAG_Bool(false);
   goto return_label56;
   return_label56: while(false);
@@ -1074,9 +1136,10 @@ val_t mmbuilder___PClasskind___is_universal(val_t  self) {
   return variable0;
 }
 val_t mmbuilder___PClasskind___is_abstract(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_mmbuilder, 435, LOCATE_mmbuilder___PClasskind___is_abstract};
+  struct trace_t trace = {NULL, NULL, 435, LOCATE_mmbuilder___PClasskind___is_abstract};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_mmbuilder;
   variable0 =  TAG_Bool(false);
   goto return_label57;
   return_label57: while(false);
@@ -1084,9 +1147,10 @@ val_t mmbuilder___PClasskind___is_abstract(val_t  self) {
   return variable0;
 }
 val_t mmbuilder___AInterfaceClasskind___is_interface(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_mmbuilder, 439, LOCATE_mmbuilder___AInterfaceClasskind___is_interface};
+  struct trace_t trace = {NULL, NULL, 439, LOCATE_mmbuilder___AInterfaceClasskind___is_interface};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_mmbuilder;
   variable0 =  TAG_Bool(true);
   goto return_label58;
   return_label58: while(false);
@@ -1094,9 +1158,10 @@ val_t mmbuilder___AInterfaceClasskind___is_interface(val_t  self) {
   return variable0;
 }
 val_t mmbuilder___AUniversalClasskind___is_universal(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_mmbuilder, 442, LOCATE_mmbuilder___AUniversalClasskind___is_universal};
+  struct trace_t trace = {NULL, NULL, 442, LOCATE_mmbuilder___AUniversalClasskind___is_universal};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_mmbuilder;
   variable0 =  TAG_Bool(true);
   goto return_label59;
   return_label59: while(false);
@@ -1104,9 +1169,10 @@ val_t mmbuilder___AUniversalClasskind___is_universal(val_t  self) {
   return variable0;
 }
 val_t mmbuilder___AAbstractClasskind___is_abstract(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_mmbuilder, 445, LOCATE_mmbuilder___AAbstractClasskind___is_abstract};
+  struct trace_t trace = {NULL, NULL, 445, LOCATE_mmbuilder___AAbstractClasskind___is_abstract};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_mmbuilder;
   variable0 =  TAG_Bool(true);
   goto return_label60;
   return_label60: while(false);
@@ -1114,9 +1180,10 @@ val_t mmbuilder___AAbstractClasskind___is_abstract(val_t  self) {
   return variable0;
 }
 val_t mmbuilder___AClassdef___name(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_mmbuilder, 449, LOCATE_mmbuilder___AClassdef___name};
+  struct trace_t trace = {NULL, NULL, 449, LOCATE_mmbuilder___AClassdef___name};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_mmbuilder;
   variable0 = ((parser_nodes___AClassdef___n_id_t)CALL( self,COLOR_parser_nodes___AClassdef___n_id))( self) /*AClassdef::n_id*/;
   variable0 = ((syntax_base___Token___to_symbol_t)CALL(variable0,COLOR_syntax_base___Token___to_symbol))(variable0) /*Token::to_symbol*/;
   goto return_label61;
@@ -1125,9 +1192,10 @@ val_t mmbuilder___AClassdef___name(val_t  self) {
   return variable0;
 }
 val_t mmbuilder___AClassdef___arity(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_mmbuilder, 453, LOCATE_mmbuilder___AClassdef___arity};
+  struct trace_t trace = {NULL, NULL, 453, LOCATE_mmbuilder___AClassdef___arity};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_mmbuilder;
   variable0 = ((parser_nodes___AClassdef___n_formaldefs_t)CALL( self,COLOR_parser_nodes___AClassdef___n_formaldefs))( self) /*AClassdef::n_formaldefs*/;
   variable0 = ((list___List___length_t)CALL(variable0,COLOR_abstract_collection___Collection___length))(variable0) /*List::length*/;
   goto return_label62;
@@ -1136,7 +1204,7 @@ val_t mmbuilder___AClassdef___arity(val_t  self) {
   return variable0;
 }
 void mmbuilder___AClassdef___accept_class_verifier(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_mmbuilder, 457, LOCATE_mmbuilder___AClassdef___accept_class_verifier};
+  struct trace_t trace = {NULL, NULL, 457, LOCATE_mmbuilder___AClassdef___accept_class_verifier};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -1154,6 +1222,7 @@ void mmbuilder___AClassdef___accept_class_verifier(val_t  self, val_t  param0) {
           val_t variable14;
           val_t variable15;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_mmbuilder;
   variable0 =  param0;
   ((mmbuilder___AClassdef___accept_class_verifier_t)CALL( self,COLOR_SUPER_mmbuilder___AClassdef___accept_class_verifier))( self,  param0) /*super AClassdef::accept_class_verifier*/;
   variable2 = ATTR_mmbuilder___PClassdef____local_class( self) /*PClassdef::_local_class*/;
@@ -1404,9 +1473,10 @@ void mmbuilder___AClassdef___accept_class_verifier(val_t  self, val_t  param0) {
   return;
 }
 val_t mmbuilder___AClassdef___visibility_level(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_mmbuilder, 514, LOCATE_mmbuilder___AClassdef___visibility_level};
+  struct trace_t trace = {NULL, NULL, 514, LOCATE_mmbuilder___AClassdef___visibility_level};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_mmbuilder;
   variable0 = ((parser_nodes___AClassdef___n_visibility_t)CALL( self,COLOR_parser_nodes___AClassdef___n_visibility))( self) /*AClassdef::n_visibility*/;
   variable0 = ((mmbuilder___PVisibility___level_t)CALL(variable0,COLOR_mmbuilder___PVisibility___level))(variable0) /*PVisibility::level*/;
   goto return_label65;
@@ -1415,10 +1485,11 @@ val_t mmbuilder___AClassdef___visibility_level(val_t  self) {
   return variable0;
 }
 val_t mmbuilder___AMainClassdef___name(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_mmbuilder, 521, LOCATE_mmbuilder___AMainClassdef___name};
+  struct trace_t trace = {NULL, NULL, 521, LOCATE_mmbuilder___AMainClassdef___name};
   val_t variable0;
   static val_t once_value_variable0_67; static int once_bool_variable0_67;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_mmbuilder;
   if (once_bool_variable0_67) variable0 = once_value_variable0_67;
   else {
     variable0 = NEW_string___String___with_native(BOX_NativeString("Sys"), TAG_Int(3)); /*new String*/
@@ -1432,10 +1503,11 @@ val_t mmbuilder___AMainClassdef___name(val_t  self) {
   return variable0;
 }
 val_t mmbuilder___ATopClassdef___name(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_mmbuilder, 528, LOCATE_mmbuilder___ATopClassdef___name};
+  struct trace_t trace = {NULL, NULL, 528, LOCATE_mmbuilder___ATopClassdef___name};
   val_t variable0;
   static val_t once_value_variable0_69; static int once_bool_variable0_69;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_mmbuilder;
   if (once_bool_variable0_69) variable0 = once_value_variable0_69;
   else {
     variable0 = NEW_string___String___with_native(BOX_NativeString("Object"), TAG_Int(6)); /*new String*/
@@ -1449,18 +1521,20 @@ val_t mmbuilder___ATopClassdef___name(val_t  self) {
   return variable0;
 }
 val_t mmbuilder___MMSrcTypeFormalParameter___node(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_mmbuilder, 536, LOCATE_mmbuilder___MMSrcTypeFormalParameter___node};
+  struct trace_t trace = {NULL, NULL, 536, LOCATE_mmbuilder___MMSrcTypeFormalParameter___node};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_mmbuilder;
   tracehead = trace.prev;
   return ATTR_mmbuilder___MMSrcTypeFormalParameter____node( self) /*MMSrcTypeFormalParameter::_node*/;
 }
 void mmbuilder___MMSrcTypeFormalParameter___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_mmbuilder, 539, LOCATE_mmbuilder___MMSrcTypeFormalParameter___init};
+  struct trace_t trace = {NULL, NULL, 539, LOCATE_mmbuilder___MMSrcTypeFormalParameter___init};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   val_t variable3;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_mmbuilder;
   variable0 =  param0;
   variable1 =  param1;
   variable2 =  param2;
@@ -1473,7 +1547,7 @@ void mmbuilder___MMSrcTypeFormalParameter___init(val_t  self, val_t  param0, val
   return;
 }
 void mmbuilder___AFormaldef___accept_class_builder(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_mmbuilder, 550, LOCATE_mmbuilder___AFormaldef___accept_class_builder};
+  struct trace_t trace = {NULL, NULL, 550, LOCATE_mmbuilder___AFormaldef___accept_class_builder};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -1481,6 +1555,7 @@ void mmbuilder___AFormaldef___accept_class_builder(val_t  self, val_t  param0) {
   val_t variable4;
   val_t variable5;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_mmbuilder;
   variable0 =  param0;
   variable2 = ((parser_nodes___AFormaldef___n_id_t)CALL( self,COLOR_parser_nodes___AFormaldef___n_id))( self) /*AFormaldef::n_id*/;
   variable2 = ((syntax_base___Token___to_symbol_t)CALL(variable2,COLOR_syntax_base___Token___to_symbol))(variable2) /*Token::to_symbol*/;
@@ -1503,7 +1578,7 @@ void mmbuilder___AFormaldef___accept_class_builder(val_t  self, val_t  param0) {
   return;
 }
 void mmbuilder___AFormaldef___accept_class_verifier(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_mmbuilder, 561, LOCATE_mmbuilder___AFormaldef___accept_class_verifier};
+  struct trace_t trace = {NULL, NULL, 561, LOCATE_mmbuilder___AFormaldef___accept_class_verifier};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -1522,6 +1597,7 @@ void mmbuilder___AFormaldef___accept_class_verifier(val_t  self, val_t  param0)
         val_t variable15;
         val_t variable16;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_mmbuilder;
   variable0 =  param0;
   ((mmbuilder___AFormaldef___accept_class_verifier_t)CALL( self,COLOR_SUPER_mmbuilder___AFormaldef___accept_class_verifier))( self,  param0) /*super AFormaldef::accept_class_verifier*/;
   variable2 = ((syntax_base___AbsSyntaxVisitor___local_class_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___local_class))( variable0 /*v*/) /*AbsSyntaxVisitor::local_class*/;
@@ -1598,18 +1674,20 @@ void mmbuilder___AFormaldef___accept_class_verifier(val_t  self, val_t  param0)
   return;
 }
 val_t mmbuilder___ASuperclass___ancestor(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_mmbuilder, 587, LOCATE_mmbuilder___ASuperclass___ancestor};
+  struct trace_t trace = {NULL, NULL, 587, LOCATE_mmbuilder___ASuperclass___ancestor};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_mmbuilder;
   tracehead = trace.prev;
   return ATTR_mmbuilder___ASuperclass____ancestor( self) /*ASuperclass::_ancestor*/;
 }
 void mmbuilder___ASuperclass___accept_class_specialization_builder(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_mmbuilder, 589, LOCATE_mmbuilder___ASuperclass___accept_class_specialization_builder};
+  struct trace_t trace = {NULL, NULL, 589, LOCATE_mmbuilder___ASuperclass___accept_class_specialization_builder};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   val_t variable3;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_mmbuilder;
   variable0 =  param0;
   ((mmbuilder___ASuperclass___accept_class_specialization_builder_t)CALL( self,COLOR_SUPER_mmbuilder___ASuperclass___accept_class_specialization_builder))( self,  param0) /*super ASuperclass::accept_class_specialization_builder*/;
   variable2 = ((parser_nodes___ASuperclass___n_type_t)CALL( self,COLOR_parser_nodes___ASuperclass___n_type))( self) /*ASuperclass::n_type*/;
@@ -1624,11 +1702,12 @@ void mmbuilder___ASuperclass___accept_class_specialization_builder(val_t  self,
   return;
 }
 void mmbuilder___ASuperclass___accept_class_ancestor_builder(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_mmbuilder, 598, LOCATE_mmbuilder___ASuperclass___accept_class_ancestor_builder};
+  struct trace_t trace = {NULL, NULL, 598, LOCATE_mmbuilder___ASuperclass___accept_class_ancestor_builder};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_mmbuilder;
   variable0 =  param0;
   ((mmbuilder___ASuperclass___accept_class_ancestor_builder_t)CALL( self,COLOR_SUPER_mmbuilder___ASuperclass___accept_class_ancestor_builder))( self,  param0) /*super ASuperclass::accept_class_ancestor_builder*/;
   variable1 = ATTR_mmbuilder___ASuperclass____ancestor( self) /*ASuperclass::_ancestor*/;
@@ -1643,10 +1722,11 @@ void mmbuilder___ASuperclass___accept_class_ancestor_builder(val_t  self, val_t
   return;
 }
 void mmbuilder___ASuperclass___accept_class_verifier(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_mmbuilder, 605, LOCATE_mmbuilder___ASuperclass___accept_class_verifier};
+  struct trace_t trace = {NULL, NULL, 605, LOCATE_mmbuilder___ASuperclass___accept_class_verifier};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_mmbuilder;
   variable0 =  param0;
   ((mmbuilder___ASuperclass___accept_class_verifier_t)CALL( self,COLOR_SUPER_mmbuilder___ASuperclass___accept_class_verifier))( self,  param0) /*super ASuperclass::accept_class_verifier*/;
   variable1 = ((parser_nodes___ASuperclass___n_type_t)CALL( self,COLOR_parser_nodes___ASuperclass___n_type))( self) /*ASuperclass::n_type*/;
@@ -1655,13 +1735,14 @@ void mmbuilder___ASuperclass___accept_class_verifier(val_t  self, val_t  param0)
   return;
 }
 void mmbuilder___PPropdef___process_and_check(val_t  self, val_t  param0, val_t  param1, val_t  param2, val_t  param3) {
-  struct trace_t trace = {NULL, LOCATE_mmbuilder, 613, LOCATE_mmbuilder___PPropdef___process_and_check};
+  struct trace_t trace = {NULL, NULL, 613, LOCATE_mmbuilder___PPropdef___process_and_check};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   val_t variable3;
   val_t variable4;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_mmbuilder;
   variable0 =  param0;
   variable1 =  param1;
   variable2 =  param2;
@@ -1678,7 +1759,7 @@ void mmbuilder___PPropdef___process_and_check(val_t  self, val_t  param0, val_t
   return;
 }
 void mmbuilder___PPropdef___do_and_check_intro(val_t  self, val_t  param0, val_t  param1, val_t  param2, val_t  param3) {
-  struct trace_t trace = {NULL, LOCATE_mmbuilder, 628, LOCATE_mmbuilder___PPropdef___do_and_check_intro};
+  struct trace_t trace = {NULL, NULL, 628, LOCATE_mmbuilder___PPropdef___do_and_check_intro};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -1696,6 +1777,7 @@ void mmbuilder___PPropdef___do_and_check_intro(val_t  self, val_t  param0, val_t
     val_t variable14;
     val_t variable15;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_mmbuilder;
   variable0 =  param0;
   variable1 =  param1;
   variable2 =  param2;
@@ -1867,7 +1949,7 @@ void mmbuilder___PPropdef___do_and_check_intro(val_t  self, val_t  param0, val_t
   return;
 }
 void mmbuilder___PPropdef___inherit_signature(val_t  self, val_t  param0, val_t  param1, val_t  param2) {
-  struct trace_t trace = {NULL, LOCATE_mmbuilder, 669, LOCATE_mmbuilder___PPropdef___inherit_signature};
+  struct trace_t trace = {NULL, NULL, 669, LOCATE_mmbuilder___PPropdef___inherit_signature};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -1881,6 +1963,7 @@ void mmbuilder___PPropdef___inherit_signature(val_t  self, val_t  param0, val_t
         val_t variable10;
         val_t variable11;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_mmbuilder;
   variable0 =  param0;
   variable1 =  param1;
   variable2 =  param2;
@@ -1940,7 +2023,7 @@ void mmbuilder___PPropdef___inherit_signature(val_t  self, val_t  param0, val_t
   return;
 }
 void mmbuilder___PPropdef___do_and_check_redef(val_t  self, val_t  param0, val_t  param1, val_t  param2, val_t  param3) {
-  struct trace_t trace = {NULL, LOCATE_mmbuilder, 695, LOCATE_mmbuilder___PPropdef___do_and_check_redef};
+  struct trace_t trace = {NULL, NULL, 695, LOCATE_mmbuilder___PPropdef___do_and_check_redef};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -1981,6 +2064,7 @@ void mmbuilder___PPropdef___do_and_check_redef(val_t  self, val_t  param0, val_t
             val_t variable36;
             val_t variable37;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_mmbuilder;
   variable0 =  param0;
   variable1 =  param1;
   variable2 =  param2;
@@ -2525,31 +2609,35 @@ void mmbuilder___PPropdef___do_and_check_redef(val_t  self, val_t  param0, val_t
   return;
 }
 val_t mmbuilder___AAttrPropdef___readmethod(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_mmbuilder, 773, LOCATE_mmbuilder___AAttrPropdef___readmethod};
+  struct trace_t trace = {NULL, NULL, 773, LOCATE_mmbuilder___AAttrPropdef___readmethod};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_mmbuilder;
   tracehead = trace.prev;
   return ATTR_mmbuilder___AAttrPropdef____readmethod( self) /*AAttrPropdef::_readmethod*/;
 }
 val_t mmbuilder___AAttrPropdef___writemethod(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_mmbuilder, 774, LOCATE_mmbuilder___AAttrPropdef___writemethod};
+  struct trace_t trace = {NULL, NULL, 774, LOCATE_mmbuilder___AAttrPropdef___writemethod};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_mmbuilder;
   tracehead = trace.prev;
   return ATTR_mmbuilder___AAttrPropdef____writemethod( self) /*AAttrPropdef::_writemethod*/;
 }
 val_t mmbuilder___AAttrPropdef___prop(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_mmbuilder, 775, LOCATE_mmbuilder___AAttrPropdef___prop};
+  struct trace_t trace = {NULL, NULL, 775, LOCATE_mmbuilder___AAttrPropdef___prop};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_mmbuilder;
   tracehead = trace.prev;
   return ATTR_mmbuilder___AAttrPropdef____prop( self) /*AAttrPropdef::_prop*/;
 }
 void mmbuilder___AAttrPropdef___accept_property_builder(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_mmbuilder, 777, LOCATE_mmbuilder___AAttrPropdef___accept_property_builder};
+  struct trace_t trace = {NULL, NULL, 777, LOCATE_mmbuilder___AAttrPropdef___accept_property_builder};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   val_t variable3;
   val_t variable4;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_mmbuilder;
   variable0 =  param0;
   ((mmbuilder___AAttrPropdef___accept_property_builder_t)CALL( self,COLOR_SUPER_mmbuilder___AAttrPropdef___accept_property_builder))( self,  param0) /*super AAttrPropdef::accept_property_builder*/;
   variable2 = ((parser_nodes___AAttrPropdef___n_id_t)CALL( self,COLOR_parser_nodes___AAttrPropdef___n_id))( self) /*AAttrPropdef::n_id*/;
@@ -2600,7 +2688,7 @@ void mmbuilder___AAttrPropdef___accept_property_builder(val_t  self, val_t  para
   return;
 }
 void mmbuilder___AAttrPropdef___accept_property_verifier(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_mmbuilder, 797, LOCATE_mmbuilder___AAttrPropdef___accept_property_verifier};
+  struct trace_t trace = {NULL, NULL, 797, LOCATE_mmbuilder___AAttrPropdef___accept_property_verifier};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -2615,6 +2703,7 @@ void mmbuilder___AAttrPropdef___accept_property_verifier(val_t  self, val_t  par
     val_t variable11;
     val_t variable12;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_mmbuilder;
   variable0 =  param0;
   ((mmbuilder___AAttrPropdef___accept_property_verifier_t)CALL( self,COLOR_SUPER_mmbuilder___AAttrPropdef___accept_property_verifier))( self,  param0) /*super AAttrPropdef::accept_property_verifier*/;
   variable1 = NIT_NULL /*decl variable t*/;
@@ -2703,10 +2792,11 @@ void mmbuilder___AAttrPropdef___accept_property_verifier(val_t  self, val_t  par
   return;
 }
 void mmbuilder___AAttrPropdef___accept_abs_syntax_visitor(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_mmbuilder, 824, LOCATE_mmbuilder___AAttrPropdef___accept_abs_syntax_visitor};
+  struct trace_t trace = {NULL, NULL, 824, LOCATE_mmbuilder___AAttrPropdef___accept_abs_syntax_visitor};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_mmbuilder;
   variable0 =  param0;
   variable1 = ((mmbuilder___AAttrPropdef___prop_t)CALL( self,COLOR_syntax_base___AAttrPropdef___prop))( self) /*AAttrPropdef::prop*/;
   ((syntax_base___AbsSyntaxVisitor___local_property__eq_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___local_property__eq))( variable0 /*v*/, variable1) /*AbsSyntaxVisitor::local_property=*/;
@@ -2716,19 +2806,21 @@ void mmbuilder___AAttrPropdef___accept_abs_syntax_visitor(val_t  self, val_t  pa
   return;
 }
 val_t mmbuilder___AMethPropdef___name(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_mmbuilder, 833, LOCATE_mmbuilder___AMethPropdef___name};
+  struct trace_t trace = {NULL, NULL, 833, LOCATE_mmbuilder___AMethPropdef___name};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_mmbuilder;
   tracehead = trace.prev;
   return ATTR_mmbuilder___AMethPropdef____name( self) /*AMethPropdef::_name*/;
 }
 val_t mmbuilder___AMethPropdef___method(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_mmbuilder, 836, LOCATE_mmbuilder___AMethPropdef___method};
+  struct trace_t trace = {NULL, NULL, 836, LOCATE_mmbuilder___AMethPropdef___method};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_mmbuilder;
   tracehead = trace.prev;
   return ATTR_mmbuilder___AMethPropdef____method( self) /*AMethPropdef::_method*/;
 }
 void mmbuilder___AMethPropdef___accept_property_builder(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_mmbuilder, 838, LOCATE_mmbuilder___AMethPropdef___accept_property_builder};
+  struct trace_t trace = {NULL, NULL, 838, LOCATE_mmbuilder___AMethPropdef___accept_property_builder};
   val_t variable0;
   val_t variable1;
       static val_t once_value_variable1_90; static int once_bool_variable1_90;
@@ -2739,6 +2831,7 @@ void mmbuilder___AMethPropdef___accept_property_builder(val_t  self, val_t  para
         static val_t once_value_variable2_93; static int once_bool_variable2_93;
   val_t variable4;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_mmbuilder;
   variable0 =  param0;
   ((mmbuilder___AMethPropdef___accept_property_builder_t)CALL( self,COLOR_SUPER_mmbuilder___AMethPropdef___accept_property_builder))( self,  param0) /*super AMethPropdef::accept_property_builder*/;
   variable1 = ((parser_nodes___AMethPropdef___n_methid_t)CALL( self,COLOR_parser_nodes___AMethPropdef___n_methid))( self) /*AMethPropdef::n_methid*/;
@@ -2813,12 +2906,13 @@ void mmbuilder___AMethPropdef___accept_property_builder(val_t  self, val_t  para
   return;
 }
 void mmbuilder___AMethPropdef___accept_property_verifier(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_mmbuilder, 862, LOCATE_mmbuilder___AMethPropdef___accept_property_verifier};
+  struct trace_t trace = {NULL, NULL, 862, LOCATE_mmbuilder___AMethPropdef___accept_property_verifier};
   val_t variable0;
   val_t variable1;
     val_t variable2;
   val_t variable3;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_mmbuilder;
   variable0 =  param0;
   variable1 = NEW_array___Array___init(); /*new Array[E]*/
   ((mmbuilder___PropertyVerifierVisitor___params__eq_t)CALL( variable0 /*v*/,COLOR_mmbuilder___PropertyVerifierVisitor___params__eq))( variable0 /*v*/, variable1) /*PropertyVerifierVisitor::params=*/;
@@ -2866,10 +2960,11 @@ void mmbuilder___AMethPropdef___accept_property_verifier(val_t  self, val_t  par
   return;
 }
 void mmbuilder___AMethPropdef___accept_abs_syntax_visitor(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_mmbuilder, 884, LOCATE_mmbuilder___AMethPropdef___accept_abs_syntax_visitor};
+  struct trace_t trace = {NULL, NULL, 884, LOCATE_mmbuilder___AMethPropdef___accept_abs_syntax_visitor};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_mmbuilder;
   variable0 =  param0;
   variable1 = ((mmbuilder___AMethPropdef___method_t)CALL( self,COLOR_syntax_base___AMethPropdef___method))( self) /*AMethPropdef::method*/;
   ((syntax_base___AbsSyntaxVisitor___local_property__eq_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___local_property__eq))( variable0 /*v*/, variable1) /*AbsSyntaxVisitor::local_property=*/;
@@ -2879,7 +2974,7 @@ void mmbuilder___AMethPropdef___accept_abs_syntax_visitor(val_t  self, val_t  pa
   return;
 }
 void mmbuilder___AMainMethPropdef___process_and_check(val_t  self, val_t  param0, val_t  param1, val_t  param2, val_t  param3) {
-  struct trace_t trace = {NULL, LOCATE_mmbuilder, 893, LOCATE_mmbuilder___AMainMethPropdef___process_and_check};
+  struct trace_t trace = {NULL, NULL, 893, LOCATE_mmbuilder___AMainMethPropdef___process_and_check};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -2888,6 +2983,7 @@ void mmbuilder___AMainMethPropdef___process_and_check(val_t  self, val_t  param0
   val_t variable5;
   val_t variable6;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_mmbuilder;
   variable0 =  param0;
   variable1 =  param1;
   variable2 =  param2;
@@ -2904,19 +3000,21 @@ void mmbuilder___AMainMethPropdef___process_and_check(val_t  self, val_t  param0
   return;
 }
 val_t mmbuilder___ATypePropdef___prop(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_mmbuilder, 902, LOCATE_mmbuilder___ATypePropdef___prop};
+  struct trace_t trace = {NULL, NULL, 902, LOCATE_mmbuilder___ATypePropdef___prop};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_mmbuilder;
   tracehead = trace.prev;
   return ATTR_mmbuilder___ATypePropdef____prop( self) /*ATypePropdef::_prop*/;
 }
 void mmbuilder___ATypePropdef___accept_property_builder(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_mmbuilder, 904, LOCATE_mmbuilder___ATypePropdef___accept_property_builder};
+  struct trace_t trace = {NULL, NULL, 904, LOCATE_mmbuilder___ATypePropdef___accept_property_builder};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   val_t variable3;
   val_t variable4;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_mmbuilder;
   variable0 =  param0;
   ((mmbuilder___ATypePropdef___accept_property_builder_t)CALL( self,COLOR_SUPER_mmbuilder___ATypePropdef___accept_property_builder))( self,  param0) /*super ATypePropdef::accept_property_builder*/;
   variable2 = ((parser_nodes___ATypePropdef___n_id_t)CALL( self,COLOR_parser_nodes___ATypePropdef___n_id))( self) /*ATypePropdef::n_id*/;
@@ -2933,7 +3031,7 @@ void mmbuilder___ATypePropdef___accept_property_builder(val_t  self, val_t  para
   return;
 }
 void mmbuilder___ATypePropdef___accept_property_verifier(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_mmbuilder, 913, LOCATE_mmbuilder___ATypePropdef___accept_property_verifier};
+  struct trace_t trace = {NULL, NULL, 913, LOCATE_mmbuilder___ATypePropdef___accept_property_verifier};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -2941,6 +3039,7 @@ void mmbuilder___ATypePropdef___accept_property_verifier(val_t  self, val_t  par
   val_t variable4;
   val_t variable5;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_mmbuilder;
   variable0 =  param0;
   ((mmbuilder___ATypePropdef___accept_property_verifier_t)CALL( self,COLOR_SUPER_mmbuilder___ATypePropdef___accept_property_verifier))( self,  param0) /*super ATypePropdef::accept_property_verifier*/;
   variable2 = NEW_array___Array___init(); /*new Array[E]*/
@@ -2964,10 +3063,11 @@ void mmbuilder___ATypePropdef___accept_property_verifier(val_t  self, val_t  par
   return;
 }
 void mmbuilder___ATypePropdef___accept_abs_syntax_visitor(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_mmbuilder, 922, LOCATE_mmbuilder___ATypePropdef___accept_abs_syntax_visitor};
+  struct trace_t trace = {NULL, NULL, 922, LOCATE_mmbuilder___ATypePropdef___accept_abs_syntax_visitor};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_mmbuilder;
   variable0 =  param0;
   variable1 = ((mmbuilder___ATypePropdef___prop_t)CALL( self,COLOR_syntax_base___ATypePropdef___prop))( self) /*ATypePropdef::prop*/;
   ((syntax_base___AbsSyntaxVisitor___local_property__eq_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___local_property__eq))( variable0 /*v*/, variable1) /*AbsSyntaxVisitor::local_property=*/;
@@ -2977,17 +3077,19 @@ void mmbuilder___ATypePropdef___accept_abs_syntax_visitor(val_t  self, val_t  pa
   return;
 }
 val_t mmbuilder___MethidAccumulator___name(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_mmbuilder, 933, LOCATE_mmbuilder___MethidAccumulator___name};
+  struct trace_t trace = {NULL, NULL, 933, LOCATE_mmbuilder___MethidAccumulator___name};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_mmbuilder;
   tracehead = trace.prev;
   return ATTR_mmbuilder___MethidAccumulator____name( self) /*MethidAccumulator::_name*/;
 }
 void mmbuilder___MethidAccumulator___visit(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_mmbuilder, 934, LOCATE_mmbuilder___MethidAccumulator___visit};
+  struct trace_t trace = {NULL, NULL, 934, LOCATE_mmbuilder___MethidAccumulator___visit};
   val_t variable0;
   val_t variable1;
     val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_mmbuilder;
   variable0 =  param0;
   variable1 = TAG_Bool(( variable0 /*n*/==NIT_NULL) || VAL_ISA( variable0 /*n*/, COLOR_Token, ID_Token)) /*cast Token*/;
   if (UNTAG_Bool(variable1)) { /*if*/
@@ -3001,9 +3103,10 @@ void mmbuilder___MethidAccumulator___visit(val_t  self, val_t  param0) {
   return;
 }
 void mmbuilder___MethidAccumulator___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_mmbuilder, 943, LOCATE_mmbuilder___MethidAccumulator___init};
+  struct trace_t trace = {NULL, NULL, 943, LOCATE_mmbuilder___MethidAccumulator___init};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_mmbuilder;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_MethidAccumulator].i]) return;
   variable0 = NEW_string___String___init(); /*new String*/
   ATTR_mmbuilder___MethidAccumulator____name( self) /*MethidAccumulator::_name*/ = variable0;
@@ -3012,17 +3115,19 @@ void mmbuilder___MethidAccumulator___init(val_t  self, int* init_table) {
   return;
 }
 val_t mmbuilder___PMethid___name(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_mmbuilder, 950, LOCATE_mmbuilder___PMethid___name};
+  struct trace_t trace = {NULL, NULL, 950, LOCATE_mmbuilder___PMethid___name};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_mmbuilder;
   tracehead = trace.prev;
   return ATTR_mmbuilder___PMethid____name( self) /*PMethid::_name*/;
 }
 void mmbuilder___PMethid___accept_property_builder(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_mmbuilder, 953, LOCATE_mmbuilder___PMethid___accept_property_builder};
+  struct trace_t trace = {NULL, NULL, 953, LOCATE_mmbuilder___PMethid___accept_property_builder};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_mmbuilder;
   variable0 =  param0;
   variable2 = NEW_mmbuilder___MethidAccumulator___init(); /*new MethidAccumulator*/
   variable1 = variable2;
@@ -3035,8 +3140,9 @@ void mmbuilder___PMethid___accept_property_builder(val_t  self, val_t  param0) {
   return;
 }
 void mmbuilder___PSignature___check_visibility(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_mmbuilder, 963, LOCATE_mmbuilder___PSignature___check_visibility};
+  struct trace_t trace = {NULL, NULL, 963, LOCATE_mmbuilder___PSignature___check_visibility};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_mmbuilder;
   fprintf(stderr, "Deferred method %s called");
   fprintf(stderr, " in %s (%s:%d)\n", LOCATE_mmbuilder___PMethid___accept_property_builder, LOCATE_mmbuilder, 963);
   nit_exit(1);
@@ -3044,13 +3150,14 @@ void mmbuilder___PSignature___check_visibility(val_t  self, val_t  param0, val_t
   return;
 }
 void mmbuilder___ASignature___accept_property_verifier(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_mmbuilder, 968, LOCATE_mmbuilder___ASignature___accept_property_verifier};
+  struct trace_t trace = {NULL, NULL, 968, LOCATE_mmbuilder___ASignature___accept_property_verifier};
   val_t variable0;
   val_t variable1;
     val_t variable2;
         val_t variable3;
         val_t variable4;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_mmbuilder;
   variable0 =  param0;
   ((mmbuilder___ASignature___accept_property_verifier_t)CALL( self,COLOR_SUPER_mmbuilder___ASignature___accept_property_verifier))( self,  param0) /*super ASignature::accept_property_verifier*/;
   variable1 = ((mmbuilder___PropertyVerifierVisitor___untyped_params_t)CALL( variable0 /*v*/,COLOR_mmbuilder___PropertyVerifierVisitor___untyped_params))( variable0 /*v*/) /*PropertyVerifierVisitor::untyped_params*/;
@@ -3124,13 +3231,14 @@ void mmbuilder___ASignature___accept_property_verifier(val_t  self, val_t  param
   return;
 }
 void mmbuilder___ASignature___check_visibility(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_mmbuilder, 992, LOCATE_mmbuilder___ASignature___check_visibility};
+  struct trace_t trace = {NULL, NULL, 992, LOCATE_mmbuilder___ASignature___check_visibility};
   val_t variable0;
   val_t variable1;
   val_t variable2;
     val_t variable3;
     val_t variable4;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_mmbuilder;
   variable0 =  param0;
   variable1 =  param1;
   variable2 = ((abstractmetamodel___MMLocalProperty___global_t)CALL( variable1 /*p*/,COLOR_abstractmetamodel___MMLocalProperty___global))( variable1 /*p*/) /*MMLocalProperty::global*/;
@@ -3166,32 +3274,36 @@ void mmbuilder___ASignature___check_visibility(val_t  self, val_t  param0, val_t
   return;
 }
 val_t mmbuilder___PParam___position(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_mmbuilder, 1003, LOCATE_mmbuilder___PParam___position};
+  struct trace_t trace = {NULL, NULL, 1003, LOCATE_mmbuilder___PParam___position};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_mmbuilder;
   tracehead = trace.prev;
   return ATTR_mmbuilder___PParam____position( self) /*PParam::_position*/;
 }
 val_t mmbuilder___PParam___variable(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_mmbuilder, 1005, LOCATE_mmbuilder___PParam___variable};
+  struct trace_t trace = {NULL, NULL, 1005, LOCATE_mmbuilder___PParam___variable};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_mmbuilder;
   tracehead = trace.prev;
   return ATTR_mmbuilder___PParam____variable( self) /*PParam::_variable*/;
 }
 val_t mmbuilder___PParam___stype(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_mmbuilder, 1007, LOCATE_mmbuilder___PParam___stype};
+  struct trace_t trace = {NULL, NULL, 1007, LOCATE_mmbuilder___PParam___stype};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_mmbuilder;
   tracehead = trace.prev;
   return ATTR_mmbuilder___PParam____stype( self) /*PParam::_stype*/;
 }
 void mmbuilder___PParam___stype__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_mmbuilder, 1007, LOCATE_mmbuilder___PParam___stype__eq};
+  struct trace_t trace = {NULL, NULL, 1007, LOCATE_mmbuilder___PParam___stype__eq};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_mmbuilder;
   ATTR_mmbuilder___PParam____stype( self) /*PParam::_stype*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 void mmbuilder___PParam___accept_property_verifier(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_mmbuilder, 1010, LOCATE_mmbuilder___PParam___accept_property_verifier};
+  struct trace_t trace = {NULL, NULL, 1010, LOCATE_mmbuilder___PParam___accept_property_verifier};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -3199,6 +3311,7 @@ void mmbuilder___PParam___accept_property_verifier(val_t  self, val_t  param0) {
       val_t variable4;
         val_t variable5;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_mmbuilder;
   variable0 =  param0;
   ((mmbuilder___PParam___accept_property_verifier_t)CALL( self,COLOR_SUPER_mmbuilder___PParam___accept_property_verifier))( self,  param0) /*super PParam::accept_property_verifier*/;
   variable1 = ((mmbuilder___PropertyVerifierVisitor___params_t)CALL( variable0 /*v*/,COLOR_mmbuilder___PropertyVerifierVisitor___params))( variable0 /*v*/) /*PropertyVerifierVisitor::params*/;
@@ -3254,8 +3367,9 @@ void mmbuilder___PParam___accept_property_verifier(val_t  self, val_t  param0) {
   return;
 }
 val_t mmbuilder___PParam___is_vararg(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_mmbuilder, 1035, LOCATE_mmbuilder___PParam___is_vararg};
+  struct trace_t trace = {NULL, NULL, 1035, LOCATE_mmbuilder___PParam___is_vararg};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_mmbuilder;
   fprintf(stderr, "Deferred method %s called");
   fprintf(stderr, " in %s (%s:%d)\n", LOCATE_mmbuilder___PParam___accept_property_verifier, LOCATE_mmbuilder, 1035);
   nit_exit(1);
@@ -3263,9 +3377,10 @@ val_t mmbuilder___PParam___is_vararg(val_t  self) {
   return NIT_NULL;
 }
 val_t mmbuilder___AParam___is_vararg(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_mmbuilder, 1039, LOCATE_mmbuilder___AParam___is_vararg};
+  struct trace_t trace = {NULL, NULL, 1039, LOCATE_mmbuilder___AParam___is_vararg};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_mmbuilder;
   variable0 = ((parser_nodes___AParam___n_dotdotdot_t)CALL( self,COLOR_parser_nodes___AParam___n_dotdotdot))( self) /*AParam::n_dotdotdot*/;
   variable0 = TAG_Bool(!UNTAG_Bool(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::==*/)))))));
   goto return_label109;
@@ -3274,8 +3389,9 @@ val_t mmbuilder___AParam___is_vararg(val_t  self) {
   return variable0;
 }
 void mmbuilder___PType___check_visibility(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_mmbuilder, 1043, LOCATE_mmbuilder___PType___check_visibility};
+  struct trace_t trace = {NULL, NULL, 1043, LOCATE_mmbuilder___PType___check_visibility};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_mmbuilder;
   fprintf(stderr, "Deferred method %s called");
   fprintf(stderr, " in %s (%s:%d)\n", LOCATE_mmbuilder___AParam___is_vararg, LOCATE_mmbuilder, 1043);
   nit_exit(1);
@@ -3283,7 +3399,7 @@ void mmbuilder___PType___check_visibility(val_t  self, val_t  param0, val_t  par
   return;
 }
 void mmbuilder___AType___check_visibility(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_mmbuilder, 1048, LOCATE_mmbuilder___AType___check_visibility};
+  struct trace_t trace = {NULL, NULL, 1048, LOCATE_mmbuilder___AType___check_visibility};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -3298,6 +3414,7 @@ void mmbuilder___AType___check_visibility(val_t  self, val_t  param0, val_t  par
     val_t variable11;
     val_t variable12;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_mmbuilder;
   variable0 =  param0;
   variable1 =  param1;
   variable2 = ((abstractmetamodel___MMLocalProperty___global_t)CALL( variable1 /*p*/,COLOR_abstractmetamodel___MMLocalProperty___global))( variable1 /*p*/) /*MMLocalProperty::global*/;
@@ -3356,25 +3473,28 @@ void mmbuilder___AType___check_visibility(val_t  self, val_t  param0, val_t  par
   return;
 }
 void mmbuilder___PExpr___accept_class_builder(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_mmbuilder, 1065, LOCATE_mmbuilder___PExpr___accept_class_builder};
+  struct trace_t trace = {NULL, NULL, 1065, LOCATE_mmbuilder___PExpr___accept_class_builder};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_mmbuilder;
   variable0 =  param0;
   tracehead = trace.prev;
   return;
 }
 void mmbuilder___PExpr___accept_property_builder(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_mmbuilder, 1066, LOCATE_mmbuilder___PExpr___accept_property_builder};
+  struct trace_t trace = {NULL, NULL, 1066, LOCATE_mmbuilder___PExpr___accept_property_builder};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_mmbuilder;
   variable0 =  param0;
   tracehead = trace.prev;
   return;
 }
 void mmbuilder___PExpr___accept_property_verifier(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_mmbuilder, 1067, LOCATE_mmbuilder___PExpr___accept_property_verifier};
+  struct trace_t trace = {NULL, NULL, 1067, LOCATE_mmbuilder___PExpr___accept_property_verifier};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_mmbuilder;
   variable0 =  param0;
   tracehead = trace.prev;
   return;
index 98d29cf..d84fe59 100644 (file)
@@ -1,6 +1,6 @@
 /* This C header file is generated by NIT to compile modules and programs that requires mmbuilder. */
-#ifndef mmbuilder_2_sep
-#define mmbuilder_2_sep
+#ifndef mmbuilder_sep
+#define mmbuilder_sep
 #include "syntax_base._sep.h"
 #include <nit_common.h>
 
@@ -23,7 +23,7 @@ extern const classtable_elt_t VFT_PropertyVerifierVisitor[];
 extern const classtable_elt_t VFT_MMSrcTypeFormalParameter[];
 
 extern const classtable_elt_t VFT_MethidAccumulator[];
-#define LOCATE_mmbuilder "./syntax//mmbuilder.nit"
+extern const char *LOCATE_mmbuilder;
 extern const int SFT_mmbuilder[];
 #define ID_CSHSorter SFT_mmbuilder[0]
 #define COLOR_CSHSorter SFT_mmbuilder[1]
index 1d91eab..97b6e25 100644 (file)
@@ -1,19 +1,21 @@
 /* This C file is generated by NIT to compile module mmloader. */
 #include "mmloader._sep.h"
 val_t mmloader___ToolContext___error_count(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_mmloader, 27, LOCATE_mmloader___ToolContext___error_count};
+  struct trace_t trace = {NULL, NULL, 27, LOCATE_mmloader___ToolContext___error_count};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_mmloader;
   tracehead = trace.prev;
   return ATTR_mmloader___ToolContext____error_count( self) /*ToolContext::_error_count*/;
 }
 val_t mmloader___ToolContext___warning_count(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_mmloader, 30, LOCATE_mmloader___ToolContext___warning_count};
+  struct trace_t trace = {NULL, NULL, 30, LOCATE_mmloader___ToolContext___warning_count};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_mmloader;
   tracehead = trace.prev;
   return ATTR_mmloader___ToolContext____warning_count( self) /*ToolContext::_warning_count*/;
 }
 void mmloader___ToolContext___error(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_mmloader, 33, LOCATE_mmloader___ToolContext___error};
+  struct trace_t trace = {NULL, NULL, 33, LOCATE_mmloader___ToolContext___error};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -23,6 +25,7 @@ void mmloader___ToolContext___error(val_t  self, val_t  param0) {
   val_t variable6;
   val_t variable7;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_mmloader;
   variable0 =  param0;
   variable1 = ((file___Object___stderr_t)CALL( self,COLOR_file___Object___stderr))( self) /*Object::stderr*/;
   variable2 = NEW_string___String___init(); /*new String*/
@@ -42,7 +45,7 @@ void mmloader___ToolContext___error(val_t  self, val_t  param0) {
   return;
 }
 void mmloader___ToolContext___warning(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_mmloader, 40, LOCATE_mmloader___ToolContext___warning};
+  struct trace_t trace = {NULL, NULL, 40, LOCATE_mmloader___ToolContext___warning};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -52,6 +55,7 @@ void mmloader___ToolContext___warning(val_t  self, val_t  param0) {
   val_t variable6;
   val_t variable7;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_mmloader;
   variable0 =  param0;
   variable1 = ATTR_mmloader___ToolContext____opt_warn( self) /*ToolContext::_opt_warn*/;
   variable1 = ((opts___Option___value_t)CALL(variable1,COLOR_opts___Option___value))(variable1) /*Option::value*/;
@@ -77,55 +81,63 @@ void mmloader___ToolContext___warning(val_t  self, val_t  param0) {
   return;
 }
 val_t mmloader___ToolContext___paths(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_mmloader, 48, LOCATE_mmloader___ToolContext___paths};
+  struct trace_t trace = {NULL, NULL, 48, LOCATE_mmloader___ToolContext___paths};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_mmloader;
   tracehead = trace.prev;
   return ATTR_mmloader___ToolContext____paths( self) /*ToolContext::_paths*/;
 }
 val_t mmloader___ToolContext___option_context(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_mmloader, 54, LOCATE_mmloader___ToolContext___option_context};
+  struct trace_t trace = {NULL, NULL, 54, LOCATE_mmloader___ToolContext___option_context};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_mmloader;
   tracehead = trace.prev;
   return ATTR_mmloader___ToolContext____option_context( self) /*ToolContext::_option_context*/;
 }
 val_t mmloader___ToolContext___opt_warn(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_mmloader, 57, LOCATE_mmloader___ToolContext___opt_warn};
+  struct trace_t trace = {NULL, NULL, 57, LOCATE_mmloader___ToolContext___opt_warn};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_mmloader;
   tracehead = trace.prev;
   return ATTR_mmloader___ToolContext____opt_warn( self) /*ToolContext::_opt_warn*/;
 }
 val_t mmloader___ToolContext___opt_path(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_mmloader, 60, LOCATE_mmloader___ToolContext___opt_path};
+  struct trace_t trace = {NULL, NULL, 60, LOCATE_mmloader___ToolContext___opt_path};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_mmloader;
   tracehead = trace.prev;
   return ATTR_mmloader___ToolContext____opt_path( self) /*ToolContext::_opt_path*/;
 }
 val_t mmloader___ToolContext___opt_log(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_mmloader, 63, LOCATE_mmloader___ToolContext___opt_log};
+  struct trace_t trace = {NULL, NULL, 63, LOCATE_mmloader___ToolContext___opt_log};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_mmloader;
   tracehead = trace.prev;
   return ATTR_mmloader___ToolContext____opt_log( self) /*ToolContext::_opt_log*/;
 }
 val_t mmloader___ToolContext___opt_only_metamodel(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_mmloader, 66, LOCATE_mmloader___ToolContext___opt_only_metamodel};
+  struct trace_t trace = {NULL, NULL, 66, LOCATE_mmloader___ToolContext___opt_only_metamodel};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_mmloader;
   tracehead = trace.prev;
   return ATTR_mmloader___ToolContext____opt_only_metamodel( self) /*ToolContext::_opt_only_metamodel*/;
 }
 val_t mmloader___ToolContext___opt_only_parse(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_mmloader, 69, LOCATE_mmloader___ToolContext___opt_only_parse};
+  struct trace_t trace = {NULL, NULL, 69, LOCATE_mmloader___ToolContext___opt_only_parse};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_mmloader;
   tracehead = trace.prev;
   return ATTR_mmloader___ToolContext____opt_only_parse( self) /*ToolContext::_opt_only_parse*/;
 }
 val_t mmloader___ToolContext___opt_help(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_mmloader, 72, LOCATE_mmloader___ToolContext___opt_help};
+  struct trace_t trace = {NULL, NULL, 72, LOCATE_mmloader___ToolContext___opt_help};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_mmloader;
   tracehead = trace.prev;
   return ATTR_mmloader___ToolContext____opt_help( self) /*ToolContext::_opt_help*/;
 }
 void mmloader___ToolContext___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_mmloader, 75, LOCATE_mmloader___ToolContext___init};
+  struct trace_t trace = {NULL, NULL, 75, LOCATE_mmloader___ToolContext___init};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -135,6 +147,7 @@ void mmloader___ToolContext___init(val_t  self, int* init_table) {
   val_t variable6;
   val_t variable7;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_mmloader;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ToolContext].i]) return;
   ((abstractmetamodel___MMContext___init_t)CALL( self,COLOR_abstractmetamodel___MMContext___init))( self, init_table /*YYY*/) /*MMContext::init*/;
   variable0 = ((mmloader___ToolContext___option_context_t)CALL( self,COLOR_mmloader___ToolContext___option_context))( self) /*ToolContext::option_context*/;
@@ -157,7 +170,7 @@ void mmloader___ToolContext___init(val_t  self, int* init_table) {
   return;
 }
 void mmloader___ToolContext___process_options(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_mmloader, 81, LOCATE_mmloader___ToolContext___process_options};
+  struct trace_t trace = {NULL, NULL, 81, LOCATE_mmloader___ToolContext___process_options};
   val_t variable0;
   val_t variable1;
   static val_t once_value_variable1_4; static int once_bool_variable1_4;
@@ -170,6 +183,7 @@ void mmloader___ToolContext___process_options(val_t  self) {
     val_t variable7;
   val_t variable8;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_mmloader;
   variable0 = ((mmloader___ToolContext___option_context_t)CALL( self,COLOR_mmloader___ToolContext___option_context))( self) /*ToolContext::option_context*/;
   variable1 = ((string___Object___args_t)CALL( self,COLOR_string___Object___args))( self) /*Object::args*/;
   ((opts___OptionContext___parse_t)CALL(variable0,COLOR_opts___OptionContext___parse))(variable0, variable1) /*OptionContext::parse*/;
@@ -243,7 +257,7 @@ void mmloader___ToolContext___process_options(val_t  self) {
   return;
 }
 val_t mmloader___ToolContext___try_to_load(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_mmloader, 106, LOCATE_mmloader___ToolContext___try_to_load};
+  struct trace_t trace = {NULL, NULL, 106, LOCATE_mmloader___ToolContext___try_to_load};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -257,6 +271,7 @@ val_t mmloader___ToolContext___try_to_load(val_t  self, val_t  param0, val_t  pa
         val_t variable10;
         val_t variable11;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_mmloader;
   variable0 =  param0;
   variable1 =  param1;
   variable2 = ((abstractmetamodel___MMDirectory___modules_t)CALL( variable1 /*dir*/,COLOR_abstractmetamodel___MMDirectory___modules))( variable1 /*dir*/) /*MMDirectory::modules*/;
@@ -337,7 +352,7 @@ val_t mmloader___ToolContext___try_to_load(val_t  self, val_t  param0, val_t  pa
   return variable2;
 }
 val_t mmloader___ToolContext___get_module_from_filename(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_mmloader, 152, LOCATE_mmloader___ToolContext___get_module_from_filename};
+  struct trace_t trace = {NULL, NULL, 152, LOCATE_mmloader___ToolContext___get_module_from_filename};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -350,6 +365,7 @@ val_t mmloader___ToolContext___get_module_from_filename(val_t  self, val_t  para
     val_t variable9;
   val_t variable10;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_mmloader;
   variable0 =  param0;
   variable2 = ((file___String___dirname_t)CALL( variable0 /*filename*/,COLOR_file___String___dirname))( variable0 /*filename*/) /*String::dirname*/;
   variable1 = variable2;
@@ -412,7 +428,7 @@ val_t mmloader___ToolContext___get_module_from_filename(val_t  self, val_t  para
   return variable1;
 }
 val_t mmloader___ToolContext___get_module(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_mmloader, 187, LOCATE_mmloader___ToolContext___get_module};
+  struct trace_t trace = {NULL, NULL, 187, LOCATE_mmloader___ToolContext___get_module};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -423,6 +439,7 @@ val_t mmloader___ToolContext___get_module(val_t  self, val_t  param0, val_t  par
   val_t variable7;
   val_t variable8;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_mmloader;
   variable0 =  param0;
   variable1 =  param1;
   variable2 = NIT_NULL /*decl variable m*/;
@@ -482,12 +499,13 @@ val_t mmloader___ToolContext___get_module(val_t  self, val_t  param0, val_t  par
   return variable2;
 }
 val_t mmloader___ToolContext___directory_for(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_mmloader, 211, LOCATE_mmloader___ToolContext___directory_for};
+  struct trace_t trace = {NULL, NULL, 211, LOCATE_mmloader___ToolContext___directory_for};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   val_t variable3;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_mmloader;
   variable0 =  param0;
   variable1 = ATTR_mmloader___ToolContext____path_dirs( self) /*ToolContext::_path_dirs*/;
   variable1 = ((abstract_collection___Map___has_key_t)CALL(variable1,COLOR_abstract_collection___Map___has_key))(variable1,  variable0 /*path*/) /*Map::has_key*/;
@@ -509,10 +527,11 @@ val_t mmloader___ToolContext___directory_for(val_t  self, val_t  param0) {
   return variable1;
 }
 void mmloader___ToolContext___register_loader(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_mmloader, 223, LOCATE_mmloader___ToolContext___register_loader};
+  struct trace_t trace = {NULL, NULL, 223, LOCATE_mmloader___ToolContext___register_loader};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_mmloader;
   variable0 =  param0;
   variable1 = ATTR_mmloader___ToolContext____loaders( self) /*ToolContext::_loaders*/;
   ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  variable0 /*ml*/) /*AbstractArray::add*/;
@@ -520,8 +539,9 @@ void mmloader___ToolContext___register_loader(val_t  self, val_t  param0) {
   return;
 }
 val_t mmloader___ModuleLoader___file_type(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_mmloader, 232, LOCATE_mmloader___ModuleLoader___file_type};
+  struct trace_t trace = {NULL, NULL, 232, LOCATE_mmloader___ModuleLoader___file_type};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_mmloader;
   fprintf(stderr, "Deferred method %s called");
   fprintf(stderr, " in %s (%s:%d)\n", LOCATE_mmloader___ToolContext___register_loader, LOCATE_mmloader, 232);
   nit_exit(1);
@@ -529,7 +549,7 @@ val_t mmloader___ModuleLoader___file_type(val_t  self) {
   return NIT_NULL;
 }
 val_t mmloader___ModuleLoader___try_to_load_dir(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_mmloader, 235, LOCATE_mmloader___ModuleLoader___try_to_load_dir};
+  struct trace_t trace = {NULL, NULL, 235, LOCATE_mmloader___ModuleLoader___try_to_load_dir};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -544,6 +564,7 @@ val_t mmloader___ModuleLoader___try_to_load_dir(val_t  self, val_t  param0, val_
   val_t variable11;
   val_t variable12;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_mmloader;
   variable0 =  param0;
   variable1 =  param1;
   variable3 = NEW_string___String___init(); /*new String*/
@@ -579,7 +600,7 @@ val_t mmloader___ModuleLoader___try_to_load_dir(val_t  self, val_t  param0, val_
   return variable2;
 }
 val_t mmloader___ModuleLoader___can_handle(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_mmloader, 245, LOCATE_mmloader___ModuleLoader___can_handle};
+  struct trace_t trace = {NULL, NULL, 245, LOCATE_mmloader___ModuleLoader___can_handle};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -598,6 +619,7 @@ val_t mmloader___ModuleLoader___can_handle(val_t  self, val_t  param0, val_t  pa
   val_t variable15;
   val_t variable16;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_mmloader;
   variable0 =  param0;
   variable1 =  param1;
   variable3 = NEW_string___String___init(); /*new String*/
@@ -635,7 +657,7 @@ val_t mmloader___ModuleLoader___can_handle(val_t  self, val_t  param0, val_t  pa
   return variable2;
 }
 val_t mmloader___ModuleLoader___load_and_process_module(val_t  self, val_t  param0, val_t  param1, val_t  param2) {
-  struct trace_t trace = {NULL, LOCATE_mmloader, 254, LOCATE_mmloader___ModuleLoader___load_and_process_module};
+  struct trace_t trace = {NULL, NULL, 254, LOCATE_mmloader___ModuleLoader___load_and_process_module};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -655,6 +677,7 @@ val_t mmloader___ModuleLoader___load_and_process_module(val_t  self, val_t  para
   val_t variable16;
   val_t variable17;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_mmloader;
   variable0 =  param0;
   variable1 =  param1;
   variable2 =  param2;
@@ -695,7 +718,7 @@ val_t mmloader___ModuleLoader___load_and_process_module(val_t  self, val_t  para
   return variable3;
 }
 val_t mmloader___ModuleLoader___load_module(val_t  self, val_t  param0, val_t  param1, val_t  param2, val_t  param3) {
-  struct trace_t trace = {NULL, LOCATE_mmloader, 264, LOCATE_mmloader___ModuleLoader___load_module};
+  struct trace_t trace = {NULL, NULL, 264, LOCATE_mmloader___ModuleLoader___load_module};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -708,6 +731,7 @@ val_t mmloader___ModuleLoader___load_module(val_t  self, val_t  param0, val_t  p
     val_t variable9;
     val_t variable10;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_mmloader;
   variable0 =  param0;
   variable1 =  param1;
   variable2 =  param2;
@@ -754,8 +778,9 @@ val_t mmloader___ModuleLoader___load_module(val_t  self, val_t  param0, val_t  p
   return variable4;
 }
 val_t mmloader___ModuleLoader___parse_file(val_t  self, val_t  param0, val_t  param1, val_t  param2, val_t  param3, val_t  param4) {
-  struct trace_t trace = {NULL, LOCATE_mmloader, 285, LOCATE_mmloader___ModuleLoader___parse_file};
+  struct trace_t trace = {NULL, NULL, 285, LOCATE_mmloader___ModuleLoader___parse_file};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_mmloader;
   fprintf(stderr, "Deferred method %s called");
   fprintf(stderr, " in %s (%s:%d)\n", LOCATE_mmloader___ModuleLoader___load_module, LOCATE_mmloader, 285);
   nit_exit(1);
@@ -763,8 +788,9 @@ val_t mmloader___ModuleLoader___parse_file(val_t  self, val_t  param0, val_t  pa
   return NIT_NULL;
 }
 void mmloader___ModuleLoader___process_metamodel(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_mmloader, 288, LOCATE_mmloader___ModuleLoader___process_metamodel};
+  struct trace_t trace = {NULL, NULL, 288, LOCATE_mmloader___ModuleLoader___process_metamodel};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_mmloader;
   fprintf(stderr, "Deferred method %s called");
   fprintf(stderr, " in %s (%s:%d)\n", LOCATE_mmloader___ModuleLoader___load_module, LOCATE_mmloader, 288);
   nit_exit(1);
@@ -772,33 +798,37 @@ void mmloader___ModuleLoader___process_metamodel(val_t  self, val_t  param0, val
   return;
 }
 val_t mmloader___MMModule___filename(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_mmloader, 293, LOCATE_mmloader___MMModule___filename};
+  struct trace_t trace = {NULL, NULL, 293, LOCATE_mmloader___MMModule___filename};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_mmloader;
   tracehead = trace.prev;
   return ATTR_mmloader___MMModule____filename( self) /*MMModule::_filename*/;
 }
 void mmloader___MMModule___filename__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_mmloader, 293, LOCATE_mmloader___MMModule___filename__eq};
+  struct trace_t trace = {NULL, NULL, 293, LOCATE_mmloader___MMModule___filename__eq};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_mmloader;
   ATTR_mmloader___MMModule____filename( self) /*MMModule::_filename*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t mmloader___MMModule___mtime(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_mmloader, 296, LOCATE_mmloader___MMModule___mtime};
+  struct trace_t trace = {NULL, NULL, 296, LOCATE_mmloader___MMModule___mtime};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_mmloader;
   tracehead = trace.prev;
   return ATTR_mmloader___MMModule____mtime( self) /*MMModule::_mtime*/;
 }
 void mmloader___MMModule___mtime__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_mmloader, 296, LOCATE_mmloader___MMModule___mtime__eq};
+  struct trace_t trace = {NULL, NULL, 296, LOCATE_mmloader___MMModule___mtime__eq};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_mmloader;
   ATTR_mmloader___MMModule____mtime( self) /*MMModule::_mtime*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 void mmloader___MMModule___import_supers_modules(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_mmloader, 299, LOCATE_mmloader___MMModule___import_supers_modules};
+  struct trace_t trace = {NULL, NULL, 299, LOCATE_mmloader___MMModule___import_supers_modules};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -807,6 +837,7 @@ void mmloader___MMModule___import_supers_modules(val_t  self, val_t  param0) {
     val_t variable5;
     val_t variable6;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_mmloader;
   variable0 =  param0;
   variable2 = ((abstractmetamodel___MMModule___context_t)CALL( self,COLOR_abstractmetamodel___MMModule___context))( self) /*MMModule::context*/;
   variable1 = variable2;
index a2401ba..77c1237 100644 (file)
@@ -1,6 +1,6 @@
 /* This C header file is generated by NIT to compile modules and programs that requires mmloader. */
-#ifndef mmloader_2_sep
-#define mmloader_2_sep
+#ifndef mmloader_sep
+#define mmloader_sep
 #include "metamodel._sep.h"
 #include "opts._sep.h"
 #include <nit_common.h>
@@ -8,7 +8,7 @@
 extern const classtable_elt_t VFT_ToolContext[];
 
 extern const classtable_elt_t VFT_ModuleLoader[];
-#define LOCATE_mmloader "./mmloader.nit"
+extern const char *LOCATE_mmloader;
 extern const int SFT_mmloader[];
 #define ID_ToolContext SFT_mmloader[0]
 #define COLOR_ToolContext SFT_mmloader[1]
index 032f0a0..764bf6e 100644 (file)
@@ -1,55 +1,70 @@
 /* This C file is generated by NIT to compile module nitc. */
 #include "nitc._sep.h"
 val_t nitc___NitCompiler___opt_output(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_nitc, 26, LOCATE_nitc___NitCompiler___opt_output};
+  struct trace_t trace = {NULL, NULL, 26, LOCATE_nitc___NitCompiler___opt_output};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_nitc;
   tracehead = trace.prev;
   return ATTR_nitc___NitCompiler____opt_output( self) /*NitCompiler::_opt_output*/;
 }
 val_t nitc___NitCompiler___opt_boost(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_nitc, 27, LOCATE_nitc___NitCompiler___opt_boost};
+  struct trace_t trace = {NULL, NULL, 27, LOCATE_nitc___NitCompiler___opt_boost};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_nitc;
   tracehead = trace.prev;
   return ATTR_nitc___NitCompiler____opt_boost( self) /*NitCompiler::_opt_boost*/;
 }
 val_t nitc___NitCompiler___opt_no_cc(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_nitc, 28, LOCATE_nitc___NitCompiler___opt_no_cc};
+  struct trace_t trace = {NULL, NULL, 28, LOCATE_nitc___NitCompiler___opt_no_cc};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_nitc;
   tracehead = trace.prev;
   return ATTR_nitc___NitCompiler____opt_no_cc( self) /*NitCompiler::_opt_no_cc*/;
 }
 val_t nitc___NitCompiler___opt_attr_sim(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_nitc, 29, LOCATE_nitc___NitCompiler___opt_attr_sim};
+  struct trace_t trace = {NULL, NULL, 29, LOCATE_nitc___NitCompiler___opt_attr_sim};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_nitc;
   tracehead = trace.prev;
   return ATTR_nitc___NitCompiler____opt_attr_sim( self) /*NitCompiler::_opt_attr_sim*/;
 }
 val_t nitc___NitCompiler___opt_global(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_nitc, 30, LOCATE_nitc___NitCompiler___opt_global};
+  struct trace_t trace = {NULL, NULL, 30, LOCATE_nitc___NitCompiler___opt_global};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_nitc;
   tracehead = trace.prev;
   return ATTR_nitc___NitCompiler____opt_global( self) /*NitCompiler::_opt_global*/;
 }
 val_t nitc___NitCompiler___opt_clibdir(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_nitc, 31, LOCATE_nitc___NitCompiler___opt_clibdir};
+  struct trace_t trace = {NULL, NULL, 31, LOCATE_nitc___NitCompiler___opt_clibdir};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_nitc;
   tracehead = trace.prev;
   return ATTR_nitc___NitCompiler____opt_clibdir( self) /*NitCompiler::_opt_clibdir*/;
 }
 val_t nitc___NitCompiler___opt_bindir(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_nitc, 32, LOCATE_nitc___NitCompiler___opt_bindir};
+  struct trace_t trace = {NULL, NULL, 32, LOCATE_nitc___NitCompiler___opt_bindir};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_nitc;
   tracehead = trace.prev;
   return ATTR_nitc___NitCompiler____opt_bindir( self) /*NitCompiler::_opt_bindir*/;
 }
+val_t nitc___NitCompiler___opt_compdir(val_t  self) {
+  struct trace_t trace = {NULL, NULL, 33, LOCATE_nitc___NitCompiler___opt_compdir};
+  trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_nitc;
+  tracehead = trace.prev;
+  return ATTR_nitc___NitCompiler____opt_compdir( self) /*NitCompiler::_opt_compdir*/;
+}
 val_t nitc___NitCompiler___opt_extension_prefix(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_nitc, 33, LOCATE_nitc___NitCompiler___opt_extension_prefix};
+  struct trace_t trace = {NULL, NULL, 34, LOCATE_nitc___NitCompiler___opt_extension_prefix};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_nitc;
   tracehead = trace.prev;
   return ATTR_nitc___NitCompiler____opt_extension_prefix( self) /*NitCompiler::_opt_extension_prefix*/;
 }
 void nitc___NitCompiler___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_nitc, 35, LOCATE_nitc___NitCompiler___init};
+  struct trace_t trace = {NULL, NULL, 36, LOCATE_nitc___NitCompiler___init};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -60,11 +75,13 @@ void nitc___NitCompiler___init(val_t  self, int* init_table) {
   val_t variable7;
   val_t variable8;
   val_t variable9;
+  val_t variable10;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_nitc;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_NitCompiler].i]) return;
   ((abstracttool___AbstractCompiler___init_t)CALL( self,COLOR_abstracttool___AbstractCompiler___init))( self, init_table /*YYY*/) /*AbstractCompiler::init*/;
   variable0 = ((mmloader___ToolContext___option_context_t)CALL( self,COLOR_mmloader___ToolContext___option_context))( self) /*ToolContext::option_context*/;
-  variable1 = NEW_array___Array___with_capacity(TAG_Int(8)); /*new Array[E]*/
+  variable1 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable2 = ((nitc___NitCompiler___opt_output_t)CALL( self,COLOR_nitc___NitCompiler___opt_output))( self) /*NitCompiler::opt_output*/;
   ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable2) /*AbstractArray::add*/;
   variable3 = ((nitc___NitCompiler___opt_boost_t)CALL( self,COLOR_nitc___NitCompiler___opt_boost))( self) /*NitCompiler::opt_boost*/;
@@ -79,18 +96,21 @@ void nitc___NitCompiler___init(val_t  self, int* init_table) {
   ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable7) /*AbstractArray::add*/;
   variable8 = ((nitc___NitCompiler___opt_bindir_t)CALL( self,COLOR_nitc___NitCompiler___opt_bindir))( self) /*NitCompiler::opt_bindir*/;
   ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable8) /*AbstractArray::add*/;
-  variable9 = ((nitc___NitCompiler___opt_extension_prefix_t)CALL( self,COLOR_nitc___NitCompiler___opt_extension_prefix))( self) /*NitCompiler::opt_extension_prefix*/;
+  variable9 = ((nitc___NitCompiler___opt_compdir_t)CALL( self,COLOR_nitc___NitCompiler___opt_compdir))( self) /*NitCompiler::opt_compdir*/;
   ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable9) /*AbstractArray::add*/;
+  variable10 = ((nitc___NitCompiler___opt_extension_prefix_t)CALL( self,COLOR_nitc___NitCompiler___opt_extension_prefix))( self) /*NitCompiler::opt_extension_prefix*/;
+  ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable10) /*AbstractArray::add*/;
   ((opts___OptionContext___add_option_t)CALL(variable0,COLOR_opts___OptionContext___add_option))(variable0, variable1) /*OptionContext::add_option*/;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_NitCompiler].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void nitc___NitCompiler___process_options(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_nitc, 41, LOCATE_nitc___NitCompiler___process_options};
+  struct trace_t trace = {NULL, NULL, 42, LOCATE_nitc___NitCompiler___process_options};
   val_t variable0;
     val_t variable1;
     static val_t once_value_variable1_2; static int once_bool_variable1_2;
+    static val_t once_value_variable1_3; static int once_bool_variable1_3;
       val_t variable2;
       val_t variable3;
       val_t variable4;
@@ -98,8 +118,9 @@ void nitc___NitCompiler___process_options(val_t  self) {
       val_t variable6;
       val_t variable7;
       val_t variable8;
-    static val_t once_value_variable1_3; static int once_bool_variable1_3;
+    static val_t once_value_variable1_4; static int once_bool_variable1_4;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_nitc;
   ((nitc___NitCompiler___process_options_t)CALL( self,COLOR_SUPER_nitc___NitCompiler___process_options))( self) /*super NitCompiler::process_options*/;
   variable0 = ((nitc___NitCompiler___opt_output_t)CALL( self,COLOR_nitc___NitCompiler___opt_output))( self) /*NitCompiler::opt_output*/;
   variable0 = ((opts___Option___value_t)CALL(variable0,COLOR_opts___Option___value))(variable0) /*Option::value*/;
@@ -125,21 +146,48 @@ void nitc___NitCompiler___process_options(val_t  self) {
   variable0 = ((nitc___NitCompiler___opt_global_t)CALL( self,COLOR_nitc___NitCompiler___opt_global))( self) /*NitCompiler::opt_global*/;
   variable0 = ((opts___Option___value_t)CALL(variable0,COLOR_opts___Option___value))(variable0) /*Option::value*/;
   ((compiling_base___ToolContext___global__eq_t)CALL( self,COLOR_compiling_base___ToolContext___global__eq))( self, variable0) /*ToolContext::global=*/;
-  variable0 = NEW_string___String___with_native(BOX_NativeString(".nit_compile"), TAG_Int(12)); /*new String*/
-  ((compiling_base___ToolContext___base_dir__eq_t)CALL( self,COLOR_compiling_base___ToolContext___base_dir__eq))( self, variable0) /*ToolContext::base_dir=*/;
+  variable0 = ((nitc___NitCompiler___opt_compdir_t)CALL( self,COLOR_nitc___NitCompiler___opt_compdir))( self) /*NitCompiler::opt_compdir*/;
+  variable0 = ((opts___Option___value_t)CALL(variable0,COLOR_opts___Option___value))(variable0) /*Option::value*/;
+  ((compiling_base___ToolContext___compdir__eq_t)CALL( self,COLOR_compiling_base___ToolContext___compdir__eq))( self, variable0) /*ToolContext::compdir=*/;
+  variable0 = ((compiling_base___ToolContext___compdir_t)CALL( self,COLOR_compiling_base___ToolContext___compdir))( self) /*ToolContext::compdir*/;
+  variable0 = TAG_Bool((variable0 ==  NIT_NULL /*null*/) || ((variable0 != NIT_NULL) && UNTAG_Bool(((string___String_____eqeq_t)CALL(variable0,COLOR_kernel___Object_____eqeq))(variable0,  NIT_NULL /*null*/) /*String::==*/)));
+  if (UNTAG_Bool(variable0)) { /*if*/
+    if (once_bool_variable1_2) variable1 = once_value_variable1_2;
+    else {
+      variable1 = NEW_string___String___with_native(BOX_NativeString("NIT_COMPDIR"), TAG_Int(11)); /*new String*/
+      variable1 = ((symbol___String___to_symbol_t)CALL(variable1,COLOR_symbol___String___to_symbol))(variable1) /*String::to_symbol*/;
+      variable1 = ((environ___Symbol___environ_t)CALL(variable1,COLOR_environ___Symbol___environ))(variable1) /*Symbol::environ*/;
+      once_value_variable1_2 = variable1;
+      once_bool_variable1_2 = true;
+    }
+    variable0 = variable1;
+    variable1 = ((array___AbstractArray___is_empty_t)CALL( variable0 /*dir*/,COLOR_abstract_collection___Collection___is_empty))( variable0 /*dir*/) /*AbstractArray::is_empty*/;
+    if (UNTAG_Bool( TAG_Bool(!UNTAG_Bool(variable1)))) { /*if*/
+      ((compiling_base___ToolContext___compdir__eq_t)CALL( self,COLOR_compiling_base___ToolContext___compdir__eq))( self,  variable0 /*dir*/) /*ToolContext::compdir=*/;
+    }
+    variable1 = ((compiling_base___ToolContext___compdir_t)CALL( self,COLOR_compiling_base___ToolContext___compdir))( self) /*ToolContext::compdir*/;
+    variable1 = TAG_Bool((variable1 ==  NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && UNTAG_Bool(((string___String_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1,  NIT_NULL /*null*/) /*String::==*/)));
+    if (UNTAG_Bool(variable1)) { /*if*/
+      variable1 = NEW_string___String___with_native(BOX_NativeString(".nit_compile"), TAG_Int(12)); /*new String*/
+      ((compiling_base___ToolContext___compdir__eq_t)CALL( self,COLOR_compiling_base___ToolContext___compdir__eq))( self, variable1) /*ToolContext::compdir=*/;
+    }
+  }
+  variable0 = ((compiling_base___ToolContext___compdir_t)CALL( self,COLOR_compiling_base___ToolContext___compdir))( self) /*ToolContext::compdir*/;
+  variable1 = ((compiling_base___ToolContext___ext_prefix_t)CALL( self,COLOR_compiling_base___ToolContext___ext_prefix))( self) /*ToolContext::ext_prefix*/;
+  ((string___String___append_t)CALL(variable0,COLOR_abstract_collection___IndexedCollection___append))(variable0, variable1) /*String::append*/;
   variable0 = ((nitc___NitCompiler___opt_clibdir_t)CALL( self,COLOR_nitc___NitCompiler___opt_clibdir))( self) /*NitCompiler::opt_clibdir*/;
   variable0 = ((opts___Option___value_t)CALL(variable0,COLOR_opts___Option___value))(variable0) /*Option::value*/;
   ((compiling_base___ToolContext___clibdir__eq_t)CALL( self,COLOR_compiling_base___ToolContext___clibdir__eq))( self, variable0) /*ToolContext::clibdir=*/;
   variable0 = ((compiling_base___ToolContext___clibdir_t)CALL( self,COLOR_compiling_base___ToolContext___clibdir))( self) /*ToolContext::clibdir*/;
   variable0 = TAG_Bool((variable0 ==  NIT_NULL /*null*/) || ((variable0 != NIT_NULL) && UNTAG_Bool(((string___String_____eqeq_t)CALL(variable0,COLOR_kernel___Object_____eqeq))(variable0,  NIT_NULL /*null*/) /*String::==*/)));
   if (UNTAG_Bool(variable0)) { /*if*/
-    if (once_bool_variable1_2) variable1 = once_value_variable1_2;
+    if (once_bool_variable1_3) variable1 = once_value_variable1_3;
     else {
       variable1 = NEW_string___String___with_native(BOX_NativeString("NIT_DIR"), TAG_Int(7)); /*new String*/
       variable1 = ((symbol___String___to_symbol_t)CALL(variable1,COLOR_symbol___String___to_symbol))(variable1) /*String::to_symbol*/;
       variable1 = ((environ___Symbol___environ_t)CALL(variable1,COLOR_environ___Symbol___environ))(variable1) /*Symbol::environ*/;
-      once_value_variable1_2 = variable1;
-      once_bool_variable1_2 = true;
+      once_value_variable1_3 = variable1;
+      once_bool_variable1_3 = true;
     }
     variable0 = variable1;
     variable1 = ((array___AbstractArray___is_empty_t)CALL( variable0 /*dir*/,COLOR_abstract_collection___Collection___is_empty))( variable0 /*dir*/) /*AbstractArray::is_empty*/;
@@ -191,13 +239,13 @@ void nitc___NitCompiler___process_options(val_t  self) {
   variable0 = ((compiling_base___ToolContext___bindir_t)CALL( self,COLOR_compiling_base___ToolContext___bindir))( self) /*ToolContext::bindir*/;
   variable0 = TAG_Bool((variable0 ==  NIT_NULL /*null*/) || ((variable0 != NIT_NULL) && UNTAG_Bool(((string___String_____eqeq_t)CALL(variable0,COLOR_kernel___Object_____eqeq))(variable0,  NIT_NULL /*null*/) /*String::==*/)));
   if (UNTAG_Bool(variable0)) { /*if*/
-    if (once_bool_variable1_3) variable1 = once_value_variable1_3;
+    if (once_bool_variable1_4) variable1 = once_value_variable1_4;
     else {
       variable1 = NEW_string___String___with_native(BOX_NativeString("NIT_DIR"), TAG_Int(7)); /*new String*/
       variable1 = ((symbol___String___to_symbol_t)CALL(variable1,COLOR_symbol___String___to_symbol))(variable1) /*String::to_symbol*/;
       variable1 = ((environ___Symbol___environ_t)CALL(variable1,COLOR_environ___Symbol___environ))(variable1) /*Symbol::environ*/;
-      once_value_variable1_3 = variable1;
-      once_bool_variable1_3 = true;
+      once_value_variable1_4 = variable1;
+      once_bool_variable1_4 = true;
     }
     variable0 = variable1;
     variable1 = ((array___AbstractArray___is_empty_t)CALL( variable0 /*dir*/,COLOR_abstract_collection___Collection___is_empty))( variable0 /*dir*/) /*AbstractArray::is_empty*/;
@@ -247,12 +295,13 @@ void nitc___NitCompiler___process_options(val_t  self) {
   return;
 }
 void nitc___NitCompiler___perform_work(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_nitc, 84, LOCATE_nitc___NitCompiler___perform_work};
+  struct trace_t trace = {NULL, NULL, 97, LOCATE_nitc___NitCompiler___perform_work};
   val_t variable0;
   val_t variable1;
     val_t variable2;
     val_t variable3;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_nitc;
   variable0 =  param0;
   variable1 = ((array___AbstractArray___iterator_t)CALL( variable0 /*mods*/,COLOR_abstract_collection___Collection___iterator))( variable0 /*mods*/) /*AbstractArray::iterator*/;
   while (true) { /*for*/
@@ -260,20 +309,21 @@ void nitc___NitCompiler___perform_work(val_t  self, val_t  param0) {
     if (!UNTAG_Bool(variable2)) break; /*for*/
     variable2 = ((array___ArrayIterator___item_t)CALL(variable1,COLOR_abstract_collection___Iterator___item))(variable1) /*ArrayIterator::item*/;
     variable3 = TAG_Bool(( variable2 /*mod*/==NIT_NULL) || VAL_ISA( variable2 /*mod*/, COLOR_MMSrcModule, ID_MMSrcModule)) /*cast MMSrcModule*/;
-    if (!UNTAG_Bool(variable3)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_nitc___NitCompiler___perform_work, LOCATE_nitc, 87); nit_exit(1);}
+    if (!UNTAG_Bool(variable3)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_nitc___NitCompiler___perform_work, LOCATE_nitc, 100); nit_exit(1);}
     ((compiling___MMSrcModule___compile_prog_to_c_t)CALL( variable2 /*mod*/,COLOR_compiling___MMSrcModule___compile_prog_to_c))( variable2 /*mod*/,  self) /*MMSrcModule::compile_prog_to_c*/;
-    continue_5: while(0);
+    continue_6: while(0);
     ((array___ArrayIterator___next_t)CALL(variable1,COLOR_abstract_collection___Iterator___next))(variable1) /*ArrayIterator::next*/;
   }
-  break_5: while(0);
+  break_6: while(0);
   tracehead = trace.prev;
   return;
 }
 void nitc___Sys___main(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_nitc, 94, LOCATE_nitc___Sys___main};
+  struct trace_t trace = {NULL, NULL, 107, LOCATE_nitc___Sys___main};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_nitc;
   variable1 = NEW_nitc___NitCompiler___init(); /*new NitCompiler*/
   variable0 = variable1;
   ((abstracttool___AbstractCompiler___exec_cmd_line_t)CALL( variable0 /*c*/,COLOR_abstracttool___AbstractCompiler___exec_cmd_line))( variable0 /*c*/) /*AbstractCompiler::exec_cmd_line*/;
index f0f76a0..5a6ede2 100644 (file)
@@ -1,12 +1,12 @@
 /* This C header file is generated by NIT to compile modules and programs that requires nitc. */
-#ifndef nitc_2_sep
-#define nitc_2_sep
+#ifndef nitc_sep
+#define nitc_sep
 #include "abstracttool._sep.h"
 #include "compiling._sep.h"
 #include <nit_common.h>
 
 extern const classtable_elt_t VFT_NitCompiler[];
-#define LOCATE_nitc "./nitc.nit"
+extern const char *LOCATE_nitc;
 extern const int SFT_nitc[];
 #define ID_NitCompiler SFT_nitc[0]
 #define COLOR_NitCompiler SFT_nitc[1]
@@ -17,18 +17,20 @@ extern const int SFT_nitc[];
 #define COLOR_nitc___NitCompiler____opt_global SFT_nitc[6]
 #define COLOR_nitc___NitCompiler____opt_clibdir SFT_nitc[7]
 #define COLOR_nitc___NitCompiler____opt_bindir SFT_nitc[8]
-#define COLOR_nitc___NitCompiler____opt_extension_prefix SFT_nitc[9]
-#define INIT_TABLE_POS_NitCompiler SFT_nitc[10]
-#define COLOR_nitc___NitCompiler___opt_output SFT_nitc[11]
-#define COLOR_nitc___NitCompiler___opt_boost SFT_nitc[12]
-#define COLOR_nitc___NitCompiler___opt_no_cc SFT_nitc[13]
-#define COLOR_nitc___NitCompiler___opt_attr_sim SFT_nitc[14]
-#define COLOR_nitc___NitCompiler___opt_global SFT_nitc[15]
-#define COLOR_nitc___NitCompiler___opt_clibdir SFT_nitc[16]
-#define COLOR_nitc___NitCompiler___opt_bindir SFT_nitc[17]
-#define COLOR_nitc___NitCompiler___opt_extension_prefix SFT_nitc[18]
-#define COLOR_nitc___NitCompiler___init SFT_nitc[19]
-#define COLOR_SUPER_nitc___NitCompiler___process_options SFT_nitc[20]
+#define COLOR_nitc___NitCompiler____opt_compdir SFT_nitc[9]
+#define COLOR_nitc___NitCompiler____opt_extension_prefix SFT_nitc[10]
+#define INIT_TABLE_POS_NitCompiler SFT_nitc[11]
+#define COLOR_nitc___NitCompiler___opt_output SFT_nitc[12]
+#define COLOR_nitc___NitCompiler___opt_boost SFT_nitc[13]
+#define COLOR_nitc___NitCompiler___opt_no_cc SFT_nitc[14]
+#define COLOR_nitc___NitCompiler___opt_attr_sim SFT_nitc[15]
+#define COLOR_nitc___NitCompiler___opt_global SFT_nitc[16]
+#define COLOR_nitc___NitCompiler___opt_clibdir SFT_nitc[17]
+#define COLOR_nitc___NitCompiler___opt_bindir SFT_nitc[18]
+#define COLOR_nitc___NitCompiler___opt_compdir SFT_nitc[19]
+#define COLOR_nitc___NitCompiler___opt_extension_prefix SFT_nitc[20]
+#define COLOR_nitc___NitCompiler___init SFT_nitc[21]
+#define COLOR_SUPER_nitc___NitCompiler___process_options SFT_nitc[22]
 #define ATTR_nitc___NitCompiler____opt_output(recv) ATTR(recv, COLOR_nitc___NitCompiler____opt_output)
 typedef val_t (* nitc___NitCompiler___opt_output_t)(val_t  self);
 val_t nitc___NitCompiler___opt_output(val_t  self);
@@ -57,6 +59,10 @@ val_t nitc___NitCompiler___opt_clibdir(val_t  self);
 typedef val_t (* nitc___NitCompiler___opt_bindir_t)(val_t  self);
 val_t nitc___NitCompiler___opt_bindir(val_t  self);
 #define LOCATE_nitc___NitCompiler___opt_bindir "nitc::NitCompiler::opt_bindir"
+#define ATTR_nitc___NitCompiler____opt_compdir(recv) ATTR(recv, COLOR_nitc___NitCompiler____opt_compdir)
+typedef val_t (* nitc___NitCompiler___opt_compdir_t)(val_t  self);
+val_t nitc___NitCompiler___opt_compdir(val_t  self);
+#define LOCATE_nitc___NitCompiler___opt_compdir "nitc::NitCompiler::opt_compdir"
 #define ATTR_nitc___NitCompiler____opt_extension_prefix(recv) ATTR(recv, COLOR_nitc___NitCompiler____opt_extension_prefix)
 typedef val_t (* nitc___NitCompiler___opt_extension_prefix_t)(val_t  self);
 val_t nitc___NitCompiler___opt_extension_prefix(val_t  self);
index 7f48141..85b5d6d 100644 (file)
@@ -45,6 +45,7 @@
 #include "utils._sep.h"
 #include "nitc._sep.h"
 #include <nit_common.h>
+const char *LOCATE_abstracttool = "./abstracttool.nit";
 const int SFT_abstracttool[9] = {
   3239 /* Id of AbstractCompiler */,
   4 /* Color of AbstractCompiler */,
@@ -56,6 +57,7 @@ const int SFT_abstracttool[9] = {
   40 /* Property dump_module_info */,
   40 /* Property dump_properties */,
 };
+const char *LOCATE_syntax = "./syntax//syntax.nit";
 const int SFT_syntax[6] = {
   203 /* Id of SrcModuleLoader */,
   3 /* Color of SrcModuleLoader */,
@@ -64,6 +66,7 @@ const int SFT_syntax[6] = {
   84 /* Property process_supermodules */,
   85 /* Property process_syntax */,
 };
+const char *LOCATE_mmbuilder = "./syntax//mmbuilder.nit";
 const int SFT_mmbuilder[131] = {
   2667 /* Id of CSHSorter */,
   3 /* Color of CSHSorter */,
@@ -197,6 +200,7 @@ const int SFT_mmbuilder[131] = {
   70 /* Property is_vararg */,
   67 /* Property check_visibility */,
 };
+const char *LOCATE_syntax_base = "./syntax//syntax_base.nit";
 const int SFT_syntax_base[118] = {
   2567 /* Id of MMSrcModule */,
   3 /* Color of MMSrcModule */,
@@ -317,6 +321,7 @@ const int SFT_syntax_base[118] = {
   76 /* Property variable */,
   77 /* Property variable= */,
 };
+const char *LOCATE_parser = "./parser//parser.nit";
 const int SFT_parser[2326] = {
   35 /* Id of State */,
   2 /* Color of State */,
@@ -2645,6 +2650,7 @@ const int SFT_parser[2326] = {
   42 /* Color of ReduceAction572 */,
   43 /* Property init */,
 };
+const char *LOCATE_parser_prod = "./parser//parser_prod.nit";
 const int SFT_parser_prod[261] = {
   1 /* Property _parent */,
   47 /* Property parent */,
@@ -2908,6 +2914,7 @@ const int SFT_parser_prod[261] = {
   69 /* Property init_adoc */,
   67 /* Property init */,
 };
+const char *LOCATE_lexer = "./parser//lexer.nit";
 const int SFT_lexer[125] = {
   3 /* Property _text */,
   4 /* Property _filename */,
@@ -3035,6 +3042,7 @@ const int SFT_lexer[125] = {
   50 /* Property nil_array */,
   51 /* Property build_accept_table */,
 };
+const char *LOCATE_parser_nodes = "./parser//parser_nodes.nit";
 const int SFT_parser_nodes[1257] = {
   63 /* Id of PNode */,
   2 /* Color of PNode */,
@@ -4294,10 +4302,13 @@ const int SFT_parser_nodes[1257] = {
   71 /* Property n_eof */,
   72 /* Property n_eof= */,
 };
+const char *LOCATE_standard = "./../lib/standard//standard.nit";
+const char *LOCATE_environ = "./../lib/standard//environ.nit";
 const int SFT_environ[2] = {
   40 /* Property environ */,
   40 /* Property get_environ */,
 };
+const char *LOCATE_symbol = "./../lib/standard//symbol.nit";
 const int SFT_symbol[6] = {
   98 /* Property to_symbol */,
   27 /* Id of Symbol */,
@@ -4306,6 +4317,7 @@ const int SFT_symbol[6] = {
   41 /* Color of Symbol */,
   42 /* Property init */,
 };
+const char *LOCATE_hash = "./../lib/standard//hash.nit";
 const int SFT_hash[57] = {
   15 /* Property hash */,
   2627 /* Id of HashCollection */,
@@ -4365,6 +4377,7 @@ const int SFT_hash[57] = {
   45 /* Color of HashSetIterator */,
   46 /* Property init */,
 };
+const char *LOCATE_string = "./../lib/standard//string.nit";
 const int SFT_string[54] = {
   3783 /* Id of String */,
   11 /* Color of String */,
@@ -4421,6 +4434,7 @@ const int SFT_string[54] = {
   43 /* Property native_argc */,
   44 /* Property native_argv */,
 };
+const char *LOCATE_array = "./../lib/standard//array.nit";
 const int SFT_array[61] = {
   3651 /* Id of AbstractArray */,
   10 /* Color of AbstractArray */,
@@ -4484,6 +4498,7 @@ const int SFT_array[61] = {
   42 /* Property []= */,
   43 /* Property copy_to */,
 };
+const char *LOCATE_abstract_collection = "./../lib/standard//abstract_collection.nit";
 const int SFT_abstract_collection[94] = {
   163 /* Id of Collection */,
   5 /* Color of Collection */,
@@ -4580,6 +4595,7 @@ const int SFT_abstract_collection[94] = {
   50 /* Property second= */,
   51 /* Property init */,
 };
+const char *LOCATE_kernel = "./../lib/standard//kernel.nit";
 const int SFT_kernel[72] = {
   3 /* Id of Object */,
   1 /* Color of Object */,
@@ -4654,9 +4670,11 @@ const int SFT_kernel[72] = {
   2 /* Color of Pointer */,
   40 /* Color of Pointer */,
 };
+const char *LOCATE_time = "./../lib/standard//time.nit";
 const int SFT_time[1] = {
   28 /* Property get_time */,
 };
+const char *LOCATE_sorter = "./../lib/standard//sorter.nit";
 const int SFT_sorter[12] = {
   175 /* Id of AbstractSorter */,
   2 /* Color of AbstractSorter */,
@@ -4671,6 +4689,7 @@ const int SFT_sorter[12] = {
   46 /* Color of ComparableSorter */,
   47 /* Property init */,
 };
+const char *LOCATE_file = "./../lib/standard//file.nit";
 const int SFT_file[73] = {
   29 /* Property printn */,
   30 /* Property print */,
@@ -4746,6 +4765,7 @@ const int SFT_file[73] = {
   44 /* Property native_stdout */,
   45 /* Property native_stderr */,
 };
+const char *LOCATE_stream = "./../lib/standard//stream.nit";
 const int SFT_stream[52] = {
   135 /* Id of IOS */,
   3 /* Color of IOS */,
@@ -4800,6 +4820,7 @@ const int SFT_stream[52] = {
   63 /* Color of FDIOStream */,
   64 /* Property init */,
 };
+const char *LOCATE_string_search = "./../lib/standard//string_search.nit";
 const int SFT_string_search[35] = {
   51 /* Id of Pattern */,
   3 /* Color of Pattern */,
@@ -4837,6 +4858,7 @@ const int SFT_string_search[35] = {
   132 /* Property split_with */,
   133 /* Property split */,
 };
+const char *LOCATE_exec = "./../lib/standard//exec.nit";
 const int SFT_exec[44] = {
   43 /* Id of Process */,
   2 /* Color of Process */,
@@ -4883,6 +4905,7 @@ const int SFT_exec[44] = {
   48 /* Property out_fd */,
   49 /* Property err_fd */,
 };
+const char *LOCATE_list = "./../lib/standard//list.nit";
 const int SFT_list[28] = {
   3631 /* Id of List */,
   10 /* Color of List */,
@@ -4913,6 +4936,7 @@ const int SFT_list[28] = {
   74 /* Property prev */,
   75 /* Property prev= */,
 };
+const char *LOCATE_range = "./../lib/standard//range.nit";
 const int SFT_range[16] = {
   2507 /* Id of Range */,
   6 /* Color of Range */,
@@ -4931,6 +4955,7 @@ const int SFT_range[16] = {
   45 /* Color of IteratorRange */,
   46 /* Property init */,
 };
+const char *LOCATE_math = "./../lib/standard//math.nit";
 const int SFT_math[16] = {
   76 /* Property rand */,
   52 /* Property sqrt */,
@@ -4949,6 +4974,7 @@ const int SFT_math[16] = {
   38 /* Property srand_from */,
   39 /* Property srand */,
 };
+const char *LOCATE_parser_tables = "./parser//parser_tables.nit";
 const int SFT_parser_tables[1174] = {
   59 /* Id of ParserTable */,
   2 /* Color of ParserTable */,
@@ -6125,6 +6151,7 @@ const int SFT_parser_tables[1174] = {
   1208 /* Property error_messages */,
   1209 /* Property errors */,
 };
+const char *LOCATE_mmloader = "./mmloader.nit";
 const int SFT_mmloader[52] = {
   179 /* Id of ToolContext */,
   3 /* Color of ToolContext */,
@@ -6179,6 +6206,8 @@ const int SFT_mmloader[52] = {
   44 /* Property mtime= */,
   45 /* Property import_supers_modules */,
 };
+const char *LOCATE_metamodel = "./metamodel//metamodel.nit";
+const char *LOCATE_vararg = "./metamodel//vararg.nit";
 const int SFT_vararg[6] = {
   1 /* Property _vararg_rank */,
   40 /* Property vararg_rank */,
@@ -6187,6 +6216,7 @@ const int SFT_vararg[6] = {
   43 /* Property adaptation_to */,
   44 /* Property init */,
 };
+const char *LOCATE_genericity = "./metamodel//genericity.nit";
 const int SFT_genericity[29] = {
   1 /* Property _types */,
   2 /* Property _formals_types */,
@@ -6218,6 +6248,7 @@ const int SFT_genericity[29] = {
   65 /* Property with_bound */,
   66 /* Property init */,
 };
+const char *LOCATE_type_formal = "./metamodel//type_formal.nit";
 const int SFT_type_formal[9] = {
   47 /* Property direct_type */,
   2559 /* Id of MMTypeFormal */,
@@ -6229,6 +6260,7 @@ const int SFT_type_formal[9] = {
   59 /* Property bound */,
   60 /* Property init */,
 };
+const char *LOCATE_inheritance = "./metamodel//inheritance.nit";
 const int SFT_inheritance[40] = {
   46 /* Property type_any */,
   47 /* Property import_global_classes */,
@@ -6271,6 +6303,7 @@ const int SFT_inheritance[40] = {
   49 /* Color of MMDefaultAncestor */,
   50 /* Property init */,
 };
+const char *LOCATE_static_type = "./metamodel//static_type.nit";
 const int SFT_static_type[63] = {
   5 /* Property _base_type_cache */,
   6 /* Property _ancestors */,
@@ -6336,6 +6369,7 @@ const int SFT_static_type[63] = {
   3 /* Property _type_none */,
   49 /* Property type_none */,
 };
+const char *LOCATE_abstractmetamodel = "./metamodel//abstractmetamodel.nit";
 const int SFT_abstractmetamodel[179] = {
   119 /* Id of MMContext */,
   2 /* Color of MMContext */,
@@ -6517,6 +6551,7 @@ const int SFT_abstractmetamodel[179] = {
   3 /* Color of MMConcreteClass */,
   104 /* Color of MMConcreteClass */,
 };
+const char *LOCATE_partial_order = "./metamodel//partial_order.nit";
 const int SFT_partial_order[49] = {
   2515 /* Id of PartialOrder */,
   6 /* Color of PartialOrder */,
@@ -6568,6 +6603,7 @@ const int SFT_partial_order[49] = {
   55 /* Property register_direct_smallers */,
   56 /* Property init */,
 };
+const char *LOCATE_virtualtype = "./metamodel//virtualtype.nit";
 const int SFT_virtualtype[17] = {
   46 /* Property is_virtual_type */,
   2551 /* Id of MMTypeProperty */,
@@ -6587,6 +6623,7 @@ const int SFT_virtualtype[17] = {
   97 /* Property virtual_type */,
   98 /* Property select_virtual_type */,
 };
+const char *LOCATE_opts = "./../lib/opts.nit";
 const int SFT_opts[69] = {
   71 /* Id of Option */,
   2 /* Color of Option */,
@@ -6658,6 +6695,7 @@ const int SFT_opts[69] = {
   47 /* Property init */,
   48 /* Property build */,
 };
+const char *LOCATE_control_flow = "./syntax//control_flow.nit";
 const int SFT_control_flow[59] = {
   91 /* Property do_control_flow */,
   3215 /* Id of ControlFlowVisitor */,
@@ -6719,6 +6757,7 @@ const int SFT_control_flow[59] = {
   88 /* Property accept_control_flow */,
   79 /* Property accept_control_flow */,
 };
+const char *LOCATE_typing = "./syntax//typing.nit";
 const int SFT_typing[94] = {
   92 /* Property do_typing */,
   2683 /* Id of TypingVisitor */,
@@ -6815,11 +6854,13 @@ const int SFT_typing[94] = {
   102 /* Property after_typing */,
   103 /* Property variable_create */,
 };
+const char *LOCATE_compiling = "./compiling//compiling.nit";
 const int SFT_compiling[3] = {
   70 /* Property compile_prog_to_c */,
   71 /* Property compile_main */,
   72 /* Property compile_separate_module */,
 };
+const char *LOCATE_compiling_global = "./compiling//compiling_global.nit";
 const int SFT_compiling_global[140] = {
   159 /* Id of ColorContext */,
   2 /* Color of ColorContext */,
@@ -6962,6 +7003,7 @@ const int SFT_compiling_global[140] = {
   100 /* Property declare_tables_to_c */,
   101 /* Property compile_tables_to_c */,
 };
+const char *LOCATE_compiling_methods = "./compiling//compiling_methods.nit";
 const int SFT_compiling_methods[55] = {
   2 /* Property _variable_index */,
   3 /* Property _variable_index_max */,
@@ -7019,10 +7061,11 @@ const int SFT_compiling_methods[55] = {
   77 /* Property compute_string_info */,
   76 /* Property propname */,
 };
+const char *LOCATE_compiling_base = "./compiling//compiling_base.nit";
 const int SFT_compiling_base[88] = {
   5 /* Property _global */,
   6 /* Property _attr_sim */,
-  7 /* Property _base_dir */,
+  7 /* Property _compdir */,
   8 /* Property _clibdir */,
   9 /* Property _bindir */,
   10 /* Property _output_file */,
@@ -7033,8 +7076,8 @@ const int SFT_compiling_base[88] = {
   49 /* Property global= */,
   50 /* Property attr_sim */,
   51 /* Property attr_sim= */,
-  52 /* Property base_dir */,
-  53 /* Property base_dir= */,
+  52 /* Property compdir */,
+  53 /* Property compdir= */,
   54 /* Property clibdir */,
   55 /* Property clibdir= */,
   56 /* Property bindir */,
@@ -7109,11 +7152,13 @@ const int SFT_compiling_base[88] = {
   41 /* Property cname */,
   42 /* Property color_id_for_super */,
 };
+const char *LOCATE_utils = "./utils.nit";
 const int SFT_utils[2] = {
   13 /* Property cmangle */,
   14 /* Property cmangle_table */,
 };
-const int SFT_nitc[21] = {
+const char *LOCATE_nitc = "./nitc.nit";
+const int SFT_nitc[23] = {
   3283 /* Id of NitCompiler */,
   5 /* Color of NitCompiler */,
   27 /* Property _opt_output */,
@@ -7123,7 +7168,8 @@ const int SFT_nitc[21] = {
   31 /* Property _opt_global */,
   32 /* Property _opt_clibdir */,
   33 /* Property _opt_bindir */,
-  34 /* Property _opt_extension_prefix */,
+  34 /* Property _opt_compdir */,
+  35 /* Property _opt_extension_prefix */,
   91 /* Color of NitCompiler */,
   92 /* Property opt_output */,
   93 /* Property opt_boost */,
@@ -7132,11 +7178,12 @@ const int SFT_nitc[21] = {
   96 /* Property opt_global */,
   97 /* Property opt_clibdir */,
   98 /* Property opt_bindir */,
-  99 /* Property opt_extension_prefix */,
-  100 /* Property init */,
-  101 /* Property process_options */,
+  99 /* Property opt_compdir */,
+  100 /* Property opt_extension_prefix */,
+  101 /* Property init */,
+  102 /* Property process_options */,
 };
-const classtable_elt_t VFT_NitCompiler[102] = {
+const classtable_elt_t VFT_NitCompiler[103] = {
   {(bigint) 3283 /* 0: Identity */},
   {(bigint) 3 /* 1: NitCompiler < Object: superclass typecheck marker */},
   {(bigint) 119 /* 2: NitCompiler < MMContext: superclass typecheck marker */},
@@ -7189,8 +7236,8 @@ const classtable_elt_t VFT_NitCompiler[102] = {
   {(bigint) compiling_base___ToolContext___global__eq},
   {(bigint) compiling_base___ToolContext___attr_sim},
   {(bigint) compiling_base___ToolContext___attr_sim__eq},
-  {(bigint) compiling_base___ToolContext___base_dir},
-  {(bigint) compiling_base___ToolContext___base_dir__eq},
+  {(bigint) compiling_base___ToolContext___compdir},
+  {(bigint) compiling_base___ToolContext___compdir__eq},
   {(bigint) compiling_base___ToolContext___clibdir},
   {(bigint) compiling_base___ToolContext___clibdir__eq},
   {(bigint) compiling_base___ToolContext___bindir},
@@ -7236,6 +7283,7 @@ const classtable_elt_t VFT_NitCompiler[102] = {
   {(bigint) nitc___NitCompiler___opt_global},
   {(bigint) nitc___NitCompiler___opt_clibdir},
   {(bigint) nitc___NitCompiler___opt_bindir},
+  {(bigint) nitc___NitCompiler___opt_compdir},
   {(bigint) nitc___NitCompiler___opt_extension_prefix},
   {(bigint) nitc___NitCompiler___init},
   {(bigint) mmloader___ToolContext___process_options},
@@ -7247,7 +7295,7 @@ const classtable_elt_t VFT_NitCompiler[102] = {
 /* 4: Attribute NitCompiler::_modules */
 /* 5: Attribute NitCompiler::_global */
 /* 6: Attribute NitCompiler::_attr_sim */
-/* 7: Attribute NitCompiler::_base_dir */
+/* 7: Attribute NitCompiler::_compdir */
 /* 8: Attribute NitCompiler::_clibdir */
 /* 9: Attribute NitCompiler::_bindir */
 /* 10: Attribute NitCompiler::_output_file */
@@ -7274,7 +7322,8 @@ const classtable_elt_t VFT_NitCompiler[102] = {
 /* 31: Attribute NitCompiler::_opt_global */
 /* 32: Attribute NitCompiler::_opt_clibdir */
 /* 33: Attribute NitCompiler::_opt_bindir */
-/* 34: Attribute NitCompiler::_opt_extension_prefix */
+/* 34: Attribute NitCompiler::_opt_compdir */
+/* 35: Attribute NitCompiler::_opt_extension_prefix */
 val_t NEW_NitCompiler(void) {
   val_t variable0;
   val_t variable1;
@@ -7327,8 +7376,11 @@ val_t NEW_NitCompiler(void) {
   val_t variable48;
   val_t variable49;
   val_t variable50;
+  val_t variable51;
+  val_t variable52;
+  val_t variable53;
   obj_t obj;
-  obj = alloc(sizeof(val_t) * 35);
+  obj = alloc(sizeof(val_t) * 36);
   obj->vft = (classtable_elt_t*)VFT_NitCompiler;
   variable0 = NEW_partial_order___PartialOrder___init(); /*new PartialOrder[E]*/
   ATTR_abstractmetamodel___MMContext____module_hierarchy(obj) = variable0;
@@ -7442,14 +7494,20 @@ val_t NEW_NitCompiler(void) {
   ((array___AbstractArray___add_t)CALL(variable45,COLOR_abstract_collection___SimpleCollection___add))(variable45, variable46) /*AbstractArray::add*/;
   variable46 = NEW_opts___OptionString___init(variable44, variable45); /*new OptionString*/
   ATTR_nitc___NitCompiler____opt_bindir(obj) = variable46;
-  variable47 = NEW_string___String___with_native(BOX_NativeString("Append prefix to file extension"), TAG_Int(31)); /*new String*/
-  variable48 = NEW_array___Array___with_capacity(TAG_Int(2)); /*new Array[E]*/
-  variable49 = NEW_string___String___with_native(BOX_NativeString("-p"), TAG_Int(2)); /*new String*/
+  variable47 = NEW_string___String___with_native(BOX_NativeString("Intermediate compilation directory"), TAG_Int(34)); /*new String*/
+  variable48 = NEW_array___Array___with_capacity(TAG_Int(1)); /*new Array[E]*/
+  variable49 = NEW_string___String___with_native(BOX_NativeString("--compdir"), TAG_Int(9)); /*new String*/
   ((array___AbstractArray___add_t)CALL(variable48,COLOR_abstract_collection___SimpleCollection___add))(variable48, variable49) /*AbstractArray::add*/;
-  variable50 = NEW_string___String___with_native(BOX_NativeString("--extension-prefix"), TAG_Int(18)); /*new String*/
-  ((array___AbstractArray___add_t)CALL(variable48,COLOR_abstract_collection___SimpleCollection___add))(variable48, variable50) /*AbstractArray::add*/;
   variable49 = NEW_opts___OptionString___init(variable47, variable48); /*new OptionString*/
-  ATTR_nitc___NitCompiler____opt_extension_prefix(obj) = variable49;
+  ATTR_nitc___NitCompiler____opt_compdir(obj) = variable49;
+  variable50 = NEW_string___String___with_native(BOX_NativeString("Append prefix to file extension"), TAG_Int(31)); /*new String*/
+  variable51 = NEW_array___Array___with_capacity(TAG_Int(2)); /*new Array[E]*/
+  variable52 = NEW_string___String___with_native(BOX_NativeString("-p"), TAG_Int(2)); /*new String*/
+  ((array___AbstractArray___add_t)CALL(variable51,COLOR_abstract_collection___SimpleCollection___add))(variable51, variable52) /*AbstractArray::add*/;
+  variable53 = NEW_string___String___with_native(BOX_NativeString("--extension-prefix"), TAG_Int(18)); /*new String*/
+  ((array___AbstractArray___add_t)CALL(variable51,COLOR_abstract_collection___SimpleCollection___add))(variable51, variable53) /*AbstractArray::add*/;
+  variable52 = NEW_opts___OptionString___init(variable50, variable51); /*new OptionString*/
+  ATTR_nitc___NitCompiler____opt_extension_prefix(obj) = variable52;
   return OBJ2VAL(obj);
 }
 val_t NEW_nitc___NitCompiler___init() {
@@ -77870,8 +77928,8 @@ const classtable_elt_t VFT_ToolContext[86] = {
   {(bigint) compiling_base___ToolContext___global__eq},
   {(bigint) compiling_base___ToolContext___attr_sim},
   {(bigint) compiling_base___ToolContext___attr_sim__eq},
-  {(bigint) compiling_base___ToolContext___base_dir},
-  {(bigint) compiling_base___ToolContext___base_dir__eq},
+  {(bigint) compiling_base___ToolContext___compdir},
+  {(bigint) compiling_base___ToolContext___compdir__eq},
   {(bigint) compiling_base___ToolContext___clibdir},
   {(bigint) compiling_base___ToolContext___clibdir__eq},
   {(bigint) compiling_base___ToolContext___bindir},
@@ -77912,7 +77970,7 @@ const classtable_elt_t VFT_ToolContext[86] = {
 /* 4: Attribute ToolContext::_modules */
 /* 5: Attribute ToolContext::_global */
 /* 6: Attribute ToolContext::_attr_sim */
-/* 7: Attribute ToolContext::_base_dir */
+/* 7: Attribute ToolContext::_compdir */
 /* 8: Attribute ToolContext::_clibdir */
 /* 9: Attribute ToolContext::_bindir */
 /* 10: Attribute ToolContext::_output_file */
@@ -81118,8 +81176,8 @@ const classtable_elt_t VFT_AbstractCompiler[91] = {
   {(bigint) compiling_base___ToolContext___global__eq},
   {(bigint) compiling_base___ToolContext___attr_sim},
   {(bigint) compiling_base___ToolContext___attr_sim__eq},
-  {(bigint) compiling_base___ToolContext___base_dir},
-  {(bigint) compiling_base___ToolContext___base_dir__eq},
+  {(bigint) compiling_base___ToolContext___compdir},
+  {(bigint) compiling_base___ToolContext___compdir__eq},
   {(bigint) compiling_base___ToolContext___clibdir},
   {(bigint) compiling_base___ToolContext___clibdir__eq},
   {(bigint) compiling_base___ToolContext___bindir},
@@ -81165,7 +81223,7 @@ const classtable_elt_t VFT_AbstractCompiler[91] = {
 /* 4: Attribute AbstractCompiler::_modules */
 /* 5: Attribute AbstractCompiler::_global */
 /* 6: Attribute AbstractCompiler::_attr_sim */
-/* 7: Attribute AbstractCompiler::_base_dir */
+/* 7: Attribute AbstractCompiler::_compdir */
 /* 8: Attribute AbstractCompiler::_clibdir */
 /* 9: Attribute AbstractCompiler::_bindir */
 /* 10: Attribute AbstractCompiler::_output_file */
index bdb7536..c662c0a 100644 (file)
@@ -1,76 +1,87 @@
 /* This C file is generated by NIT to compile module opts. */
 #include "opts._sep.h"
 val_t opts___Option___names(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_opts, 16, LOCATE_opts___Option___names};
+  struct trace_t trace = {NULL, NULL, 16, LOCATE_opts___Option___names};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_opts;
   tracehead = trace.prev;
   return ATTR_opts___Option____names( self) /*Option::_names*/;
 }
 val_t opts___Option___helptext(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_opts, 22, LOCATE_opts___Option___helptext};
+  struct trace_t trace = {NULL, NULL, 22, LOCATE_opts___Option___helptext};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_opts;
   tracehead = trace.prev;
   return ATTR_opts___Option____helptext( self) /*Option::_helptext*/;
 }
 val_t opts___Option___mandatory(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_opts, 25, LOCATE_opts___Option___mandatory};
+  struct trace_t trace = {NULL, NULL, 25, LOCATE_opts___Option___mandatory};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_opts;
   tracehead = trace.prev;
   return ATTR_opts___Option____mandatory( self) /*Option::_mandatory*/;
 }
 void opts___Option___mandatory__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_opts, 25, LOCATE_opts___Option___mandatory__eq};
+  struct trace_t trace = {NULL, NULL, 25, LOCATE_opts___Option___mandatory__eq};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_opts;
   ATTR_opts___Option____mandatory( self) /*Option::_mandatory*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t opts___Option___context(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_opts, 28, LOCATE_opts___Option___context};
+  struct trace_t trace = {NULL, NULL, 28, LOCATE_opts___Option___context};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_opts;
   tracehead = trace.prev;
   return ATTR_opts___Option____context( self) /*Option::_context*/;
 }
 void opts___Option___context__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_opts, 28, LOCATE_opts___Option___context__eq};
+  struct trace_t trace = {NULL, NULL, 28, LOCATE_opts___Option___context__eq};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_opts;
   ATTR_opts___Option____context( self) /*Option::_context*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t opts___Option___value(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_opts, 31, LOCATE_opts___Option___value};
+  struct trace_t trace = {NULL, NULL, 31, LOCATE_opts___Option___value};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_opts;
   tracehead = trace.prev;
   return ATTR_opts___Option____value( self) /*Option::_value*/;
 }
 void opts___Option___value__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_opts, 31, LOCATE_opts___Option___value__eq};
+  struct trace_t trace = {NULL, NULL, 31, LOCATE_opts___Option___value__eq};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_opts;
   ATTR_opts___Option____value( self) /*Option::_value*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t opts___Option___default_value(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_opts, 34, LOCATE_opts___Option___default_value};
+  struct trace_t trace = {NULL, NULL, 34, LOCATE_opts___Option___default_value};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_opts;
   tracehead = trace.prev;
   return ATTR_opts___Option____default_value( self) /*Option::_default_value*/;
 }
 void opts___Option___default_value__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_opts, 34, LOCATE_opts___Option___default_value__eq};
+  struct trace_t trace = {NULL, NULL, 34, LOCATE_opts___Option___default_value__eq};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_opts;
   ATTR_opts___Option____default_value( self) /*Option::_default_value*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 void opts___Option___init_opt(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_opts, 37, LOCATE_opts___Option___init_opt};
+  struct trace_t trace = {NULL, NULL, 37, LOCATE_opts___Option___init_opt};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   val_t variable3;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_opts;
   variable0 =  param0;
   variable1 =  param1;
   variable2 =  param2;
@@ -91,10 +102,11 @@ void opts___Option___init_opt(val_t  self, val_t  param0, val_t  param1, val_t
   return;
 }
 void opts___Option___add_aliases(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_opts, 50, LOCATE_opts___Option___add_aliases};
+  struct trace_t trace = {NULL, NULL, 50, LOCATE_opts___Option___add_aliases};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_opts;
   /* check if p<Array[String] with p:String */
   if (( param0!=NIT_NULL) && !VAL_ISA( param0, COLOR_Array, ID_Array)) { fprintf(stderr, "Cast failled"); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_opts___Option___init_opt, LOCATE_opts, 51); nit_exit(1); } /*cast Array[String]*/;
   variable0 =  param0;
@@ -104,9 +116,10 @@ void opts___Option___add_aliases(val_t  self, val_t  param0) {
   return;
 }
 val_t opts___Option___to_s(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_opts, 53, LOCATE_opts___Option___to_s};
+  struct trace_t trace = {NULL, NULL, 53, LOCATE_opts___Option___to_s};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_opts;
   variable0 = ((opts___Option___pretty_t)CALL( self,COLOR_opts___Option___pretty))( self,  TAG_Int(2)) /*Option::pretty*/;
   goto return_label2;
   return_label2: while(false);
@@ -114,12 +127,13 @@ val_t opts___Option___to_s(val_t  self) {
   return variable0;
 }
 val_t opts___Option___pretty(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_opts, 56, LOCATE_opts___Option___pretty};
+  struct trace_t trace = {NULL, NULL, 56, LOCATE_opts___Option___pretty};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   val_t variable3;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_opts;
   variable0 =  param0;
   variable2 = NEW_string___String___with_native(BOX_NativeString("  "), TAG_Int(2)); /*new String*/
   variable1 = variable2;
@@ -147,7 +161,7 @@ val_t opts___Option___pretty(val_t  self, val_t  param0) {
   return variable1;
 }
 val_t opts___Option___pretty_default(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_opts, 69, LOCATE_opts___Option___pretty_default};
+  struct trace_t trace = {NULL, NULL, 69, LOCATE_opts___Option___pretty_default};
   val_t variable0;
     val_t variable1;
     val_t variable2;
@@ -156,6 +170,7 @@ val_t opts___Option___pretty_default(val_t  self) {
     val_t variable5;
     val_t variable6;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_opts;
   variable0 = ((opts___Option___default_value_t)CALL( self,COLOR_opts___Option___default_value))( self) /*Option::default_value*/;
   variable0 = TAG_Bool(!UNTAG_Bool(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::==*/)))))));
   if (UNTAG_Bool(variable0)) { /*if*/
@@ -179,8 +194,9 @@ val_t opts___Option___pretty_default(val_t  self) {
   return variable0;
 }
 void opts___Option___read_param(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_opts, 77, LOCATE_opts___Option___read_param};
+  struct trace_t trace = {NULL, NULL, 77, LOCATE_opts___Option___read_param};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_opts;
   fprintf(stderr, "Deferred method %s called");
   fprintf(stderr, " in %s (%s:%d)\n", LOCATE_opts___Option___pretty_default, LOCATE_opts, 77);
   nit_exit(1);
@@ -188,9 +204,10 @@ void opts___Option___read_param(val_t  self, val_t  param0) {
   return;
 }
 void opts___OptionText___init(val_t  self, val_t  param0, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_opts, 83, LOCATE_opts___OptionText___init};
+  struct trace_t trace = {NULL, NULL, 83, LOCATE_opts___OptionText___init};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_opts;
   variable0 =  param0;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_OptionText].i]) return;
   ((opts___Option___init_opt_t)CALL( self,COLOR_opts___Option___init_opt))( self,  variable0 /*text*/,  NIT_NULL /*null*/,  NIT_NULL /*null*/, init_table /*YYY*/) /*Option::init_opt*/;
@@ -199,10 +216,11 @@ void opts___OptionText___init(val_t  self, val_t  param0, int* init_table) {
   return;
 }
 val_t opts___OptionText___pretty(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_opts, 85, LOCATE_opts___OptionText___pretty};
+  struct trace_t trace = {NULL, NULL, 85, LOCATE_opts___OptionText___pretty};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_opts;
   variable0 =  param0;
   variable1 = ((opts___OptionText___to_s_t)CALL( self,COLOR_string___Object___to_s))( self) /*OptionText::to_s*/;
   goto return_label6;
@@ -211,9 +229,10 @@ val_t opts___OptionText___pretty(val_t  self, val_t  param0) {
   return variable1;
 }
 val_t opts___OptionText___to_s(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_opts, 87, LOCATE_opts___OptionText___to_s};
+  struct trace_t trace = {NULL, NULL, 87, LOCATE_opts___OptionText___to_s};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_opts;
   variable0 = ((opts___Option___helptext_t)CALL( self,COLOR_opts___Option___helptext))( self) /*Option::helptext*/;
   goto return_label7;
   return_label7: while(false);
@@ -221,10 +240,11 @@ val_t opts___OptionText___to_s(val_t  self) {
   return variable0;
 }
 void opts___OptionBool___init(val_t  self, val_t  param0, val_t  param1, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_opts, 94, LOCATE_opts___OptionBool___init};
+  struct trace_t trace = {NULL, NULL, 94, LOCATE_opts___OptionBool___init};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_opts;
   variable0 =  param0;
   /* check if p<Array[String] with p:String */
   if (( param1!=NIT_NULL) && !VAL_ISA( param1, COLOR_Array, ID_Array)) { fprintf(stderr, "Cast failled"); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_opts___OptionText___to_s, LOCATE_opts, 94); nit_exit(1); } /*cast Array[String]*/;
@@ -236,17 +256,19 @@ void opts___OptionBool___init(val_t  self, val_t  param0, val_t  param1, int* in
   return;
 }
 void opts___OptionBool___read_param(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_opts, 96, LOCATE_opts___OptionBool___read_param};
+  struct trace_t trace = {NULL, NULL, 96, LOCATE_opts___OptionBool___read_param};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_opts;
   variable0 =  param0;
   ((opts___Option___value__eq_t)CALL( self,COLOR_opts___Option___value__eq))( self,  TAG_Bool(true)) /*Option::value=*/;
   tracehead = trace.prev;
   return;
 }
 val_t opts___OptionParameter___convert(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_opts, 102, LOCATE_opts___OptionParameter___convert};
+  struct trace_t trace = {NULL, NULL, 102, LOCATE_opts___OptionParameter___convert};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_opts;
   fprintf(stderr, "Deferred method %s called");
   fprintf(stderr, " in %s (%s:%d)\n", LOCATE_opts___OptionBool___read_param, LOCATE_opts, 102);
   nit_exit(1);
@@ -254,10 +276,11 @@ val_t opts___OptionParameter___convert(val_t  self, val_t  param0) {
   return NIT_NULL;
 }
 void opts___OptionParameter___read_param(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_opts, 104, LOCATE_opts___OptionParameter___read_param};
+  struct trace_t trace = {NULL, NULL, 104, LOCATE_opts___OptionParameter___read_param};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_opts;
   variable0 =  param0;
   variable1 = ((opts___Option___context_t)CALL( self,COLOR_opts___Option___context))( self) /*Option::context*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 ==  NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -273,11 +296,12 @@ void opts___OptionParameter___read_param(val_t  self, val_t  param0) {
   return;
 }
 void opts___OptionParameter___init_opt(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_opts, 115, LOCATE_opts___OptionParameter___init_opt};
+  struct trace_t trace = {NULL, NULL, 115, LOCATE_opts___OptionParameter___init_opt};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_opts;
   variable0 =  param0;
   variable1 =  param1;
   variable2 =  param2;
@@ -288,10 +312,11 @@ void opts___OptionParameter___init_opt(val_t  self, val_t  param0, val_t  param1
   return;
 }
 void opts___OptionString___init(val_t  self, val_t  param0, val_t  param1, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_opts, 122, LOCATE_opts___OptionString___init};
+  struct trace_t trace = {NULL, NULL, 122, LOCATE_opts___OptionString___init};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_opts;
   variable0 =  param0;
   /* check if p<Array[String] with p:String */
   if (( param1!=NIT_NULL) && !VAL_ISA( param1, COLOR_Array, ID_Array)) { fprintf(stderr, "Cast failled"); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_opts___OptionParameter___init_opt, LOCATE_opts, 122); nit_exit(1); } /*cast Array[String]*/;
@@ -303,10 +328,11 @@ void opts___OptionString___init(val_t  self, val_t  param0, val_t  param1, int*
   return;
 }
 val_t opts___OptionString___convert(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_opts, 124, LOCATE_opts___OptionString___convert};
+  struct trace_t trace = {NULL, NULL, 124, LOCATE_opts___OptionString___convert};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_opts;
   variable0 =  param0;
   variable1 =  variable0 /*str*/;
   goto return_label13;
@@ -315,7 +341,7 @@ val_t opts___OptionString___convert(val_t  self, val_t  param0) {
   return variable1;
 }
 void opts___OptionEnum___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_opts, 132, LOCATE_opts___OptionEnum___init};
+  struct trace_t trace = {NULL, NULL, 132, LOCATE_opts___OptionEnum___init};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -331,6 +357,7 @@ void opts___OptionEnum___init(val_t  self, val_t  param0, val_t  param1, val_t
   val_t variable12;
   val_t variable13;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_opts;
   variable0 =  param0;
   variable1 =  param1;
   variable2 =  param2;
@@ -370,11 +397,12 @@ void opts___OptionEnum___init(val_t  self, val_t  param0, val_t  param1, val_t
   return;
 }
 val_t opts___OptionEnum___convert(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_opts, 139, LOCATE_opts___OptionEnum___convert};
+  struct trace_t trace = {NULL, NULL, 139, LOCATE_opts___OptionEnum___convert};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_opts;
   variable0 =  param0;
   variable2 = ATTR_opts___OptionEnum____enum( self) /*OptionEnum::_enum*/;
   variable2 = ((array___AbstractArray___index_of_t)CALL(variable2,COLOR_abstract_collection___IndexedCollection___index_of))(variable2,  variable0 /*str*/) /*AbstractArray::index_of*/;
@@ -386,7 +414,7 @@ val_t opts___OptionEnum___convert(val_t  self, val_t  param0) {
   return variable1;
 }
 val_t opts___OptionEnum___pretty_default(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_opts, 145, LOCATE_opts___OptionEnum___pretty_default};
+  struct trace_t trace = {NULL, NULL, 145, LOCATE_opts___OptionEnum___pretty_default};
   val_t variable0;
     val_t variable1;
     val_t variable2;
@@ -396,6 +424,7 @@ val_t opts___OptionEnum___pretty_default(val_t  self) {
     val_t variable6;
     val_t variable7;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_opts;
   variable0 = ((opts___Option___default_value_t)CALL( self,COLOR_opts___Option___default_value))( self) /*Option::default_value*/;
   variable0 = TAG_Bool((variable0)!=( NIT_NULL /*null*/));
   if (UNTAG_Bool(variable0)) { /*if*/
@@ -436,11 +465,12 @@ val_t opts___OptionEnum___pretty_default(val_t  self) {
   return variable0;
 }
 void opts___OptionInt___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_opts, 159, LOCATE_opts___OptionInt___init};
+  struct trace_t trace = {NULL, NULL, 159, LOCATE_opts___OptionInt___init};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_opts;
   variable0 =  param0;
   variable1 =  param1;
   /* check if p<Array[String] with p:String */
@@ -453,10 +483,11 @@ void opts___OptionInt___init(val_t  self, val_t  param0, val_t  param1, val_t  p
   return;
 }
 val_t opts___OptionInt___convert(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_opts, 161, LOCATE_opts___OptionInt___convert};
+  struct trace_t trace = {NULL, NULL, 161, LOCATE_opts___OptionInt___convert};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_opts;
   variable0 =  param0;
   variable1 = ((string___String___to_i_t)CALL( variable0 /*str*/,COLOR_string___String___to_i))( variable0 /*str*/) /*String::to_i*/;
   goto return_label19;
@@ -465,11 +496,12 @@ val_t opts___OptionInt___convert(val_t  self, val_t  param0) {
   return variable1;
 }
 void opts___OptionArray___init(val_t  self, val_t  param0, val_t  param1, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_opts, 168, LOCATE_opts___OptionArray___init};
+  struct trace_t trace = {NULL, NULL, 168, LOCATE_opts___OptionArray___init};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_opts;
   variable0 =  param0;
   /* check if p<Array[String] with p:String */
   if (( param1!=NIT_NULL) && !VAL_ISA( param1, COLOR_Array, ID_Array)) { fprintf(stderr, "Cast failled"); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_opts___OptionInt___convert, LOCATE_opts, 168); nit_exit(1); } /*cast Array[String]*/;
@@ -484,10 +516,11 @@ void opts___OptionArray___init(val_t  self, val_t  param0, val_t  param1, int* i
   return;
 }
 val_t opts___OptionArray___convert(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_opts, 175, LOCATE_opts___OptionArray___convert};
+  struct trace_t trace = {NULL, NULL, 175, LOCATE_opts___OptionArray___convert};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_opts;
   variable0 =  param0;
   variable1 = ATTR_opts___OptionArray____values( self) /*OptionArray::_values*/;
   ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  variable0 /*str*/) /*AbstractArray::add*/;
@@ -498,19 +531,21 @@ val_t opts___OptionArray___convert(val_t  self, val_t  param0) {
   return variable1;
 }
 val_t opts___OptionContext___options(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_opts, 183, LOCATE_opts___OptionContext___options};
+  struct trace_t trace = {NULL, NULL, 183, LOCATE_opts___OptionContext___options};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_opts;
   tracehead = trace.prev;
   return ATTR_opts___OptionContext____options( self) /*OptionContext::_options*/;
 }
 val_t opts___OptionContext___rest(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_opts, 184, LOCATE_opts___OptionContext___rest};
+  struct trace_t trace = {NULL, NULL, 184, LOCATE_opts___OptionContext___rest};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_opts;
   tracehead = trace.prev;
   return ATTR_opts___OptionContext____rest( self) /*OptionContext::_rest*/;
 }
 void opts___OptionContext___usage(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_opts, 188, LOCATE_opts___OptionContext___usage};
+  struct trace_t trace = {NULL, NULL, 188, LOCATE_opts___OptionContext___usage};
   val_t variable0;
   val_t variable1;
     val_t variable2;
@@ -519,6 +554,7 @@ void opts___OptionContext___usage(val_t  self) {
       val_t variable5;
       val_t variable6;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_opts;
   variable0 =  TAG_Int(1);
   variable1 = ATTR_opts___OptionContext____options( self) /*OptionContext::_options*/;
   variable1 = ((array___AbstractArray___iterator_t)CALL(variable1,COLOR_abstract_collection___Collection___iterator))(variable1) /*AbstractArray::iterator*/;
@@ -564,11 +600,12 @@ void opts___OptionContext___usage(val_t  self) {
   return;
 }
 void opts___OptionContext___parse(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_opts, 204, LOCATE_opts___OptionContext___parse};
+  struct trace_t trace = {NULL, NULL, 204, LOCATE_opts___OptionContext___parse};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_opts;
   variable0 =  param0;
   variable2 = ((abstract_collection___Collection___iterator_t)CALL( variable0 /*argv*/,COLOR_abstract_collection___Collection___iterator))( variable0 /*argv*/) /*Collection::iterator*/;
   variable1 = variable2;
@@ -577,7 +614,7 @@ void opts___OptionContext___parse(val_t  self, val_t  param0) {
   return;
 }
 void opts___OptionContext___parse_intern(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_opts, 211, LOCATE_opts___OptionContext___parse_intern};
+  struct trace_t trace = {NULL, NULL, 211, LOCATE_opts___OptionContext___parse_intern};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -585,6 +622,7 @@ void opts___OptionContext___parse_intern(val_t  self, val_t  param0) {
     val_t variable4;
         val_t variable5;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_opts;
   variable0 =  param0;
   variable1 =  TAG_Bool(true);
   ((opts___OptionContext___build_t)CALL( self,COLOR_opts___OptionContext___build))( self) /*OptionContext::build*/;
@@ -627,12 +665,13 @@ void opts___OptionContext___parse_intern(val_t  self, val_t  param0) {
   return;
 }
 void opts___OptionContext___add_option(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_opts, 236, LOCATE_opts___OptionContext___add_option};
+  struct trace_t trace = {NULL, NULL, 236, LOCATE_opts___OptionContext___add_option};
   val_t variable0;
   val_t variable1;
     val_t variable2;
     val_t variable3;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_opts;
   /* check if p<Array[Option] with p:Option */
   if (( param0!=NIT_NULL) && !VAL_ISA( param0, COLOR_Array, ID_Array)) { fprintf(stderr, "Cast failled"); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_opts___OptionContext___parse_intern, LOCATE_opts, 236); nit_exit(1); } /*cast Array[Option]*/;
   variable0 =  param0;
@@ -652,9 +691,10 @@ void opts___OptionContext___add_option(val_t  self, val_t  param0) {
   return;
 }
 void opts___OptionContext___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_opts, 244, LOCATE_opts___OptionContext___init};
+  struct trace_t trace = {NULL, NULL, 244, LOCATE_opts___OptionContext___init};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_opts;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_OptionContext].i]) return;
   variable0 = NEW_array___Array___init(); /*new Array[E]*/
   ATTR_opts___OptionContext____options( self) /*OptionContext::_options*/ = variable0;
@@ -667,13 +707,14 @@ void opts___OptionContext___init(val_t  self, int* init_table) {
   return;
 }
 void opts___OptionContext___build(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_opts, 251, LOCATE_opts___OptionContext___build};
+  struct trace_t trace = {NULL, NULL, 251, LOCATE_opts___OptionContext___build};
   val_t variable0;
     val_t variable1;
     val_t variable2;
       val_t variable3;
       val_t variable4;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_opts;
   variable0 = ATTR_opts___OptionContext____options( self) /*OptionContext::_options*/;
   variable0 = ((array___AbstractArray___iterator_t)CALL(variable0,COLOR_abstract_collection___Collection___iterator))(variable0) /*AbstractArray::iterator*/;
   while (true) { /*for*/
index b3c5ba1..af9574f 100644 (file)
@@ -1,6 +1,6 @@
 /* This C header file is generated by NIT to compile modules and programs that requires opts. */
-#ifndef opts_2_sep
-#define opts_2_sep
+#ifndef opts_sep
+#define opts_sep
 #include "standard._sep.h"
 #include <nit_common.h>
 
@@ -21,7 +21,7 @@ extern const classtable_elt_t VFT_OptionInt[];
 extern const classtable_elt_t VFT_OptionArray[];
 
 extern const classtable_elt_t VFT_OptionContext[];
-#define LOCATE_opts "./../lib/opts.nit"
+extern const char *LOCATE_opts;
 extern const int SFT_opts[];
 #define ID_Option SFT_opts[0]
 #define COLOR_Option SFT_opts[1]
index b4a98f3..d055ce5 100644 (file)
@@ -1,36 +1,41 @@
 /* This C file is generated by NIT to compile module parser. */
 #include "parser._sep.h"
 val_t parser___State___state(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser, 10, LOCATE_parser___State___state};
+  struct trace_t trace = {NULL, NULL, 10, LOCATE_parser___State___state};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   tracehead = trace.prev;
   return ATTR_parser___State____state( self) /*State::_state*/;
 }
 void parser___State___state__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 10, LOCATE_parser___State___state__eq};
+  struct trace_t trace = {NULL, NULL, 10, LOCATE_parser___State___state__eq};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   ATTR_parser___State____state( self) /*State::_state*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser___State___nodes(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser, 13, LOCATE_parser___State___nodes};
+  struct trace_t trace = {NULL, NULL, 13, LOCATE_parser___State___nodes};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   tracehead = trace.prev;
   return ATTR_parser___State____nodes( self) /*State::_nodes*/;
 }
 void parser___State___nodes__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 13, LOCATE_parser___State___nodes__eq};
+  struct trace_t trace = {NULL, NULL, 13, LOCATE_parser___State___nodes__eq};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   ATTR_parser___State____nodes( self) /*State::_nodes*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 void parser___State___init(val_t  self, val_t  param0, val_t  param1, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 16, LOCATE_parser___State___init};
+  struct trace_t trace = {NULL, NULL, 16, LOCATE_parser___State___init};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  param1;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_State].i]) return;
@@ -41,10 +46,11 @@ void parser___State___init(val_t  self, val_t  param0, val_t  param1, int* init_
   return;
 }
 void parser___Parser___init(val_t  self, val_t  param0, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 34, LOCATE_parser___Parser___init};
+  struct trace_t trace = {NULL, NULL, 34, LOCATE_parser___Parser___init};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_Parser].i]) return;
   ATTR_parser___Parser____lexer( self) /*Parser::_lexer*/ =  variable0 /*lexer*/;
@@ -60,7 +66,7 @@ void parser___Parser___init(val_t  self, val_t  param0, int* init_table) {
   return;
 }
 val_t parser___Parser___go_to(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 45, LOCATE_parser___Parser___go_to};
+  struct trace_t trace = {NULL, NULL, 45, LOCATE_parser___Parser___go_to};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -73,6 +79,7 @@ val_t parser___Parser___go_to(val_t  self, val_t  param0) {
     val_t variable9;
         val_t variable10;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable2 = ((parser___Parser___state_t)CALL( self,COLOR_parser___Parser___state))( self) /*Parser::state*/;
   variable1 = variable2;
@@ -188,7 +195,7 @@ val_t parser___Parser___go_to(val_t  self, val_t  param0) {
   return variable1;
 }
 void parser___Parser___push(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_parser, 69, LOCATE_parser___Parser___push};
+  struct trace_t trace = {NULL, NULL, 69, LOCATE_parser___Parser___push};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -198,6 +205,7 @@ void parser___Parser___push(val_t  self, val_t  param0, val_t  param1) {
     val_t variable6;
     val_t variable7;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  param1;
   variable3 = ATTR_parser___Parser____stack_pos( self) /*Parser::_stack_pos*/;
@@ -237,13 +245,14 @@ void parser___Parser___push(val_t  self, val_t  param0, val_t  param1) {
   return;
 }
 val_t parser___Parser___state(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser, 83, LOCATE_parser___Parser___state};
+  struct trace_t trace = {NULL, NULL, 83, LOCATE_parser___Parser___state};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   val_t variable3;
   val_t variable4;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 = ATTR_parser___Parser____stack( self) /*Parser::_stack*/;
   variable1 = ATTR_parser___Parser____stack_pos( self) /*Parser::_stack_pos*/;
   variable2 = variable1;
@@ -269,7 +278,7 @@ val_t parser___Parser___state(val_t  self) {
   return variable0;
 }
 val_t parser___Parser___pop(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser, 89, LOCATE_parser___Parser___pop};
+  struct trace_t trace = {NULL, NULL, 89, LOCATE_parser___Parser___pop};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -277,6 +286,7 @@ val_t parser___Parser___pop(val_t  self) {
   val_t variable4;
   val_t variable5;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable1 = ATTR_parser___Parser____stack( self) /*Parser::_stack*/;
   variable2 = ATTR_parser___Parser____stack_pos( self) /*Parser::_stack_pos*/;
   variable3 = variable2;
@@ -307,7 +317,7 @@ val_t parser___Parser___pop(val_t  self) {
   return variable0;
 }
 val_t parser___Parser___parse(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser, 97, LOCATE_parser___Parser___parse};
+  struct trace_t trace = {NULL, NULL, 97, LOCATE_parser___Parser___parse};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -327,6 +337,7 @@ val_t parser___Parser___parse(val_t  self) {
           val_t variable16;
             val_t variable17;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   ((parser___Parser___push_t)CALL( self,COLOR_parser___Parser___push))( self,  TAG_Int(0),  NIT_NULL /*null*/) /*Parser::push*/;
   variable0 =  NIT_NULL /*null*/;
   variable2 = ATTR_parser___Parser____lexer( self) /*Parser::_lexer*/;
@@ -589,7 +600,7 @@ val_t parser___Parser___parse(val_t  self) {
   return variable0;
 }
 void parser___Parser___build_reduce_table(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser, 159, LOCATE_parser___Parser___build_reduce_table};
+  struct trace_t trace = {NULL, NULL, 159, LOCATE_parser___Parser___build_reduce_table};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -1165,6 +1176,7 @@ void parser___Parser___build_reduce_table(val_t  self) {
   val_t variable572;
   val_t variable573;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(573)); /*new Array[E]*/
   variable1 = NEW_parser___ReduceAction0___init(); /*new ReduceAction0*/
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -2319,11 +2331,12 @@ void parser___Parser___build_reduce_table(val_t  self) {
   return;
 }
 void parser___SearchTokensVisitor___visit(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 744, LOCATE_parser___SearchTokensVisitor___visit};
+  struct trace_t trace = {NULL, NULL, 744, LOCATE_parser___SearchTokensVisitor___visit};
   val_t variable0;
   val_t variable1;
       val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 = TAG_Bool(( variable0 /*n*/==NIT_NULL) || VAL_ISA( variable0 /*n*/, COLOR_Token, ID_Token)) /*cast Token*/;
   if (UNTAG_Bool(variable1)) { /*if*/
@@ -2356,9 +2369,10 @@ void parser___SearchTokensVisitor___visit(val_t  self, val_t  param0) {
   return;
 }
 void parser___SearchTokensVisitor___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 760, LOCATE_parser___SearchTokensVisitor___init};
+  struct trace_t trace = {NULL, NULL, 760, LOCATE_parser___SearchTokensVisitor___init};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_SearchTokensVisitor].i]) return;
   variable0 = NEW_array___Array___init(); /*new Array[E]*/
   ATTR_parser___SearchTokensVisitor____untokenned_nodes( self) /*SearchTokensVisitor::_untokenned_nodes*/ = variable0;
@@ -2367,8 +2381,9 @@ void parser___SearchTokensVisitor___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 768, LOCATE_parser___ReduceAction___action};
+  struct trace_t trace = {NULL, NULL, 768, LOCATE_parser___ReduceAction___action};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   fprintf(stderr, "Deferred method %s called");
   fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___SearchTokensVisitor___init, LOCATE_parser, 768);
   nit_exit(1);
@@ -2376,7 +2391,7 @@ void parser___ReduceAction___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction0___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 773, LOCATE_parser___ReduceAction0___action};
+  struct trace_t trace = {NULL, NULL, 773, LOCATE_parser___ReduceAction0___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -2384,6 +2399,7 @@ void parser___ReduceAction0___action(val_t  self, val_t  param0) {
   val_t variable4;
   val_t variable5;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = NEW_array___Array___init(); /*new Array[E]*/
@@ -2399,15 +2415,16 @@ void parser___ReduceAction0___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction0___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 786, LOCATE_parser___ReduceAction0___init};
+  struct trace_t trace = {NULL, NULL, 786, LOCATE_parser___ReduceAction0___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction0].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction0].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction1___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 790, LOCATE_parser___ReduceAction1___action};
+  struct trace_t trace = {NULL, NULL, 790, LOCATE_parser___ReduceAction1___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -2417,6 +2434,7 @@ void parser___ReduceAction1___action(val_t  self, val_t  param0) {
   val_t variable6;
   val_t variable7;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -2437,15 +2455,16 @@ void parser___ReduceAction1___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction1___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 806, LOCATE_parser___ReduceAction1___init};
+  struct trace_t trace = {NULL, NULL, 806, LOCATE_parser___ReduceAction1___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction1].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction1].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction2___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 810, LOCATE_parser___ReduceAction2___action};
+  struct trace_t trace = {NULL, NULL, 810, LOCATE_parser___ReduceAction2___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -2455,6 +2474,7 @@ void parser___ReduceAction2___action(val_t  self, val_t  param0) {
   val_t variable6;
   val_t variable7;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -2484,15 +2504,16 @@ void parser___ReduceAction2___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction2___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 833, LOCATE_parser___ReduceAction2___init};
+  struct trace_t trace = {NULL, NULL, 833, LOCATE_parser___ReduceAction2___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction2].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction2].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction3___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 837, LOCATE_parser___ReduceAction3___action};
+  struct trace_t trace = {NULL, NULL, 837, LOCATE_parser___ReduceAction3___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -2504,6 +2525,7 @@ void parser___ReduceAction3___action(val_t  self, val_t  param0) {
   val_t variable8;
   val_t variable9;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -2538,15 +2560,16 @@ void parser___ReduceAction3___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction3___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 863, LOCATE_parser___ReduceAction3___init};
+  struct trace_t trace = {NULL, NULL, 863, LOCATE_parser___ReduceAction3___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction3].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction3].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction4___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 867, LOCATE_parser___ReduceAction4___action};
+  struct trace_t trace = {NULL, NULL, 867, LOCATE_parser___ReduceAction4___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -2556,6 +2579,7 @@ void parser___ReduceAction4___action(val_t  self, val_t  param0) {
   val_t variable6;
   val_t variable7;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -2585,15 +2609,16 @@ void parser___ReduceAction4___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction4___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 890, LOCATE_parser___ReduceAction4___init};
+  struct trace_t trace = {NULL, NULL, 890, LOCATE_parser___ReduceAction4___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction4].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction4].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction5___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 894, LOCATE_parser___ReduceAction5___action};
+  struct trace_t trace = {NULL, NULL, 894, LOCATE_parser___ReduceAction5___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -2605,6 +2630,7 @@ void parser___ReduceAction5___action(val_t  self, val_t  param0) {
   val_t variable8;
   val_t variable9;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -2639,15 +2665,16 @@ void parser___ReduceAction5___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction5___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 920, LOCATE_parser___ReduceAction5___init};
+  struct trace_t trace = {NULL, NULL, 920, LOCATE_parser___ReduceAction5___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction5].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction5].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction6___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 924, LOCATE_parser___ReduceAction6___action};
+  struct trace_t trace = {NULL, NULL, 924, LOCATE_parser___ReduceAction6___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -2659,6 +2686,7 @@ void parser___ReduceAction6___action(val_t  self, val_t  param0) {
   val_t variable8;
   val_t variable9;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -2702,15 +2730,16 @@ void parser___ReduceAction6___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction6___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 957, LOCATE_parser___ReduceAction6___init};
+  struct trace_t trace = {NULL, NULL, 957, LOCATE_parser___ReduceAction6___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction6].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction6].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction7___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 961, LOCATE_parser___ReduceAction7___action};
+  struct trace_t trace = {NULL, NULL, 961, LOCATE_parser___ReduceAction7___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -2724,6 +2753,7 @@ void parser___ReduceAction7___action(val_t  self, val_t  param0) {
   val_t variable10;
   val_t variable11;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -2772,15 +2802,16 @@ void parser___ReduceAction7___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction7___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 997, LOCATE_parser___ReduceAction7___init};
+  struct trace_t trace = {NULL, NULL, 997, LOCATE_parser___ReduceAction7___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction7].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction7].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction8___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 1001, LOCATE_parser___ReduceAction8___action};
+  struct trace_t trace = {NULL, NULL, 1001, LOCATE_parser___ReduceAction8___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -2793,6 +2824,7 @@ void parser___ReduceAction8___action(val_t  self, val_t  param0) {
   val_t variable9;
   val_t variable10;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -2827,15 +2859,16 @@ void parser___ReduceAction8___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction8___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 1028, LOCATE_parser___ReduceAction8___init};
+  struct trace_t trace = {NULL, NULL, 1028, LOCATE_parser___ReduceAction8___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction8].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction8].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction9___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 1032, LOCATE_parser___ReduceAction9___action};
+  struct trace_t trace = {NULL, NULL, 1032, LOCATE_parser___ReduceAction9___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -2850,6 +2883,7 @@ void parser___ReduceAction9___action(val_t  self, val_t  param0) {
   val_t variable11;
   val_t variable12;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -2898,15 +2932,16 @@ void parser___ReduceAction9___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction9___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 1069, LOCATE_parser___ReduceAction9___init};
+  struct trace_t trace = {NULL, NULL, 1069, LOCATE_parser___ReduceAction9___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction9].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction9].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction10___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 1073, LOCATE_parser___ReduceAction10___action};
+  struct trace_t trace = {NULL, NULL, 1073, LOCATE_parser___ReduceAction10___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -2921,6 +2956,7 @@ void parser___ReduceAction10___action(val_t  self, val_t  param0) {
   val_t variable11;
   val_t variable12;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -2960,15 +2996,16 @@ void parser___ReduceAction10___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction10___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 1103, LOCATE_parser___ReduceAction10___init};
+  struct trace_t trace = {NULL, NULL, 1103, LOCATE_parser___ReduceAction10___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction10].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction10].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction11___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 1107, LOCATE_parser___ReduceAction11___action};
+  struct trace_t trace = {NULL, NULL, 1107, LOCATE_parser___ReduceAction11___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -2985,6 +3022,7 @@ void parser___ReduceAction11___action(val_t  self, val_t  param0) {
   val_t variable13;
   val_t variable14;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -3038,15 +3076,16 @@ void parser___ReduceAction11___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction11___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 1147, LOCATE_parser___ReduceAction11___init};
+  struct trace_t trace = {NULL, NULL, 1147, LOCATE_parser___ReduceAction11___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction11].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction11].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction12___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 1151, LOCATE_parser___ReduceAction12___action};
+  struct trace_t trace = {NULL, NULL, 1151, LOCATE_parser___ReduceAction12___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -3061,6 +3100,7 @@ void parser___ReduceAction12___action(val_t  self, val_t  param0) {
   val_t variable11;
   val_t variable12;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -3109,15 +3149,16 @@ void parser___ReduceAction12___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction12___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 1188, LOCATE_parser___ReduceAction12___init};
+  struct trace_t trace = {NULL, NULL, 1188, LOCATE_parser___ReduceAction12___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction12].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction12].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction13___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 1192, LOCATE_parser___ReduceAction13___action};
+  struct trace_t trace = {NULL, NULL, 1192, LOCATE_parser___ReduceAction13___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -3134,6 +3175,7 @@ void parser___ReduceAction13___action(val_t  self, val_t  param0) {
   val_t variable13;
   val_t variable14;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -3196,15 +3238,16 @@ void parser___ReduceAction13___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction13___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 1239, LOCATE_parser___ReduceAction13___init};
+  struct trace_t trace = {NULL, NULL, 1239, LOCATE_parser___ReduceAction13___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction13].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction13].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction14___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 1243, LOCATE_parser___ReduceAction14___action};
+  struct trace_t trace = {NULL, NULL, 1243, LOCATE_parser___ReduceAction14___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -3221,6 +3264,7 @@ void parser___ReduceAction14___action(val_t  self, val_t  param0) {
   val_t variable13;
   val_t variable14;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -3274,15 +3318,16 @@ void parser___ReduceAction14___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction14___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 1283, LOCATE_parser___ReduceAction14___init};
+  struct trace_t trace = {NULL, NULL, 1283, LOCATE_parser___ReduceAction14___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction14].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction14].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction15___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 1287, LOCATE_parser___ReduceAction15___action};
+  struct trace_t trace = {NULL, NULL, 1287, LOCATE_parser___ReduceAction15___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -3301,6 +3346,7 @@ void parser___ReduceAction15___action(val_t  self, val_t  param0) {
   val_t variable15;
   val_t variable16;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -3368,15 +3414,16 @@ void parser___ReduceAction15___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction15___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 1337, LOCATE_parser___ReduceAction15___init};
+  struct trace_t trace = {NULL, NULL, 1337, LOCATE_parser___ReduceAction15___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction15].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction15].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction16___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 1341, LOCATE_parser___ReduceAction16___action};
+  struct trace_t trace = {NULL, NULL, 1341, LOCATE_parser___ReduceAction16___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -3391,6 +3438,7 @@ void parser___ReduceAction16___action(val_t  self, val_t  param0) {
   val_t variable11;
   val_t variable12;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -3439,15 +3487,16 @@ void parser___ReduceAction16___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction16___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 1378, LOCATE_parser___ReduceAction16___init};
+  struct trace_t trace = {NULL, NULL, 1378, LOCATE_parser___ReduceAction16___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction16].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction16].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction17___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 1382, LOCATE_parser___ReduceAction17___action};
+  struct trace_t trace = {NULL, NULL, 1382, LOCATE_parser___ReduceAction17___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -3464,6 +3513,7 @@ void parser___ReduceAction17___action(val_t  self, val_t  param0) {
   val_t variable13;
   val_t variable14;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -3526,15 +3576,16 @@ void parser___ReduceAction17___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction17___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 1429, LOCATE_parser___ReduceAction17___init};
+  struct trace_t trace = {NULL, NULL, 1429, LOCATE_parser___ReduceAction17___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction17].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction17].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction18___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 1433, LOCATE_parser___ReduceAction18___action};
+  struct trace_t trace = {NULL, NULL, 1433, LOCATE_parser___ReduceAction18___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -3551,6 +3602,7 @@ void parser___ReduceAction18___action(val_t  self, val_t  param0) {
   val_t variable13;
   val_t variable14;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -3604,15 +3656,16 @@ void parser___ReduceAction18___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction18___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 1473, LOCATE_parser___ReduceAction18___init};
+  struct trace_t trace = {NULL, NULL, 1473, LOCATE_parser___ReduceAction18___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction18].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction18].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction19___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 1477, LOCATE_parser___ReduceAction19___action};
+  struct trace_t trace = {NULL, NULL, 1477, LOCATE_parser___ReduceAction19___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -3631,6 +3684,7 @@ void parser___ReduceAction19___action(val_t  self, val_t  param0) {
   val_t variable15;
   val_t variable16;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -3698,15 +3752,16 @@ void parser___ReduceAction19___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction19___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 1527, LOCATE_parser___ReduceAction19___init};
+  struct trace_t trace = {NULL, NULL, 1527, LOCATE_parser___ReduceAction19___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction19].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction19].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction20___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 1531, LOCATE_parser___ReduceAction20___action};
+  struct trace_t trace = {NULL, NULL, 1531, LOCATE_parser___ReduceAction20___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -3723,6 +3778,7 @@ void parser___ReduceAction20___action(val_t  self, val_t  param0) {
   val_t variable13;
   val_t variable14;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -3785,15 +3841,16 @@ void parser___ReduceAction20___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction20___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 1578, LOCATE_parser___ReduceAction20___init};
+  struct trace_t trace = {NULL, NULL, 1578, LOCATE_parser___ReduceAction20___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction20].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction20].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction21___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 1582, LOCATE_parser___ReduceAction21___action};
+  struct trace_t trace = {NULL, NULL, 1582, LOCATE_parser___ReduceAction21___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -3812,6 +3869,7 @@ void parser___ReduceAction21___action(val_t  self, val_t  param0) {
   val_t variable15;
   val_t variable16;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -3888,15 +3946,16 @@ void parser___ReduceAction21___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction21___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 1639, LOCATE_parser___ReduceAction21___init};
+  struct trace_t trace = {NULL, NULL, 1639, LOCATE_parser___ReduceAction21___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction21].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction21].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction22___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 1643, LOCATE_parser___ReduceAction22___action};
+  struct trace_t trace = {NULL, NULL, 1643, LOCATE_parser___ReduceAction22___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -3915,6 +3974,7 @@ void parser___ReduceAction22___action(val_t  self, val_t  param0) {
   val_t variable15;
   val_t variable16;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -3982,15 +4042,16 @@ void parser___ReduceAction22___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction22___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 1693, LOCATE_parser___ReduceAction22___init};
+  struct trace_t trace = {NULL, NULL, 1693, LOCATE_parser___ReduceAction22___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction22].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction22].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction23___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 1697, LOCATE_parser___ReduceAction23___action};
+  struct trace_t trace = {NULL, NULL, 1697, LOCATE_parser___ReduceAction23___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -4011,6 +4072,7 @@ void parser___ReduceAction23___action(val_t  self, val_t  param0) {
   val_t variable17;
   val_t variable18;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -4092,15 +4154,16 @@ void parser___ReduceAction23___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction23___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 1757, LOCATE_parser___ReduceAction23___init};
+  struct trace_t trace = {NULL, NULL, 1757, LOCATE_parser___ReduceAction23___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction23].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction23].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction24___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 1761, LOCATE_parser___ReduceAction24___action};
+  struct trace_t trace = {NULL, NULL, 1761, LOCATE_parser___ReduceAction24___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -4110,6 +4173,7 @@ void parser___ReduceAction24___action(val_t  self, val_t  param0) {
   val_t variable6;
   val_t variable7;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -4134,15 +4198,16 @@ void parser___ReduceAction24___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction24___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 1780, LOCATE_parser___ReduceAction24___init};
+  struct trace_t trace = {NULL, NULL, 1780, LOCATE_parser___ReduceAction24___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction24].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction24].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction25___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 1784, LOCATE_parser___ReduceAction25___action};
+  struct trace_t trace = {NULL, NULL, 1784, LOCATE_parser___ReduceAction25___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -4154,6 +4219,7 @@ void parser___ReduceAction25___action(val_t  self, val_t  param0) {
   val_t variable8;
   val_t variable9;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -4183,15 +4249,16 @@ void parser___ReduceAction25___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction25___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 1806, LOCATE_parser___ReduceAction25___init};
+  struct trace_t trace = {NULL, NULL, 1806, LOCATE_parser___ReduceAction25___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction25].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction25].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction26___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 1810, LOCATE_parser___ReduceAction26___action};
+  struct trace_t trace = {NULL, NULL, 1810, LOCATE_parser___ReduceAction26___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -4203,6 +4270,7 @@ void parser___ReduceAction26___action(val_t  self, val_t  param0) {
   val_t variable8;
   val_t variable9;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -4241,15 +4309,16 @@ void parser___ReduceAction26___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction26___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 1839, LOCATE_parser___ReduceAction26___init};
+  struct trace_t trace = {NULL, NULL, 1839, LOCATE_parser___ReduceAction26___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction26].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction26].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction27___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 1843, LOCATE_parser___ReduceAction27___action};
+  struct trace_t trace = {NULL, NULL, 1843, LOCATE_parser___ReduceAction27___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -4263,6 +4332,7 @@ void parser___ReduceAction27___action(val_t  self, val_t  param0) {
   val_t variable10;
   val_t variable11;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -4306,15 +4376,16 @@ void parser___ReduceAction27___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction27___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 1875, LOCATE_parser___ReduceAction27___init};
+  struct trace_t trace = {NULL, NULL, 1875, LOCATE_parser___ReduceAction27___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction27].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction27].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction28___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 1879, LOCATE_parser___ReduceAction28___action};
+  struct trace_t trace = {NULL, NULL, 1879, LOCATE_parser___ReduceAction28___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -4326,6 +4397,7 @@ void parser___ReduceAction28___action(val_t  self, val_t  param0) {
   val_t variable8;
   val_t variable9;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -4364,15 +4436,16 @@ void parser___ReduceAction28___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction28___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 1908, LOCATE_parser___ReduceAction28___init};
+  struct trace_t trace = {NULL, NULL, 1908, LOCATE_parser___ReduceAction28___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction28].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction28].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction29___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 1912, LOCATE_parser___ReduceAction29___action};
+  struct trace_t trace = {NULL, NULL, 1912, LOCATE_parser___ReduceAction29___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -4386,6 +4459,7 @@ void parser___ReduceAction29___action(val_t  self, val_t  param0) {
   val_t variable10;
   val_t variable11;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -4429,15 +4503,16 @@ void parser___ReduceAction29___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction29___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 1944, LOCATE_parser___ReduceAction29___init};
+  struct trace_t trace = {NULL, NULL, 1944, LOCATE_parser___ReduceAction29___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction29].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction29].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction30___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 1948, LOCATE_parser___ReduceAction30___action};
+  struct trace_t trace = {NULL, NULL, 1948, LOCATE_parser___ReduceAction30___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -4451,6 +4526,7 @@ void parser___ReduceAction30___action(val_t  self, val_t  param0) {
   val_t variable10;
   val_t variable11;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -4503,15 +4579,16 @@ void parser___ReduceAction30___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction30___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 1987, LOCATE_parser___ReduceAction30___init};
+  struct trace_t trace = {NULL, NULL, 1987, LOCATE_parser___ReduceAction30___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction30].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction30].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction31___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 1991, LOCATE_parser___ReduceAction31___action};
+  struct trace_t trace = {NULL, NULL, 1991, LOCATE_parser___ReduceAction31___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -4527,6 +4604,7 @@ void parser___ReduceAction31___action(val_t  self, val_t  param0) {
   val_t variable12;
   val_t variable13;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -4584,15 +4662,16 @@ void parser___ReduceAction31___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction31___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 2033, LOCATE_parser___ReduceAction31___init};
+  struct trace_t trace = {NULL, NULL, 2033, LOCATE_parser___ReduceAction31___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction31].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction31].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction32___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 2037, LOCATE_parser___ReduceAction32___action};
+  struct trace_t trace = {NULL, NULL, 2037, LOCATE_parser___ReduceAction32___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -4607,6 +4686,7 @@ void parser___ReduceAction32___action(val_t  self, val_t  param0) {
   val_t variable11;
   val_t variable12;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -4650,15 +4730,16 @@ void parser___ReduceAction32___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction32___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 2070, LOCATE_parser___ReduceAction32___init};
+  struct trace_t trace = {NULL, NULL, 2070, LOCATE_parser___ReduceAction32___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction32].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction32].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction33___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 2074, LOCATE_parser___ReduceAction33___action};
+  struct trace_t trace = {NULL, NULL, 2074, LOCATE_parser___ReduceAction33___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -4675,6 +4756,7 @@ void parser___ReduceAction33___action(val_t  self, val_t  param0) {
   val_t variable13;
   val_t variable14;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -4732,15 +4814,16 @@ void parser___ReduceAction33___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction33___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 2117, LOCATE_parser___ReduceAction33___init};
+  struct trace_t trace = {NULL, NULL, 2117, LOCATE_parser___ReduceAction33___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction33].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction33].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction34___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 2121, LOCATE_parser___ReduceAction34___action};
+  struct trace_t trace = {NULL, NULL, 2121, LOCATE_parser___ReduceAction34___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -4757,6 +4840,7 @@ void parser___ReduceAction34___action(val_t  self, val_t  param0) {
   val_t variable13;
   val_t variable14;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -4805,15 +4889,16 @@ void parser___ReduceAction34___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction34___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 2157, LOCATE_parser___ReduceAction34___init};
+  struct trace_t trace = {NULL, NULL, 2157, LOCATE_parser___ReduceAction34___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction34].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction34].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction35___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 2161, LOCATE_parser___ReduceAction35___action};
+  struct trace_t trace = {NULL, NULL, 2161, LOCATE_parser___ReduceAction35___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -4832,6 +4917,7 @@ void parser___ReduceAction35___action(val_t  self, val_t  param0) {
   val_t variable15;
   val_t variable16;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -4894,15 +4980,16 @@ void parser___ReduceAction35___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction35___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 2207, LOCATE_parser___ReduceAction35___init};
+  struct trace_t trace = {NULL, NULL, 2207, LOCATE_parser___ReduceAction35___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction35].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction35].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction36___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 2211, LOCATE_parser___ReduceAction36___action};
+  struct trace_t trace = {NULL, NULL, 2211, LOCATE_parser___ReduceAction36___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -4919,6 +5006,7 @@ void parser___ReduceAction36___action(val_t  self, val_t  param0) {
   val_t variable13;
   val_t variable14;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -4976,15 +5064,16 @@ void parser___ReduceAction36___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction36___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 2254, LOCATE_parser___ReduceAction36___init};
+  struct trace_t trace = {NULL, NULL, 2254, LOCATE_parser___ReduceAction36___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction36].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction36].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction37___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 2258, LOCATE_parser___ReduceAction37___action};
+  struct trace_t trace = {NULL, NULL, 2258, LOCATE_parser___ReduceAction37___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -5003,6 +5092,7 @@ void parser___ReduceAction37___action(val_t  self, val_t  param0) {
   val_t variable15;
   val_t variable16;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -5074,15 +5164,16 @@ void parser___ReduceAction37___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction37___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 2311, LOCATE_parser___ReduceAction37___init};
+  struct trace_t trace = {NULL, NULL, 2311, LOCATE_parser___ReduceAction37___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction37].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction37].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction38___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 2315, LOCATE_parser___ReduceAction38___action};
+  struct trace_t trace = {NULL, NULL, 2315, LOCATE_parser___ReduceAction38___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -5101,6 +5192,7 @@ void parser___ReduceAction38___action(val_t  self, val_t  param0) {
   val_t variable15;
   val_t variable16;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -5163,15 +5255,16 @@ void parser___ReduceAction38___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction38___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 2361, LOCATE_parser___ReduceAction38___init};
+  struct trace_t trace = {NULL, NULL, 2361, LOCATE_parser___ReduceAction38___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction38].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction38].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction39___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 2365, LOCATE_parser___ReduceAction39___action};
+  struct trace_t trace = {NULL, NULL, 2365, LOCATE_parser___ReduceAction39___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -5192,6 +5285,7 @@ void parser___ReduceAction39___action(val_t  self, val_t  param0) {
   val_t variable17;
   val_t variable18;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -5268,15 +5362,16 @@ void parser___ReduceAction39___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction39___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 2421, LOCATE_parser___ReduceAction39___init};
+  struct trace_t trace = {NULL, NULL, 2421, LOCATE_parser___ReduceAction39___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction39].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction39].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction40___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 2425, LOCATE_parser___ReduceAction40___action};
+  struct trace_t trace = {NULL, NULL, 2425, LOCATE_parser___ReduceAction40___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -5293,6 +5388,7 @@ void parser___ReduceAction40___action(val_t  self, val_t  param0) {
   val_t variable13;
   val_t variable14;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -5350,15 +5446,16 @@ void parser___ReduceAction40___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction40___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 2468, LOCATE_parser___ReduceAction40___init};
+  struct trace_t trace = {NULL, NULL, 2468, LOCATE_parser___ReduceAction40___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction40].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction40].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction41___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 2472, LOCATE_parser___ReduceAction41___action};
+  struct trace_t trace = {NULL, NULL, 2472, LOCATE_parser___ReduceAction41___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -5377,6 +5474,7 @@ void parser___ReduceAction41___action(val_t  self, val_t  param0) {
   val_t variable15;
   val_t variable16;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -5448,15 +5546,16 @@ void parser___ReduceAction41___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction41___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 2525, LOCATE_parser___ReduceAction41___init};
+  struct trace_t trace = {NULL, NULL, 2525, LOCATE_parser___ReduceAction41___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction41].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction41].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction42___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 2529, LOCATE_parser___ReduceAction42___action};
+  struct trace_t trace = {NULL, NULL, 2529, LOCATE_parser___ReduceAction42___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -5475,6 +5574,7 @@ void parser___ReduceAction42___action(val_t  self, val_t  param0) {
   val_t variable15;
   val_t variable16;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -5537,15 +5637,16 @@ void parser___ReduceAction42___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction42___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 2575, LOCATE_parser___ReduceAction42___init};
+  struct trace_t trace = {NULL, NULL, 2575, LOCATE_parser___ReduceAction42___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction42].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction42].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction43___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 2579, LOCATE_parser___ReduceAction43___action};
+  struct trace_t trace = {NULL, NULL, 2579, LOCATE_parser___ReduceAction43___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -5566,6 +5667,7 @@ void parser___ReduceAction43___action(val_t  self, val_t  param0) {
   val_t variable17;
   val_t variable18;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -5642,15 +5744,16 @@ void parser___ReduceAction43___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction43___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 2635, LOCATE_parser___ReduceAction43___init};
+  struct trace_t trace = {NULL, NULL, 2635, LOCATE_parser___ReduceAction43___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction43].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction43].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction44___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 2639, LOCATE_parser___ReduceAction44___action};
+  struct trace_t trace = {NULL, NULL, 2639, LOCATE_parser___ReduceAction44___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -5669,6 +5772,7 @@ void parser___ReduceAction44___action(val_t  self, val_t  param0) {
   val_t variable15;
   val_t variable16;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -5740,15 +5844,16 @@ void parser___ReduceAction44___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction44___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 2692, LOCATE_parser___ReduceAction44___init};
+  struct trace_t trace = {NULL, NULL, 2692, LOCATE_parser___ReduceAction44___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction44].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction44].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction45___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 2696, LOCATE_parser___ReduceAction45___action};
+  struct trace_t trace = {NULL, NULL, 2696, LOCATE_parser___ReduceAction45___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -5769,6 +5874,7 @@ void parser___ReduceAction45___action(val_t  self, val_t  param0) {
   val_t variable17;
   val_t variable18;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -5854,15 +5960,16 @@ void parser___ReduceAction45___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction45___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 2759, LOCATE_parser___ReduceAction45___init};
+  struct trace_t trace = {NULL, NULL, 2759, LOCATE_parser___ReduceAction45___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction45].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction45].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction46___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 2763, LOCATE_parser___ReduceAction46___action};
+  struct trace_t trace = {NULL, NULL, 2763, LOCATE_parser___ReduceAction46___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -5883,6 +5990,7 @@ void parser___ReduceAction46___action(val_t  self, val_t  param0) {
   val_t variable17;
   val_t variable18;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -5959,15 +6067,16 @@ void parser___ReduceAction46___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction46___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 2819, LOCATE_parser___ReduceAction46___init};
+  struct trace_t trace = {NULL, NULL, 2819, LOCATE_parser___ReduceAction46___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction46].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction46].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction47___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 2823, LOCATE_parser___ReduceAction47___action};
+  struct trace_t trace = {NULL, NULL, 2823, LOCATE_parser___ReduceAction47___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -5990,6 +6099,7 @@ void parser___ReduceAction47___action(val_t  self, val_t  param0) {
   val_t variable19;
   val_t variable20;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -6080,15 +6190,16 @@ void parser___ReduceAction47___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction47___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 2889, LOCATE_parser___ReduceAction47___init};
+  struct trace_t trace = {NULL, NULL, 2889, LOCATE_parser___ReduceAction47___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction47].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction47].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction48___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 2893, LOCATE_parser___ReduceAction48___action};
+  struct trace_t trace = {NULL, NULL, 2893, LOCATE_parser___ReduceAction48___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -6102,6 +6213,7 @@ void parser___ReduceAction48___action(val_t  self, val_t  param0) {
   val_t variable10;
   val_t variable11;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -6132,15 +6244,16 @@ void parser___ReduceAction48___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction48___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 2915, LOCATE_parser___ReduceAction48___init};
+  struct trace_t trace = {NULL, NULL, 2915, LOCATE_parser___ReduceAction48___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction48].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction48].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction49___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 2919, LOCATE_parser___ReduceAction49___action};
+  struct trace_t trace = {NULL, NULL, 2919, LOCATE_parser___ReduceAction49___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -6155,6 +6268,7 @@ void parser___ReduceAction49___action(val_t  self, val_t  param0) {
   val_t variable11;
   val_t variable12;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -6187,15 +6301,16 @@ void parser___ReduceAction49___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction49___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 2942, LOCATE_parser___ReduceAction49___init};
+  struct trace_t trace = {NULL, NULL, 2942, LOCATE_parser___ReduceAction49___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction49].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction49].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction50___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 2946, LOCATE_parser___ReduceAction50___action};
+  struct trace_t trace = {NULL, NULL, 2946, LOCATE_parser___ReduceAction50___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -6210,6 +6325,7 @@ void parser___ReduceAction50___action(val_t  self, val_t  param0) {
   val_t variable11;
   val_t variable12;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -6242,15 +6358,16 @@ void parser___ReduceAction50___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction50___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 2969, LOCATE_parser___ReduceAction50___init};
+  struct trace_t trace = {NULL, NULL, 2969, LOCATE_parser___ReduceAction50___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction50].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction50].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction51___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 2973, LOCATE_parser___ReduceAction51___action};
+  struct trace_t trace = {NULL, NULL, 2973, LOCATE_parser___ReduceAction51___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -6259,6 +6376,7 @@ void parser___ReduceAction51___action(val_t  self, val_t  param0) {
   val_t variable5;
   val_t variable6;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -6281,20 +6399,22 @@ void parser___ReduceAction51___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction51___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 2989, LOCATE_parser___ReduceAction51___init};
+  struct trace_t trace = {NULL, NULL, 2989, LOCATE_parser___ReduceAction51___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction51].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction51].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction52___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 2993, LOCATE_parser___ReduceAction52___action};
+  struct trace_t trace = {NULL, NULL, 2993, LOCATE_parser___ReduceAction52___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   val_t variable3;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -6306,15 +6426,16 @@ void parser___ReduceAction52___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction52___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 3000, LOCATE_parser___ReduceAction52___init};
+  struct trace_t trace = {NULL, NULL, 3000, LOCATE_parser___ReduceAction52___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction52].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction52].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction53___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 3004, LOCATE_parser___ReduceAction53___action};
+  struct trace_t trace = {NULL, NULL, 3004, LOCATE_parser___ReduceAction53___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -6326,6 +6447,7 @@ void parser___ReduceAction53___action(val_t  self, val_t  param0) {
   val_t variable8;
   val_t variable9;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -6354,15 +6476,16 @@ void parser___ReduceAction53___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction53___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 3026, LOCATE_parser___ReduceAction53___init};
+  struct trace_t trace = {NULL, NULL, 3026, LOCATE_parser___ReduceAction53___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction53].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction53].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction54___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 3030, LOCATE_parser___ReduceAction54___action};
+  struct trace_t trace = {NULL, NULL, 3030, LOCATE_parser___ReduceAction54___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -6376,6 +6499,7 @@ void parser___ReduceAction54___action(val_t  self, val_t  param0) {
   val_t variable10;
   val_t variable11;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -6418,15 +6542,16 @@ void parser___ReduceAction54___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction54___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 3062, LOCATE_parser___ReduceAction54___init};
+  struct trace_t trace = {NULL, NULL, 3062, LOCATE_parser___ReduceAction54___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction54].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction54].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction55___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 3066, LOCATE_parser___ReduceAction55___action};
+  struct trace_t trace = {NULL, NULL, 3066, LOCATE_parser___ReduceAction55___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -6446,6 +6571,7 @@ void parser___ReduceAction55___action(val_t  self, val_t  param0) {
   val_t variable16;
   val_t variable17;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -6489,15 +6615,16 @@ void parser___ReduceAction55___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction55___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 3100, LOCATE_parser___ReduceAction55___init};
+  struct trace_t trace = {NULL, NULL, 3100, LOCATE_parser___ReduceAction55___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction55].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction55].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction56___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 3104, LOCATE_parser___ReduceAction56___action};
+  struct trace_t trace = {NULL, NULL, 3104, LOCATE_parser___ReduceAction56___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -6519,6 +6646,7 @@ void parser___ReduceAction56___action(val_t  self, val_t  param0) {
   val_t variable18;
   val_t variable19;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -6567,15 +6695,16 @@ void parser___ReduceAction56___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction56___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 3141, LOCATE_parser___ReduceAction56___init};
+  struct trace_t trace = {NULL, NULL, 3141, LOCATE_parser___ReduceAction56___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction56].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction56].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction57___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 3145, LOCATE_parser___ReduceAction57___action};
+  struct trace_t trace = {NULL, NULL, 3145, LOCATE_parser___ReduceAction57___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -6597,6 +6726,7 @@ void parser___ReduceAction57___action(val_t  self, val_t  param0) {
   val_t variable18;
   val_t variable19;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -6654,15 +6784,16 @@ void parser___ReduceAction57___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction57___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 3189, LOCATE_parser___ReduceAction57___init};
+  struct trace_t trace = {NULL, NULL, 3189, LOCATE_parser___ReduceAction57___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction57].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction57].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction58___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 3193, LOCATE_parser___ReduceAction58___action};
+  struct trace_t trace = {NULL, NULL, 3193, LOCATE_parser___ReduceAction58___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -6686,6 +6817,7 @@ void parser___ReduceAction58___action(val_t  self, val_t  param0) {
   val_t variable20;
   val_t variable21;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -6748,15 +6880,16 @@ void parser___ReduceAction58___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction58___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 3240, LOCATE_parser___ReduceAction58___init};
+  struct trace_t trace = {NULL, NULL, 3240, LOCATE_parser___ReduceAction58___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction58].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction58].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction59___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 3244, LOCATE_parser___ReduceAction59___action};
+  struct trace_t trace = {NULL, NULL, 3244, LOCATE_parser___ReduceAction59___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -6778,6 +6911,7 @@ void parser___ReduceAction59___action(val_t  self, val_t  param0) {
   val_t variable18;
   val_t variable19;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -6835,15 +6969,16 @@ void parser___ReduceAction59___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction59___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 3288, LOCATE_parser___ReduceAction59___init};
+  struct trace_t trace = {NULL, NULL, 3288, LOCATE_parser___ReduceAction59___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction59].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction59].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction60___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 3292, LOCATE_parser___ReduceAction60___action};
+  struct trace_t trace = {NULL, NULL, 3292, LOCATE_parser___ReduceAction60___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -6867,6 +7002,7 @@ void parser___ReduceAction60___action(val_t  self, val_t  param0) {
   val_t variable20;
   val_t variable21;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -6929,15 +7065,16 @@ void parser___ReduceAction60___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction60___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 3339, LOCATE_parser___ReduceAction60___init};
+  struct trace_t trace = {NULL, NULL, 3339, LOCATE_parser___ReduceAction60___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction60].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction60].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction61___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 3343, LOCATE_parser___ReduceAction61___action};
+  struct trace_t trace = {NULL, NULL, 3343, LOCATE_parser___ReduceAction61___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -6961,6 +7098,7 @@ void parser___ReduceAction61___action(val_t  self, val_t  param0) {
   val_t variable20;
   val_t variable21;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -7032,15 +7170,16 @@ void parser___ReduceAction61___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction61___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 3397, LOCATE_parser___ReduceAction61___init};
+  struct trace_t trace = {NULL, NULL, 3397, LOCATE_parser___ReduceAction61___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction61].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction61].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction62___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 3401, LOCATE_parser___ReduceAction62___action};
+  struct trace_t trace = {NULL, NULL, 3401, LOCATE_parser___ReduceAction62___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -7066,6 +7205,7 @@ void parser___ReduceAction62___action(val_t  self, val_t  param0) {
   val_t variable22;
   val_t variable23;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -7142,15 +7282,16 @@ void parser___ReduceAction62___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction62___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 3458, LOCATE_parser___ReduceAction62___init};
+  struct trace_t trace = {NULL, NULL, 3458, LOCATE_parser___ReduceAction62___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction62].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction62].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction63___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 3462, LOCATE_parser___ReduceAction63___action};
+  struct trace_t trace = {NULL, NULL, 3462, LOCATE_parser___ReduceAction63___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -7173,6 +7314,7 @@ void parser___ReduceAction63___action(val_t  self, val_t  param0) {
   val_t variable19;
   val_t variable20;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -7227,15 +7369,16 @@ void parser___ReduceAction63___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction63___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 3503, LOCATE_parser___ReduceAction63___init};
+  struct trace_t trace = {NULL, NULL, 3503, LOCATE_parser___ReduceAction63___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction63].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction63].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction64___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 3507, LOCATE_parser___ReduceAction64___action};
+  struct trace_t trace = {NULL, NULL, 3507, LOCATE_parser___ReduceAction64___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -7260,6 +7403,7 @@ void parser___ReduceAction64___action(val_t  self, val_t  param0) {
   val_t variable21;
   val_t variable22;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -7328,15 +7472,16 @@ void parser___ReduceAction64___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction64___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 3558, LOCATE_parser___ReduceAction64___init};
+  struct trace_t trace = {NULL, NULL, 3558, LOCATE_parser___ReduceAction64___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction64].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction64].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction65___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 3562, LOCATE_parser___ReduceAction65___action};
+  struct trace_t trace = {NULL, NULL, 3562, LOCATE_parser___ReduceAction65___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -7361,6 +7506,7 @@ void parser___ReduceAction65___action(val_t  self, val_t  param0) {
   val_t variable21;
   val_t variable22;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -7420,15 +7566,16 @@ void parser___ReduceAction65___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction65___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 3606, LOCATE_parser___ReduceAction65___init};
+  struct trace_t trace = {NULL, NULL, 3606, LOCATE_parser___ReduceAction65___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction65].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction65].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction66___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 3610, LOCATE_parser___ReduceAction66___action};
+  struct trace_t trace = {NULL, NULL, 3610, LOCATE_parser___ReduceAction66___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -7455,6 +7602,7 @@ void parser___ReduceAction66___action(val_t  self, val_t  param0) {
   val_t variable23;
   val_t variable24;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -7528,15 +7676,16 @@ void parser___ReduceAction66___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction66___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 3664, LOCATE_parser___ReduceAction66___init};
+  struct trace_t trace = {NULL, NULL, 3664, LOCATE_parser___ReduceAction66___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction66].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction66].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction67___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 3668, LOCATE_parser___ReduceAction67___action};
+  struct trace_t trace = {NULL, NULL, 3668, LOCATE_parser___ReduceAction67___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -7561,6 +7710,7 @@ void parser___ReduceAction67___action(val_t  self, val_t  param0) {
   val_t variable21;
   val_t variable22;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -7629,15 +7779,16 @@ void parser___ReduceAction67___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction67___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 3719, LOCATE_parser___ReduceAction67___init};
+  struct trace_t trace = {NULL, NULL, 3719, LOCATE_parser___ReduceAction67___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction67].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction67].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction68___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 3723, LOCATE_parser___ReduceAction68___action};
+  struct trace_t trace = {NULL, NULL, 3723, LOCATE_parser___ReduceAction68___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -7664,6 +7815,7 @@ void parser___ReduceAction68___action(val_t  self, val_t  param0) {
   val_t variable23;
   val_t variable24;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -7746,15 +7898,16 @@ void parser___ReduceAction68___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction68___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 3784, LOCATE_parser___ReduceAction68___init};
+  struct trace_t trace = {NULL, NULL, 3784, LOCATE_parser___ReduceAction68___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction68].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction68].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction69___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 3788, LOCATE_parser___ReduceAction69___action};
+  struct trace_t trace = {NULL, NULL, 3788, LOCATE_parser___ReduceAction69___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -7781,6 +7934,7 @@ void parser___ReduceAction69___action(val_t  self, val_t  param0) {
   val_t variable23;
   val_t variable24;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -7854,15 +8008,16 @@ void parser___ReduceAction69___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction69___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 3842, LOCATE_parser___ReduceAction69___init};
+  struct trace_t trace = {NULL, NULL, 3842, LOCATE_parser___ReduceAction69___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction69].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction69].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction70___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 3846, LOCATE_parser___ReduceAction70___action};
+  struct trace_t trace = {NULL, NULL, 3846, LOCATE_parser___ReduceAction70___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -7891,6 +8046,7 @@ void parser___ReduceAction70___action(val_t  self, val_t  param0) {
   val_t variable25;
   val_t variable26;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -7978,15 +8134,16 @@ void parser___ReduceAction70___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction70___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 3910, LOCATE_parser___ReduceAction70___init};
+  struct trace_t trace = {NULL, NULL, 3910, LOCATE_parser___ReduceAction70___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction70].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction70].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction71___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 3914, LOCATE_parser___ReduceAction71___action};
+  struct trace_t trace = {NULL, NULL, 3914, LOCATE_parser___ReduceAction71___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -8011,6 +8168,7 @@ void parser___ReduceAction71___action(val_t  self, val_t  param0) {
   val_t variable21;
   val_t variable22;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -8079,15 +8237,16 @@ void parser___ReduceAction71___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction71___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 3965, LOCATE_parser___ReduceAction71___init};
+  struct trace_t trace = {NULL, NULL, 3965, LOCATE_parser___ReduceAction71___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction71].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction71].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction72___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 3969, LOCATE_parser___ReduceAction72___action};
+  struct trace_t trace = {NULL, NULL, 3969, LOCATE_parser___ReduceAction72___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -8114,6 +8273,7 @@ void parser___ReduceAction72___action(val_t  self, val_t  param0) {
   val_t variable23;
   val_t variable24;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -8196,15 +8356,16 @@ void parser___ReduceAction72___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction72___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 4030, LOCATE_parser___ReduceAction72___init};
+  struct trace_t trace = {NULL, NULL, 4030, LOCATE_parser___ReduceAction72___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction72].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction72].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction73___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 4034, LOCATE_parser___ReduceAction73___action};
+  struct trace_t trace = {NULL, NULL, 4034, LOCATE_parser___ReduceAction73___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -8231,6 +8392,7 @@ void parser___ReduceAction73___action(val_t  self, val_t  param0) {
   val_t variable23;
   val_t variable24;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -8304,15 +8466,16 @@ void parser___ReduceAction73___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction73___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 4088, LOCATE_parser___ReduceAction73___init};
+  struct trace_t trace = {NULL, NULL, 4088, LOCATE_parser___ReduceAction73___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction73].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction73].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction74___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 4092, LOCATE_parser___ReduceAction74___action};
+  struct trace_t trace = {NULL, NULL, 4092, LOCATE_parser___ReduceAction74___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -8341,6 +8504,7 @@ void parser___ReduceAction74___action(val_t  self, val_t  param0) {
   val_t variable25;
   val_t variable26;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -8428,15 +8592,16 @@ void parser___ReduceAction74___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction74___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 4156, LOCATE_parser___ReduceAction74___init};
+  struct trace_t trace = {NULL, NULL, 4156, LOCATE_parser___ReduceAction74___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction74].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction74].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction75___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 4160, LOCATE_parser___ReduceAction75___action};
+  struct trace_t trace = {NULL, NULL, 4160, LOCATE_parser___ReduceAction75___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -8463,6 +8628,7 @@ void parser___ReduceAction75___action(val_t  self, val_t  param0) {
   val_t variable23;
   val_t variable24;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -8545,15 +8711,16 @@ void parser___ReduceAction75___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction75___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 4221, LOCATE_parser___ReduceAction75___init};
+  struct trace_t trace = {NULL, NULL, 4221, LOCATE_parser___ReduceAction75___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction75].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction75].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction76___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 4225, LOCATE_parser___ReduceAction76___action};
+  struct trace_t trace = {NULL, NULL, 4225, LOCATE_parser___ReduceAction76___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -8582,6 +8749,7 @@ void parser___ReduceAction76___action(val_t  self, val_t  param0) {
   val_t variable25;
   val_t variable26;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -8678,15 +8846,16 @@ void parser___ReduceAction76___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction76___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 4296, LOCATE_parser___ReduceAction76___init};
+  struct trace_t trace = {NULL, NULL, 4296, LOCATE_parser___ReduceAction76___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction76].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction76].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction77___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 4300, LOCATE_parser___ReduceAction77___action};
+  struct trace_t trace = {NULL, NULL, 4300, LOCATE_parser___ReduceAction77___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -8715,6 +8884,7 @@ void parser___ReduceAction77___action(val_t  self, val_t  param0) {
   val_t variable25;
   val_t variable26;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -8802,15 +8972,16 @@ void parser___ReduceAction77___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction77___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 4364, LOCATE_parser___ReduceAction77___init};
+  struct trace_t trace = {NULL, NULL, 4364, LOCATE_parser___ReduceAction77___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction77].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction77].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction78___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 4368, LOCATE_parser___ReduceAction78___action};
+  struct trace_t trace = {NULL, NULL, 4368, LOCATE_parser___ReduceAction78___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -8841,6 +9012,7 @@ void parser___ReduceAction78___action(val_t  self, val_t  param0) {
   val_t variable27;
   val_t variable28;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -8942,15 +9114,16 @@ void parser___ReduceAction78___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction78___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 4442, LOCATE_parser___ReduceAction78___init};
+  struct trace_t trace = {NULL, NULL, 4442, LOCATE_parser___ReduceAction78___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction78].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction78].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction79___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 4446, LOCATE_parser___ReduceAction79___action};
+  struct trace_t trace = {NULL, NULL, 4446, LOCATE_parser___ReduceAction79___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -8958,6 +9131,7 @@ void parser___ReduceAction79___action(val_t  self, val_t  param0) {
   val_t variable4;
   val_t variable5;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -8974,15 +9148,16 @@ void parser___ReduceAction79___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction79___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 4458, LOCATE_parser___ReduceAction79___init};
+  struct trace_t trace = {NULL, NULL, 4458, LOCATE_parser___ReduceAction79___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction79].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction79].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction80___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 4462, LOCATE_parser___ReduceAction80___action};
+  struct trace_t trace = {NULL, NULL, 4462, LOCATE_parser___ReduceAction80___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -8992,6 +9167,7 @@ void parser___ReduceAction80___action(val_t  self, val_t  param0) {
   val_t variable6;
   val_t variable7;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -9013,15 +9189,16 @@ void parser___ReduceAction80___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction80___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 4478, LOCATE_parser___ReduceAction80___init};
+  struct trace_t trace = {NULL, NULL, 4478, LOCATE_parser___ReduceAction80___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction80].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction80].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction81___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 4482, LOCATE_parser___ReduceAction81___action};
+  struct trace_t trace = {NULL, NULL, 4482, LOCATE_parser___ReduceAction81___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -9029,6 +9206,7 @@ void parser___ReduceAction81___action(val_t  self, val_t  param0) {
   val_t variable4;
   val_t variable5;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -9045,15 +9223,16 @@ void parser___ReduceAction81___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction81___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 4494, LOCATE_parser___ReduceAction81___init};
+  struct trace_t trace = {NULL, NULL, 4494, LOCATE_parser___ReduceAction81___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction81].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction81].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction82___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 4498, LOCATE_parser___ReduceAction82___action};
+  struct trace_t trace = {NULL, NULL, 4498, LOCATE_parser___ReduceAction82___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -9061,6 +9240,7 @@ void parser___ReduceAction82___action(val_t  self, val_t  param0) {
   val_t variable4;
   val_t variable5;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -9077,15 +9257,16 @@ void parser___ReduceAction82___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction82___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 4510, LOCATE_parser___ReduceAction82___init};
+  struct trace_t trace = {NULL, NULL, 4510, LOCATE_parser___ReduceAction82___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction82].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction82].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction83___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 4514, LOCATE_parser___ReduceAction83___action};
+  struct trace_t trace = {NULL, NULL, 4514, LOCATE_parser___ReduceAction83___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -9097,6 +9278,7 @@ void parser___ReduceAction83___action(val_t  self, val_t  param0) {
   val_t variable8;
   val_t variable9;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -9125,15 +9307,16 @@ void parser___ReduceAction83___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction83___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 4531, LOCATE_parser___ReduceAction83___init};
+  struct trace_t trace = {NULL, NULL, 4531, LOCATE_parser___ReduceAction83___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction83].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction83].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction84___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 4535, LOCATE_parser___ReduceAction84___action};
+  struct trace_t trace = {NULL, NULL, 4535, LOCATE_parser___ReduceAction84___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -9147,6 +9330,7 @@ void parser___ReduceAction84___action(val_t  self, val_t  param0) {
   val_t variable10;
   val_t variable11;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -9189,15 +9373,16 @@ void parser___ReduceAction84___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction84___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 4562, LOCATE_parser___ReduceAction84___init};
+  struct trace_t trace = {NULL, NULL, 4562, LOCATE_parser___ReduceAction84___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction84].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction84].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction85___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 4566, LOCATE_parser___ReduceAction85___action};
+  struct trace_t trace = {NULL, NULL, 4566, LOCATE_parser___ReduceAction85___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -9206,6 +9391,7 @@ void parser___ReduceAction85___action(val_t  self, val_t  param0) {
   val_t variable5;
   val_t variable6;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -9224,15 +9410,16 @@ void parser___ReduceAction85___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction85___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 4577, LOCATE_parser___ReduceAction85___init};
+  struct trace_t trace = {NULL, NULL, 4577, LOCATE_parser___ReduceAction85___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction85].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction85].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction86___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 4581, LOCATE_parser___ReduceAction86___action};
+  struct trace_t trace = {NULL, NULL, 4581, LOCATE_parser___ReduceAction86___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -9240,6 +9427,7 @@ void parser___ReduceAction86___action(val_t  self, val_t  param0) {
   val_t variable4;
   val_t variable5;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -9256,15 +9444,16 @@ void parser___ReduceAction86___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction86___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 4594, LOCATE_parser___ReduceAction86___init};
+  struct trace_t trace = {NULL, NULL, 4594, LOCATE_parser___ReduceAction86___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction86].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction86].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction87___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 4598, LOCATE_parser___ReduceAction87___action};
+  struct trace_t trace = {NULL, NULL, 4598, LOCATE_parser___ReduceAction87___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -9274,6 +9463,7 @@ void parser___ReduceAction87___action(val_t  self, val_t  param0) {
   val_t variable6;
   val_t variable7;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -9295,15 +9485,16 @@ void parser___ReduceAction87___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction87___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 4614, LOCATE_parser___ReduceAction87___init};
+  struct trace_t trace = {NULL, NULL, 4614, LOCATE_parser___ReduceAction87___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction87].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction87].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction88___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 4618, LOCATE_parser___ReduceAction88___action};
+  struct trace_t trace = {NULL, NULL, 4618, LOCATE_parser___ReduceAction88___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -9315,6 +9506,7 @@ void parser___ReduceAction88___action(val_t  self, val_t  param0) {
   val_t variable8;
   val_t variable9;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -9340,15 +9532,16 @@ void parser___ReduceAction88___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction88___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 4636, LOCATE_parser___ReduceAction88___init};
+  struct trace_t trace = {NULL, NULL, 4636, LOCATE_parser___ReduceAction88___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction88].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction88].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction89___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 4640, LOCATE_parser___ReduceAction89___action};
+  struct trace_t trace = {NULL, NULL, 4640, LOCATE_parser___ReduceAction89___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -9356,6 +9549,7 @@ void parser___ReduceAction89___action(val_t  self, val_t  param0) {
   val_t variable4;
   val_t variable5;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -9372,15 +9566,16 @@ void parser___ReduceAction89___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction89___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 4650, LOCATE_parser___ReduceAction89___init};
+  struct trace_t trace = {NULL, NULL, 4650, LOCATE_parser___ReduceAction89___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction89].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction89].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction90___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 4654, LOCATE_parser___ReduceAction90___action};
+  struct trace_t trace = {NULL, NULL, 4654, LOCATE_parser___ReduceAction90___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -9400,6 +9595,7 @@ void parser___ReduceAction90___action(val_t  self, val_t  param0) {
   val_t variable16;
   val_t variable17;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -9445,15 +9641,16 @@ void parser___ReduceAction90___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction90___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 4697, LOCATE_parser___ReduceAction90___init};
+  struct trace_t trace = {NULL, NULL, 4697, LOCATE_parser___ReduceAction90___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction90].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction90].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction91___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 4701, LOCATE_parser___ReduceAction91___action};
+  struct trace_t trace = {NULL, NULL, 4701, LOCATE_parser___ReduceAction91___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -9475,6 +9672,7 @@ void parser___ReduceAction91___action(val_t  self, val_t  param0) {
   val_t variable18;
   val_t variable19;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -9525,15 +9723,16 @@ void parser___ReduceAction91___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction91___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 4747, LOCATE_parser___ReduceAction91___init};
+  struct trace_t trace = {NULL, NULL, 4747, LOCATE_parser___ReduceAction91___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction91].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction91].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction92___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 4751, LOCATE_parser___ReduceAction92___action};
+  struct trace_t trace = {NULL, NULL, 4751, LOCATE_parser___ReduceAction92___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -9550,6 +9749,7 @@ void parser___ReduceAction92___action(val_t  self, val_t  param0) {
   val_t variable13;
   val_t variable14;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -9588,15 +9788,16 @@ void parser___ReduceAction92___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction92___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 4787, LOCATE_parser___ReduceAction92___init};
+  struct trace_t trace = {NULL, NULL, 4787, LOCATE_parser___ReduceAction92___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction92].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction92].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction93___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 4791, LOCATE_parser___ReduceAction93___action};
+  struct trace_t trace = {NULL, NULL, 4791, LOCATE_parser___ReduceAction93___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -9618,6 +9819,7 @@ void parser___ReduceAction93___action(val_t  self, val_t  param0) {
   val_t variable18;
   val_t variable19;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -9668,15 +9870,16 @@ void parser___ReduceAction93___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction93___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 4837, LOCATE_parser___ReduceAction93___init};
+  struct trace_t trace = {NULL, NULL, 4837, LOCATE_parser___ReduceAction93___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction93].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction93].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction94___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 4841, LOCATE_parser___ReduceAction94___action};
+  struct trace_t trace = {NULL, NULL, 4841, LOCATE_parser___ReduceAction94___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -9700,6 +9903,7 @@ void parser___ReduceAction94___action(val_t  self, val_t  param0) {
   val_t variable20;
   val_t variable21;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -9755,15 +9959,16 @@ void parser___ReduceAction94___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction94___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 4890, LOCATE_parser___ReduceAction94___init};
+  struct trace_t trace = {NULL, NULL, 4890, LOCATE_parser___ReduceAction94___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction94].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction94].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction95___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 4894, LOCATE_parser___ReduceAction95___action};
+  struct trace_t trace = {NULL, NULL, 4894, LOCATE_parser___ReduceAction95___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -9782,6 +9987,7 @@ void parser___ReduceAction95___action(val_t  self, val_t  param0) {
   val_t variable15;
   val_t variable16;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -9825,15 +10031,16 @@ void parser___ReduceAction95___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction95___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 4933, LOCATE_parser___ReduceAction95___init};
+  struct trace_t trace = {NULL, NULL, 4933, LOCATE_parser___ReduceAction95___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction95].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction95].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction96___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 4937, LOCATE_parser___ReduceAction96___action};
+  struct trace_t trace = {NULL, NULL, 4937, LOCATE_parser___ReduceAction96___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -9850,6 +10057,7 @@ void parser___ReduceAction96___action(val_t  self, val_t  param0) {
   val_t variable13;
   val_t variable14;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -9888,15 +10096,16 @@ void parser___ReduceAction96___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction96___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 4973, LOCATE_parser___ReduceAction96___init};
+  struct trace_t trace = {NULL, NULL, 4973, LOCATE_parser___ReduceAction96___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction96].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction96].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction97___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 4977, LOCATE_parser___ReduceAction97___action};
+  struct trace_t trace = {NULL, NULL, 4977, LOCATE_parser___ReduceAction97___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -9915,6 +10124,7 @@ void parser___ReduceAction97___action(val_t  self, val_t  param0) {
   val_t variable15;
   val_t variable16;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -9958,15 +10168,16 @@ void parser___ReduceAction97___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction97___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 5016, LOCATE_parser___ReduceAction97___init};
+  struct trace_t trace = {NULL, NULL, 5016, LOCATE_parser___ReduceAction97___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction97].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction97].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction98___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 5020, LOCATE_parser___ReduceAction98___action};
+  struct trace_t trace = {NULL, NULL, 5020, LOCATE_parser___ReduceAction98___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -9980,6 +10191,7 @@ void parser___ReduceAction98___action(val_t  self, val_t  param0) {
   val_t variable10;
   val_t variable11;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -10011,15 +10223,16 @@ void parser___ReduceAction98___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction98___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 5049, LOCATE_parser___ReduceAction98___init};
+  struct trace_t trace = {NULL, NULL, 5049, LOCATE_parser___ReduceAction98___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction98].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction98].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction99___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 5053, LOCATE_parser___ReduceAction99___action};
+  struct trace_t trace = {NULL, NULL, 5053, LOCATE_parser___ReduceAction99___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -10041,6 +10254,7 @@ void parser___ReduceAction99___action(val_t  self, val_t  param0) {
   val_t variable18;
   val_t variable19;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -10091,15 +10305,16 @@ void parser___ReduceAction99___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction99___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 5099, LOCATE_parser___ReduceAction99___init};
+  struct trace_t trace = {NULL, NULL, 5099, LOCATE_parser___ReduceAction99___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction99].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction99].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction100___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 5103, LOCATE_parser___ReduceAction100___action};
+  struct trace_t trace = {NULL, NULL, 5103, LOCATE_parser___ReduceAction100___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -10123,6 +10338,7 @@ void parser___ReduceAction100___action(val_t  self, val_t  param0) {
   val_t variable20;
   val_t variable21;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -10178,15 +10394,16 @@ void parser___ReduceAction100___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction100___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 5152, LOCATE_parser___ReduceAction100___init};
+  struct trace_t trace = {NULL, NULL, 5152, LOCATE_parser___ReduceAction100___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction100].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction100].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction101___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 5156, LOCATE_parser___ReduceAction101___action};
+  struct trace_t trace = {NULL, NULL, 5156, LOCATE_parser___ReduceAction101___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -10205,6 +10422,7 @@ void parser___ReduceAction101___action(val_t  self, val_t  param0) {
   val_t variable15;
   val_t variable16;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -10248,15 +10466,16 @@ void parser___ReduceAction101___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction101___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 5195, LOCATE_parser___ReduceAction101___init};
+  struct trace_t trace = {NULL, NULL, 5195, LOCATE_parser___ReduceAction101___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction101].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction101].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction102___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 5199, LOCATE_parser___ReduceAction102___action};
+  struct trace_t trace = {NULL, NULL, 5199, LOCATE_parser___ReduceAction102___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -10280,6 +10499,7 @@ void parser___ReduceAction102___action(val_t  self, val_t  param0) {
   val_t variable20;
   val_t variable21;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -10335,15 +10555,16 @@ void parser___ReduceAction102___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction102___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 5248, LOCATE_parser___ReduceAction102___init};
+  struct trace_t trace = {NULL, NULL, 5248, LOCATE_parser___ReduceAction102___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction102].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction102].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction103___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 5252, LOCATE_parser___ReduceAction103___action};
+  struct trace_t trace = {NULL, NULL, 5252, LOCATE_parser___ReduceAction103___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -10369,6 +10590,7 @@ void parser___ReduceAction103___action(val_t  self, val_t  param0) {
   val_t variable22;
   val_t variable23;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -10429,15 +10651,16 @@ void parser___ReduceAction103___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction103___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 5304, LOCATE_parser___ReduceAction103___init};
+  struct trace_t trace = {NULL, NULL, 5304, LOCATE_parser___ReduceAction103___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction103].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction103].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction104___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 5308, LOCATE_parser___ReduceAction104___action};
+  struct trace_t trace = {NULL, NULL, 5308, LOCATE_parser___ReduceAction104___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -10458,6 +10681,7 @@ void parser___ReduceAction104___action(val_t  self, val_t  param0) {
   val_t variable17;
   val_t variable18;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -10506,15 +10730,16 @@ void parser___ReduceAction104___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction104___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 5350, LOCATE_parser___ReduceAction104___init};
+  struct trace_t trace = {NULL, NULL, 5350, LOCATE_parser___ReduceAction104___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction104].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction104].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction105___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 5354, LOCATE_parser___ReduceAction105___action};
+  struct trace_t trace = {NULL, NULL, 5354, LOCATE_parser___ReduceAction105___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -10533,6 +10758,7 @@ void parser___ReduceAction105___action(val_t  self, val_t  param0) {
   val_t variable15;
   val_t variable16;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -10576,15 +10802,16 @@ void parser___ReduceAction105___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction105___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 5393, LOCATE_parser___ReduceAction105___init};
+  struct trace_t trace = {NULL, NULL, 5393, LOCATE_parser___ReduceAction105___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction105].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction105].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction106___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 5397, LOCATE_parser___ReduceAction106___action};
+  struct trace_t trace = {NULL, NULL, 5397, LOCATE_parser___ReduceAction106___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -10605,6 +10832,7 @@ void parser___ReduceAction106___action(val_t  self, val_t  param0) {
   val_t variable17;
   val_t variable18;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -10653,15 +10881,16 @@ void parser___ReduceAction106___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction106___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 5439, LOCATE_parser___ReduceAction106___init};
+  struct trace_t trace = {NULL, NULL, 5439, LOCATE_parser___ReduceAction106___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction106].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction106].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction107___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 5443, LOCATE_parser___ReduceAction107___action};
+  struct trace_t trace = {NULL, NULL, 5443, LOCATE_parser___ReduceAction107___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -10677,6 +10906,7 @@ void parser___ReduceAction107___action(val_t  self, val_t  param0) {
   val_t variable12;
   val_t variable13;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -10713,15 +10943,16 @@ void parser___ReduceAction107___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction107___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 5475, LOCATE_parser___ReduceAction107___init};
+  struct trace_t trace = {NULL, NULL, 5475, LOCATE_parser___ReduceAction107___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction107].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction107].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction108___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 5479, LOCATE_parser___ReduceAction108___action};
+  struct trace_t trace = {NULL, NULL, 5479, LOCATE_parser___ReduceAction108___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -10743,6 +10974,7 @@ void parser___ReduceAction108___action(val_t  self, val_t  param0) {
   val_t variable18;
   val_t variable19;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -10793,15 +11025,16 @@ void parser___ReduceAction108___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction108___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 5525, LOCATE_parser___ReduceAction108___init};
+  struct trace_t trace = {NULL, NULL, 5525, LOCATE_parser___ReduceAction108___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction108].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction108].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction109___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 5529, LOCATE_parser___ReduceAction109___action};
+  struct trace_t trace = {NULL, NULL, 5529, LOCATE_parser___ReduceAction109___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -10825,6 +11058,7 @@ void parser___ReduceAction109___action(val_t  self, val_t  param0) {
   val_t variable20;
   val_t variable21;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -10880,15 +11114,16 @@ void parser___ReduceAction109___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction109___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 5578, LOCATE_parser___ReduceAction109___init};
+  struct trace_t trace = {NULL, NULL, 5578, LOCATE_parser___ReduceAction109___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction109].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction109].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction110___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 5582, LOCATE_parser___ReduceAction110___action};
+  struct trace_t trace = {NULL, NULL, 5582, LOCATE_parser___ReduceAction110___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -10907,6 +11142,7 @@ void parser___ReduceAction110___action(val_t  self, val_t  param0) {
   val_t variable15;
   val_t variable16;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -10950,15 +11186,16 @@ void parser___ReduceAction110___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction110___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 5621, LOCATE_parser___ReduceAction110___init};
+  struct trace_t trace = {NULL, NULL, 5621, LOCATE_parser___ReduceAction110___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction110].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction110].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction111___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 5625, LOCATE_parser___ReduceAction111___action};
+  struct trace_t trace = {NULL, NULL, 5625, LOCATE_parser___ReduceAction111___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -10982,6 +11219,7 @@ void parser___ReduceAction111___action(val_t  self, val_t  param0) {
   val_t variable20;
   val_t variable21;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -11037,15 +11275,16 @@ void parser___ReduceAction111___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction111___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 5674, LOCATE_parser___ReduceAction111___init};
+  struct trace_t trace = {NULL, NULL, 5674, LOCATE_parser___ReduceAction111___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction111].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction111].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction112___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 5678, LOCATE_parser___ReduceAction112___action};
+  struct trace_t trace = {NULL, NULL, 5678, LOCATE_parser___ReduceAction112___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -11071,6 +11310,7 @@ void parser___ReduceAction112___action(val_t  self, val_t  param0) {
   val_t variable22;
   val_t variable23;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -11131,15 +11371,16 @@ void parser___ReduceAction112___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction112___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 5730, LOCATE_parser___ReduceAction112___init};
+  struct trace_t trace = {NULL, NULL, 5730, LOCATE_parser___ReduceAction112___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction112].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction112].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction113___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 5734, LOCATE_parser___ReduceAction113___action};
+  struct trace_t trace = {NULL, NULL, 5734, LOCATE_parser___ReduceAction113___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -11160,6 +11401,7 @@ void parser___ReduceAction113___action(val_t  self, val_t  param0) {
   val_t variable17;
   val_t variable18;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -11208,15 +11450,16 @@ void parser___ReduceAction113___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction113___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 5776, LOCATE_parser___ReduceAction113___init};
+  struct trace_t trace = {NULL, NULL, 5776, LOCATE_parser___ReduceAction113___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction113].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction113].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction114___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 5780, LOCATE_parser___ReduceAction114___action};
+  struct trace_t trace = {NULL, NULL, 5780, LOCATE_parser___ReduceAction114___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -11235,6 +11478,7 @@ void parser___ReduceAction114___action(val_t  self, val_t  param0) {
   val_t variable15;
   val_t variable16;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -11278,15 +11522,16 @@ void parser___ReduceAction114___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction114___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 5819, LOCATE_parser___ReduceAction114___init};
+  struct trace_t trace = {NULL, NULL, 5819, LOCATE_parser___ReduceAction114___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction114].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction114].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction115___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 5823, LOCATE_parser___ReduceAction115___action};
+  struct trace_t trace = {NULL, NULL, 5823, LOCATE_parser___ReduceAction115___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -11307,6 +11552,7 @@ void parser___ReduceAction115___action(val_t  self, val_t  param0) {
   val_t variable17;
   val_t variable18;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -11355,15 +11601,16 @@ void parser___ReduceAction115___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction115___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 5865, LOCATE_parser___ReduceAction115___init};
+  struct trace_t trace = {NULL, NULL, 5865, LOCATE_parser___ReduceAction115___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction115].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction115].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction116___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 5869, LOCATE_parser___ReduceAction116___action};
+  struct trace_t trace = {NULL, NULL, 5869, LOCATE_parser___ReduceAction116___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -11379,6 +11626,7 @@ void parser___ReduceAction116___action(val_t  self, val_t  param0) {
   val_t variable12;
   val_t variable13;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -11415,15 +11663,16 @@ void parser___ReduceAction116___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction116___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 5901, LOCATE_parser___ReduceAction116___init};
+  struct trace_t trace = {NULL, NULL, 5901, LOCATE_parser___ReduceAction116___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction116].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction116].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction117___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 5905, LOCATE_parser___ReduceAction117___action};
+  struct trace_t trace = {NULL, NULL, 5905, LOCATE_parser___ReduceAction117___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -11447,6 +11696,7 @@ void parser___ReduceAction117___action(val_t  self, val_t  param0) {
   val_t variable20;
   val_t variable21;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -11502,15 +11752,16 @@ void parser___ReduceAction117___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction117___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 5954, LOCATE_parser___ReduceAction117___init};
+  struct trace_t trace = {NULL, NULL, 5954, LOCATE_parser___ReduceAction117___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction117].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction117].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction118___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 5958, LOCATE_parser___ReduceAction118___action};
+  struct trace_t trace = {NULL, NULL, 5958, LOCATE_parser___ReduceAction118___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -11536,6 +11787,7 @@ void parser___ReduceAction118___action(val_t  self, val_t  param0) {
   val_t variable22;
   val_t variable23;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -11596,15 +11848,16 @@ void parser___ReduceAction118___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction118___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 6010, LOCATE_parser___ReduceAction118___init};
+  struct trace_t trace = {NULL, NULL, 6010, LOCATE_parser___ReduceAction118___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction118].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction118].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction119___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 6014, LOCATE_parser___ReduceAction119___action};
+  struct trace_t trace = {NULL, NULL, 6014, LOCATE_parser___ReduceAction119___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -11625,6 +11878,7 @@ void parser___ReduceAction119___action(val_t  self, val_t  param0) {
   val_t variable17;
   val_t variable18;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -11673,15 +11927,16 @@ void parser___ReduceAction119___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction119___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 6056, LOCATE_parser___ReduceAction119___init};
+  struct trace_t trace = {NULL, NULL, 6056, LOCATE_parser___ReduceAction119___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction119].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction119].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction120___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 6060, LOCATE_parser___ReduceAction120___action};
+  struct trace_t trace = {NULL, NULL, 6060, LOCATE_parser___ReduceAction120___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -11707,6 +11962,7 @@ void parser___ReduceAction120___action(val_t  self, val_t  param0) {
   val_t variable22;
   val_t variable23;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -11767,15 +12023,16 @@ void parser___ReduceAction120___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction120___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 6112, LOCATE_parser___ReduceAction120___init};
+  struct trace_t trace = {NULL, NULL, 6112, LOCATE_parser___ReduceAction120___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction120].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction120].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction121___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 6116, LOCATE_parser___ReduceAction121___action};
+  struct trace_t trace = {NULL, NULL, 6116, LOCATE_parser___ReduceAction121___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -11803,6 +12060,7 @@ void parser___ReduceAction121___action(val_t  self, val_t  param0) {
   val_t variable24;
   val_t variable25;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -11868,15 +12126,16 @@ void parser___ReduceAction121___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction121___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 6171, LOCATE_parser___ReduceAction121___init};
+  struct trace_t trace = {NULL, NULL, 6171, LOCATE_parser___ReduceAction121___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction121].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction121].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction122___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 6175, LOCATE_parser___ReduceAction122___action};
+  struct trace_t trace = {NULL, NULL, 6175, LOCATE_parser___ReduceAction122___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -11899,6 +12158,7 @@ void parser___ReduceAction122___action(val_t  self, val_t  param0) {
   val_t variable19;
   val_t variable20;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -11952,15 +12212,16 @@ void parser___ReduceAction122___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction122___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 6220, LOCATE_parser___ReduceAction122___init};
+  struct trace_t trace = {NULL, NULL, 6220, LOCATE_parser___ReduceAction122___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction122].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction122].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction123___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 6224, LOCATE_parser___ReduceAction123___action};
+  struct trace_t trace = {NULL, NULL, 6224, LOCATE_parser___ReduceAction123___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -11981,6 +12242,7 @@ void parser___ReduceAction123___action(val_t  self, val_t  param0) {
   val_t variable17;
   val_t variable18;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -12029,15 +12291,16 @@ void parser___ReduceAction123___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction123___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 6266, LOCATE_parser___ReduceAction123___init};
+  struct trace_t trace = {NULL, NULL, 6266, LOCATE_parser___ReduceAction123___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction123].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction123].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction124___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 6270, LOCATE_parser___ReduceAction124___action};
+  struct trace_t trace = {NULL, NULL, 6270, LOCATE_parser___ReduceAction124___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -12060,6 +12323,7 @@ void parser___ReduceAction124___action(val_t  self, val_t  param0) {
   val_t variable19;
   val_t variable20;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -12113,15 +12377,16 @@ void parser___ReduceAction124___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction124___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 6315, LOCATE_parser___ReduceAction124___init};
+  struct trace_t trace = {NULL, NULL, 6315, LOCATE_parser___ReduceAction124___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction124].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction124].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction125___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 6319, LOCATE_parser___ReduceAction125___action};
+  struct trace_t trace = {NULL, NULL, 6319, LOCATE_parser___ReduceAction125___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -12139,6 +12404,7 @@ void parser___ReduceAction125___action(val_t  self, val_t  param0) {
   val_t variable14;
   val_t variable15;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -12180,15 +12446,16 @@ void parser___ReduceAction125___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction125___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 6354, LOCATE_parser___ReduceAction125___init};
+  struct trace_t trace = {NULL, NULL, 6354, LOCATE_parser___ReduceAction125___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction125].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction125].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction126___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 6358, LOCATE_parser___ReduceAction126___action};
+  struct trace_t trace = {NULL, NULL, 6358, LOCATE_parser___ReduceAction126___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -12212,6 +12479,7 @@ void parser___ReduceAction126___action(val_t  self, val_t  param0) {
   val_t variable20;
   val_t variable21;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -12266,15 +12534,16 @@ void parser___ReduceAction126___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction126___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 6406, LOCATE_parser___ReduceAction126___init};
+  struct trace_t trace = {NULL, NULL, 6406, LOCATE_parser___ReduceAction126___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction126].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction126].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction127___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 6410, LOCATE_parser___ReduceAction127___action};
+  struct trace_t trace = {NULL, NULL, 6410, LOCATE_parser___ReduceAction127___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -12300,6 +12569,7 @@ void parser___ReduceAction127___action(val_t  self, val_t  param0) {
   val_t variable22;
   val_t variable23;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -12359,15 +12629,16 @@ void parser___ReduceAction127___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction127___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 6461, LOCATE_parser___ReduceAction127___init};
+  struct trace_t trace = {NULL, NULL, 6461, LOCATE_parser___ReduceAction127___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction127].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction127].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction128___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 6465, LOCATE_parser___ReduceAction128___action};
+  struct trace_t trace = {NULL, NULL, 6465, LOCATE_parser___ReduceAction128___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -12388,6 +12659,7 @@ void parser___ReduceAction128___action(val_t  self, val_t  param0) {
   val_t variable17;
   val_t variable18;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -12435,15 +12707,16 @@ void parser___ReduceAction128___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction128___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 6506, LOCATE_parser___ReduceAction128___init};
+  struct trace_t trace = {NULL, NULL, 6506, LOCATE_parser___ReduceAction128___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction128].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction128].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction129___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 6510, LOCATE_parser___ReduceAction129___action};
+  struct trace_t trace = {NULL, NULL, 6510, LOCATE_parser___ReduceAction129___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -12469,6 +12742,7 @@ void parser___ReduceAction129___action(val_t  self, val_t  param0) {
   val_t variable22;
   val_t variable23;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -12528,15 +12802,16 @@ void parser___ReduceAction129___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction129___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 6561, LOCATE_parser___ReduceAction129___init};
+  struct trace_t trace = {NULL, NULL, 6561, LOCATE_parser___ReduceAction129___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction129].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction129].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction130___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 6565, LOCATE_parser___ReduceAction130___action};
+  struct trace_t trace = {NULL, NULL, 6565, LOCATE_parser___ReduceAction130___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -12564,6 +12839,7 @@ void parser___ReduceAction130___action(val_t  self, val_t  param0) {
   val_t variable24;
   val_t variable25;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -12628,15 +12904,16 @@ void parser___ReduceAction130___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction130___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 6619, LOCATE_parser___ReduceAction130___init};
+  struct trace_t trace = {NULL, NULL, 6619, LOCATE_parser___ReduceAction130___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction130].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction130].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction131___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 6623, LOCATE_parser___ReduceAction131___action};
+  struct trace_t trace = {NULL, NULL, 6623, LOCATE_parser___ReduceAction131___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -12659,6 +12936,7 @@ void parser___ReduceAction131___action(val_t  self, val_t  param0) {
   val_t variable19;
   val_t variable20;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -12711,15 +12989,16 @@ void parser___ReduceAction131___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction131___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 6667, LOCATE_parser___ReduceAction131___init};
+  struct trace_t trace = {NULL, NULL, 6667, LOCATE_parser___ReduceAction131___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction131].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction131].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction132___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 6671, LOCATE_parser___ReduceAction132___action};
+  struct trace_t trace = {NULL, NULL, 6671, LOCATE_parser___ReduceAction132___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -12740,6 +13019,7 @@ void parser___ReduceAction132___action(val_t  self, val_t  param0) {
   val_t variable17;
   val_t variable18;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -12787,15 +13067,16 @@ void parser___ReduceAction132___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction132___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 6712, LOCATE_parser___ReduceAction132___init};
+  struct trace_t trace = {NULL, NULL, 6712, LOCATE_parser___ReduceAction132___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction132].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction132].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction133___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 6716, LOCATE_parser___ReduceAction133___action};
+  struct trace_t trace = {NULL, NULL, 6716, LOCATE_parser___ReduceAction133___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -12818,6 +13099,7 @@ void parser___ReduceAction133___action(val_t  self, val_t  param0) {
   val_t variable19;
   val_t variable20;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -12870,15 +13152,16 @@ void parser___ReduceAction133___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction133___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 6760, LOCATE_parser___ReduceAction133___init};
+  struct trace_t trace = {NULL, NULL, 6760, LOCATE_parser___ReduceAction133___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction133].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction133].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction134___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 6764, LOCATE_parser___ReduceAction134___action};
+  struct trace_t trace = {NULL, NULL, 6764, LOCATE_parser___ReduceAction134___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -12896,6 +13179,7 @@ void parser___ReduceAction134___action(val_t  self, val_t  param0) {
   val_t variable14;
   val_t variable15;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -12936,15 +13220,16 @@ void parser___ReduceAction134___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction134___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 6798, LOCATE_parser___ReduceAction134___init};
+  struct trace_t trace = {NULL, NULL, 6798, LOCATE_parser___ReduceAction134___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction134].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction134].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction135___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 6802, LOCATE_parser___ReduceAction135___action};
+  struct trace_t trace = {NULL, NULL, 6802, LOCATE_parser___ReduceAction135___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -12970,6 +13255,7 @@ void parser___ReduceAction135___action(val_t  self, val_t  param0) {
   val_t variable22;
   val_t variable23;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -13029,15 +13315,16 @@ void parser___ReduceAction135___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction135___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 6853, LOCATE_parser___ReduceAction135___init};
+  struct trace_t trace = {NULL, NULL, 6853, LOCATE_parser___ReduceAction135___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction135].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction135].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction136___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 6857, LOCATE_parser___ReduceAction136___action};
+  struct trace_t trace = {NULL, NULL, 6857, LOCATE_parser___ReduceAction136___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -13065,6 +13352,7 @@ void parser___ReduceAction136___action(val_t  self, val_t  param0) {
   val_t variable24;
   val_t variable25;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -13129,15 +13417,16 @@ void parser___ReduceAction136___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction136___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 6911, LOCATE_parser___ReduceAction136___init};
+  struct trace_t trace = {NULL, NULL, 6911, LOCATE_parser___ReduceAction136___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction136].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction136].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction137___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 6915, LOCATE_parser___ReduceAction137___action};
+  struct trace_t trace = {NULL, NULL, 6915, LOCATE_parser___ReduceAction137___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -13160,6 +13449,7 @@ void parser___ReduceAction137___action(val_t  self, val_t  param0) {
   val_t variable19;
   val_t variable20;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -13212,15 +13502,16 @@ void parser___ReduceAction137___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction137___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 6959, LOCATE_parser___ReduceAction137___init};
+  struct trace_t trace = {NULL, NULL, 6959, LOCATE_parser___ReduceAction137___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction137].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction137].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction138___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 6963, LOCATE_parser___ReduceAction138___action};
+  struct trace_t trace = {NULL, NULL, 6963, LOCATE_parser___ReduceAction138___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -13248,6 +13539,7 @@ void parser___ReduceAction138___action(val_t  self, val_t  param0) {
   val_t variable24;
   val_t variable25;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -13312,15 +13604,16 @@ void parser___ReduceAction138___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction138___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 7017, LOCATE_parser___ReduceAction138___init};
+  struct trace_t trace = {NULL, NULL, 7017, LOCATE_parser___ReduceAction138___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction138].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction138].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction139___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 7021, LOCATE_parser___ReduceAction139___action};
+  struct trace_t trace = {NULL, NULL, 7021, LOCATE_parser___ReduceAction139___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -13350,6 +13643,7 @@ void parser___ReduceAction139___action(val_t  self, val_t  param0) {
   val_t variable26;
   val_t variable27;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -13419,15 +13713,16 @@ void parser___ReduceAction139___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction139___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 7078, LOCATE_parser___ReduceAction139___init};
+  struct trace_t trace = {NULL, NULL, 7078, LOCATE_parser___ReduceAction139___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction139].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction139].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction140___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 7082, LOCATE_parser___ReduceAction140___action};
+  struct trace_t trace = {NULL, NULL, 7082, LOCATE_parser___ReduceAction140___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -13452,6 +13747,7 @@ void parser___ReduceAction140___action(val_t  self, val_t  param0) {
   val_t variable21;
   val_t variable22;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -13509,15 +13805,16 @@ void parser___ReduceAction140___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction140___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 7129, LOCATE_parser___ReduceAction140___init};
+  struct trace_t trace = {NULL, NULL, 7129, LOCATE_parser___ReduceAction140___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction140].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction140].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction141___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 7133, LOCATE_parser___ReduceAction141___action};
+  struct trace_t trace = {NULL, NULL, 7133, LOCATE_parser___ReduceAction141___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -13540,6 +13837,7 @@ void parser___ReduceAction141___action(val_t  self, val_t  param0) {
   val_t variable19;
   val_t variable20;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -13592,15 +13890,16 @@ void parser___ReduceAction141___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction141___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 7177, LOCATE_parser___ReduceAction141___init};
+  struct trace_t trace = {NULL, NULL, 7177, LOCATE_parser___ReduceAction141___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction141].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction141].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction142___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 7181, LOCATE_parser___ReduceAction142___action};
+  struct trace_t trace = {NULL, NULL, 7181, LOCATE_parser___ReduceAction142___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -13625,6 +13924,7 @@ void parser___ReduceAction142___action(val_t  self, val_t  param0) {
   val_t variable21;
   val_t variable22;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -13682,15 +13982,16 @@ void parser___ReduceAction142___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction142___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 7228, LOCATE_parser___ReduceAction142___init};
+  struct trace_t trace = {NULL, NULL, 7228, LOCATE_parser___ReduceAction142___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction142].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction142].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction143___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 7232, LOCATE_parser___ReduceAction143___action};
+  struct trace_t trace = {NULL, NULL, 7232, LOCATE_parser___ReduceAction143___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -13710,6 +14011,7 @@ void parser___ReduceAction143___action(val_t  self, val_t  param0) {
   val_t variable16;
   val_t variable17;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -13755,15 +14057,16 @@ void parser___ReduceAction143___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction143___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 7269, LOCATE_parser___ReduceAction143___init};
+  struct trace_t trace = {NULL, NULL, 7269, LOCATE_parser___ReduceAction143___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction143].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction143].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction144___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 7273, LOCATE_parser___ReduceAction144___action};
+  struct trace_t trace = {NULL, NULL, 7273, LOCATE_parser___ReduceAction144___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -13789,6 +14092,7 @@ void parser___ReduceAction144___action(val_t  self, val_t  param0) {
   val_t variable22;
   val_t variable23;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -13848,15 +14152,16 @@ void parser___ReduceAction144___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction144___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 7324, LOCATE_parser___ReduceAction144___init};
+  struct trace_t trace = {NULL, NULL, 7324, LOCATE_parser___ReduceAction144___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction144].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction144].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction145___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 7328, LOCATE_parser___ReduceAction145___action};
+  struct trace_t trace = {NULL, NULL, 7328, LOCATE_parser___ReduceAction145___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -13884,6 +14189,7 @@ void parser___ReduceAction145___action(val_t  self, val_t  param0) {
   val_t variable24;
   val_t variable25;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -13948,15 +14254,16 @@ void parser___ReduceAction145___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction145___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 7382, LOCATE_parser___ReduceAction145___init};
+  struct trace_t trace = {NULL, NULL, 7382, LOCATE_parser___ReduceAction145___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction145].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction145].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction146___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 7386, LOCATE_parser___ReduceAction146___action};
+  struct trace_t trace = {NULL, NULL, 7386, LOCATE_parser___ReduceAction146___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -13979,6 +14286,7 @@ void parser___ReduceAction146___action(val_t  self, val_t  param0) {
   val_t variable19;
   val_t variable20;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -14031,15 +14339,16 @@ void parser___ReduceAction146___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction146___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 7430, LOCATE_parser___ReduceAction146___init};
+  struct trace_t trace = {NULL, NULL, 7430, LOCATE_parser___ReduceAction146___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction146].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction146].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction147___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 7434, LOCATE_parser___ReduceAction147___action};
+  struct trace_t trace = {NULL, NULL, 7434, LOCATE_parser___ReduceAction147___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -14067,6 +14376,7 @@ void parser___ReduceAction147___action(val_t  self, val_t  param0) {
   val_t variable24;
   val_t variable25;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -14131,15 +14441,16 @@ void parser___ReduceAction147___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction147___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 7488, LOCATE_parser___ReduceAction147___init};
+  struct trace_t trace = {NULL, NULL, 7488, LOCATE_parser___ReduceAction147___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction147].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction147].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction148___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 7492, LOCATE_parser___ReduceAction148___action};
+  struct trace_t trace = {NULL, NULL, 7492, LOCATE_parser___ReduceAction148___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -14169,6 +14480,7 @@ void parser___ReduceAction148___action(val_t  self, val_t  param0) {
   val_t variable26;
   val_t variable27;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -14238,15 +14550,16 @@ void parser___ReduceAction148___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction148___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 7549, LOCATE_parser___ReduceAction148___init};
+  struct trace_t trace = {NULL, NULL, 7549, LOCATE_parser___ReduceAction148___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction148].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction148].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction149___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 7553, LOCATE_parser___ReduceAction149___action};
+  struct trace_t trace = {NULL, NULL, 7553, LOCATE_parser___ReduceAction149___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -14271,6 +14584,7 @@ void parser___ReduceAction149___action(val_t  self, val_t  param0) {
   val_t variable21;
   val_t variable22;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -14328,15 +14642,16 @@ void parser___ReduceAction149___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction149___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 7600, LOCATE_parser___ReduceAction149___init};
+  struct trace_t trace = {NULL, NULL, 7600, LOCATE_parser___ReduceAction149___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction149].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction149].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction150___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 7604, LOCATE_parser___ReduceAction150___action};
+  struct trace_t trace = {NULL, NULL, 7604, LOCATE_parser___ReduceAction150___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -14359,6 +14674,7 @@ void parser___ReduceAction150___action(val_t  self, val_t  param0) {
   val_t variable19;
   val_t variable20;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -14411,15 +14727,16 @@ void parser___ReduceAction150___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction150___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 7648, LOCATE_parser___ReduceAction150___init};
+  struct trace_t trace = {NULL, NULL, 7648, LOCATE_parser___ReduceAction150___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction150].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction150].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction151___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 7652, LOCATE_parser___ReduceAction151___action};
+  struct trace_t trace = {NULL, NULL, 7652, LOCATE_parser___ReduceAction151___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -14444,6 +14761,7 @@ void parser___ReduceAction151___action(val_t  self, val_t  param0) {
   val_t variable21;
   val_t variable22;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -14501,15 +14819,16 @@ void parser___ReduceAction151___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction151___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 7699, LOCATE_parser___ReduceAction151___init};
+  struct trace_t trace = {NULL, NULL, 7699, LOCATE_parser___ReduceAction151___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction151].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction151].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction152___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 7703, LOCATE_parser___ReduceAction152___action};
+  struct trace_t trace = {NULL, NULL, 7703, LOCATE_parser___ReduceAction152___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -14529,6 +14848,7 @@ void parser___ReduceAction152___action(val_t  self, val_t  param0) {
   val_t variable16;
   val_t variable17;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -14574,15 +14894,16 @@ void parser___ReduceAction152___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction152___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 7740, LOCATE_parser___ReduceAction152___init};
+  struct trace_t trace = {NULL, NULL, 7740, LOCATE_parser___ReduceAction152___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction152].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction152].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction153___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 7744, LOCATE_parser___ReduceAction153___action};
+  struct trace_t trace = {NULL, NULL, 7744, LOCATE_parser___ReduceAction153___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -14610,6 +14931,7 @@ void parser___ReduceAction153___action(val_t  self, val_t  param0) {
   val_t variable24;
   val_t variable25;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -14674,15 +14996,16 @@ void parser___ReduceAction153___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction153___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 7798, LOCATE_parser___ReduceAction153___init};
+  struct trace_t trace = {NULL, NULL, 7798, LOCATE_parser___ReduceAction153___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction153].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction153].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction154___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 7802, LOCATE_parser___ReduceAction154___action};
+  struct trace_t trace = {NULL, NULL, 7802, LOCATE_parser___ReduceAction154___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -14712,6 +15035,7 @@ void parser___ReduceAction154___action(val_t  self, val_t  param0) {
   val_t variable26;
   val_t variable27;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -14781,15 +15105,16 @@ void parser___ReduceAction154___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction154___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 7859, LOCATE_parser___ReduceAction154___init};
+  struct trace_t trace = {NULL, NULL, 7859, LOCATE_parser___ReduceAction154___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction154].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction154].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction155___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 7863, LOCATE_parser___ReduceAction155___action};
+  struct trace_t trace = {NULL, NULL, 7863, LOCATE_parser___ReduceAction155___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -14814,6 +15139,7 @@ void parser___ReduceAction155___action(val_t  self, val_t  param0) {
   val_t variable21;
   val_t variable22;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -14871,15 +15197,16 @@ void parser___ReduceAction155___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction155___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 7910, LOCATE_parser___ReduceAction155___init};
+  struct trace_t trace = {NULL, NULL, 7910, LOCATE_parser___ReduceAction155___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction155].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction155].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction156___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 7914, LOCATE_parser___ReduceAction156___action};
+  struct trace_t trace = {NULL, NULL, 7914, LOCATE_parser___ReduceAction156___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -14909,6 +15236,7 @@ void parser___ReduceAction156___action(val_t  self, val_t  param0) {
   val_t variable26;
   val_t variable27;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -14978,15 +15306,16 @@ void parser___ReduceAction156___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction156___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 7971, LOCATE_parser___ReduceAction156___init};
+  struct trace_t trace = {NULL, NULL, 7971, LOCATE_parser___ReduceAction156___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction156].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction156].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction157___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 7975, LOCATE_parser___ReduceAction157___action};
+  struct trace_t trace = {NULL, NULL, 7975, LOCATE_parser___ReduceAction157___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -15018,6 +15347,7 @@ void parser___ReduceAction157___action(val_t  self, val_t  param0) {
   val_t variable28;
   val_t variable29;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -15092,15 +15422,16 @@ void parser___ReduceAction157___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction157___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 8035, LOCATE_parser___ReduceAction157___init};
+  struct trace_t trace = {NULL, NULL, 8035, LOCATE_parser___ReduceAction157___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction157].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction157].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction158___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 8039, LOCATE_parser___ReduceAction158___action};
+  struct trace_t trace = {NULL, NULL, 8039, LOCATE_parser___ReduceAction158___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -15127,6 +15458,7 @@ void parser___ReduceAction158___action(val_t  self, val_t  param0) {
   val_t variable23;
   val_t variable24;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -15189,15 +15521,16 @@ void parser___ReduceAction158___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction158___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 8089, LOCATE_parser___ReduceAction158___init};
+  struct trace_t trace = {NULL, NULL, 8089, LOCATE_parser___ReduceAction158___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction158].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction158].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction159___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 8093, LOCATE_parser___ReduceAction159___action};
+  struct trace_t trace = {NULL, NULL, 8093, LOCATE_parser___ReduceAction159___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -15222,6 +15555,7 @@ void parser___ReduceAction159___action(val_t  self, val_t  param0) {
   val_t variable21;
   val_t variable22;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -15279,15 +15613,16 @@ void parser___ReduceAction159___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction159___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 8140, LOCATE_parser___ReduceAction159___init};
+  struct trace_t trace = {NULL, NULL, 8140, LOCATE_parser___ReduceAction159___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction159].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction159].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction160___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 8144, LOCATE_parser___ReduceAction160___action};
+  struct trace_t trace = {NULL, NULL, 8144, LOCATE_parser___ReduceAction160___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -15314,6 +15649,7 @@ void parser___ReduceAction160___action(val_t  self, val_t  param0) {
   val_t variable23;
   val_t variable24;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -15376,15 +15712,16 @@ void parser___ReduceAction160___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction160___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 8194, LOCATE_parser___ReduceAction160___init};
+  struct trace_t trace = {NULL, NULL, 8194, LOCATE_parser___ReduceAction160___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction160].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction160].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction161___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 8198, LOCATE_parser___ReduceAction161___action};
+  struct trace_t trace = {NULL, NULL, 8198, LOCATE_parser___ReduceAction161___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -15406,6 +15743,7 @@ void parser___ReduceAction161___action(val_t  self, val_t  param0) {
   val_t variable18;
   val_t variable19;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -15456,15 +15794,16 @@ void parser___ReduceAction161___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction161___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 8238, LOCATE_parser___ReduceAction161___init};
+  struct trace_t trace = {NULL, NULL, 8238, LOCATE_parser___ReduceAction161___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction161].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction161].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction162___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 8242, LOCATE_parser___ReduceAction162___action};
+  struct trace_t trace = {NULL, NULL, 8242, LOCATE_parser___ReduceAction162___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -15482,6 +15821,7 @@ void parser___ReduceAction162___action(val_t  self, val_t  param0) {
   val_t variable14;
   val_t variable15;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -15522,15 +15862,16 @@ void parser___ReduceAction162___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction162___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 8273, LOCATE_parser___ReduceAction162___init};
+  struct trace_t trace = {NULL, NULL, 8273, LOCATE_parser___ReduceAction162___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction162].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction162].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction163___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 8277, LOCATE_parser___ReduceAction163___action};
+  struct trace_t trace = {NULL, NULL, 8277, LOCATE_parser___ReduceAction163___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -15550,6 +15891,7 @@ void parser___ReduceAction163___action(val_t  self, val_t  param0) {
   val_t variable16;
   val_t variable17;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -15595,15 +15937,16 @@ void parser___ReduceAction163___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction163___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 8311, LOCATE_parser___ReduceAction163___init};
+  struct trace_t trace = {NULL, NULL, 8311, LOCATE_parser___ReduceAction163___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction163].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction163].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction164___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 8315, LOCATE_parser___ReduceAction164___action};
+  struct trace_t trace = {NULL, NULL, 8315, LOCATE_parser___ReduceAction164___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -15621,6 +15964,7 @@ void parser___ReduceAction164___action(val_t  self, val_t  param0) {
   val_t variable14;
   val_t variable15;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -15661,15 +16005,16 @@ void parser___ReduceAction164___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction164___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 8346, LOCATE_parser___ReduceAction164___init};
+  struct trace_t trace = {NULL, NULL, 8346, LOCATE_parser___ReduceAction164___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction164].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction164].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction165___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 8350, LOCATE_parser___ReduceAction165___action};
+  struct trace_t trace = {NULL, NULL, 8350, LOCATE_parser___ReduceAction165___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -15689,6 +16034,7 @@ void parser___ReduceAction165___action(val_t  self, val_t  param0) {
   val_t variable16;
   val_t variable17;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -15734,15 +16080,16 @@ void parser___ReduceAction165___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction165___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 8384, LOCATE_parser___ReduceAction165___init};
+  struct trace_t trace = {NULL, NULL, 8384, LOCATE_parser___ReduceAction165___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction165].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction165].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction166___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 8388, LOCATE_parser___ReduceAction166___action};
+  struct trace_t trace = {NULL, NULL, 8388, LOCATE_parser___ReduceAction166___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -15760,6 +16107,7 @@ void parser___ReduceAction166___action(val_t  self, val_t  param0) {
   val_t variable14;
   val_t variable15;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -15800,15 +16148,16 @@ void parser___ReduceAction166___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction166___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 8420, LOCATE_parser___ReduceAction166___init};
+  struct trace_t trace = {NULL, NULL, 8420, LOCATE_parser___ReduceAction166___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction166].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction166].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction167___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 8424, LOCATE_parser___ReduceAction167___action};
+  struct trace_t trace = {NULL, NULL, 8424, LOCATE_parser___ReduceAction167___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -15828,6 +16177,7 @@ void parser___ReduceAction167___action(val_t  self, val_t  param0) {
   val_t variable16;
   val_t variable17;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -15873,15 +16223,16 @@ void parser___ReduceAction167___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction167___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 8459, LOCATE_parser___ReduceAction167___init};
+  struct trace_t trace = {NULL, NULL, 8459, LOCATE_parser___ReduceAction167___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction167].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction167].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction168___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 8463, LOCATE_parser___ReduceAction168___action};
+  struct trace_t trace = {NULL, NULL, 8463, LOCATE_parser___ReduceAction168___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -15901,6 +16252,7 @@ void parser___ReduceAction168___action(val_t  self, val_t  param0) {
   val_t variable16;
   val_t variable17;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -15946,15 +16298,16 @@ void parser___ReduceAction168___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction168___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 8498, LOCATE_parser___ReduceAction168___init};
+  struct trace_t trace = {NULL, NULL, 8498, LOCATE_parser___ReduceAction168___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction168].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction168].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction169___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 8502, LOCATE_parser___ReduceAction169___action};
+  struct trace_t trace = {NULL, NULL, 8502, LOCATE_parser___ReduceAction169___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -15976,6 +16329,7 @@ void parser___ReduceAction169___action(val_t  self, val_t  param0) {
   val_t variable18;
   val_t variable19;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -16026,15 +16380,16 @@ void parser___ReduceAction169___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction169___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 8540, LOCATE_parser___ReduceAction169___init};
+  struct trace_t trace = {NULL, NULL, 8540, LOCATE_parser___ReduceAction169___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction169].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction169].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction170___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 8544, LOCATE_parser___ReduceAction170___action};
+  struct trace_t trace = {NULL, NULL, 8544, LOCATE_parser___ReduceAction170___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -16054,6 +16409,7 @@ void parser___ReduceAction170___action(val_t  self, val_t  param0) {
   val_t variable16;
   val_t variable17;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -16099,15 +16455,16 @@ void parser___ReduceAction170___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction170___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 8579, LOCATE_parser___ReduceAction170___init};
+  struct trace_t trace = {NULL, NULL, 8579, LOCATE_parser___ReduceAction170___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction170].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction170].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction171___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 8583, LOCATE_parser___ReduceAction171___action};
+  struct trace_t trace = {NULL, NULL, 8583, LOCATE_parser___ReduceAction171___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -16129,6 +16486,7 @@ void parser___ReduceAction171___action(val_t  self, val_t  param0) {
   val_t variable18;
   val_t variable19;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -16179,15 +16537,16 @@ void parser___ReduceAction171___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction171___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 8621, LOCATE_parser___ReduceAction171___init};
+  struct trace_t trace = {NULL, NULL, 8621, LOCATE_parser___ReduceAction171___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction171].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction171].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction172___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 8625, LOCATE_parser___ReduceAction172___action};
+  struct trace_t trace = {NULL, NULL, 8625, LOCATE_parser___ReduceAction172___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -16208,6 +16567,7 @@ void parser___ReduceAction172___action(val_t  self, val_t  param0) {
   val_t variable17;
   val_t variable18;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -16255,15 +16615,16 @@ void parser___ReduceAction172___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction172___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 8661, LOCATE_parser___ReduceAction172___init};
+  struct trace_t trace = {NULL, NULL, 8661, LOCATE_parser___ReduceAction172___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction172].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction172].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction173___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 8665, LOCATE_parser___ReduceAction173___action};
+  struct trace_t trace = {NULL, NULL, 8665, LOCATE_parser___ReduceAction173___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -16286,6 +16647,7 @@ void parser___ReduceAction173___action(val_t  self, val_t  param0) {
   val_t variable19;
   val_t variable20;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -16338,15 +16700,16 @@ void parser___ReduceAction173___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction173___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 8704, LOCATE_parser___ReduceAction173___init};
+  struct trace_t trace = {NULL, NULL, 8704, LOCATE_parser___ReduceAction173___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction173].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction173].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction174___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 8708, LOCATE_parser___ReduceAction174___action};
+  struct trace_t trace = {NULL, NULL, 8708, LOCATE_parser___ReduceAction174___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -16364,6 +16727,7 @@ void parser___ReduceAction174___action(val_t  self, val_t  param0) {
   val_t variable14;
   val_t variable15;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -16404,15 +16768,16 @@ void parser___ReduceAction174___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction174___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 8740, LOCATE_parser___ReduceAction174___init};
+  struct trace_t trace = {NULL, NULL, 8740, LOCATE_parser___ReduceAction174___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction174].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction174].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction175___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 8744, LOCATE_parser___ReduceAction175___action};
+  struct trace_t trace = {NULL, NULL, 8744, LOCATE_parser___ReduceAction175___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -16432,6 +16797,7 @@ void parser___ReduceAction175___action(val_t  self, val_t  param0) {
   val_t variable16;
   val_t variable17;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -16477,15 +16843,16 @@ void parser___ReduceAction175___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction175___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 8779, LOCATE_parser___ReduceAction175___init};
+  struct trace_t trace = {NULL, NULL, 8779, LOCATE_parser___ReduceAction175___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction175].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction175].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction176___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 8783, LOCATE_parser___ReduceAction176___action};
+  struct trace_t trace = {NULL, NULL, 8783, LOCATE_parser___ReduceAction176___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -16505,6 +16872,7 @@ void parser___ReduceAction176___action(val_t  self, val_t  param0) {
   val_t variable16;
   val_t variable17;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -16550,15 +16918,16 @@ void parser___ReduceAction176___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction176___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 8818, LOCATE_parser___ReduceAction176___init};
+  struct trace_t trace = {NULL, NULL, 8818, LOCATE_parser___ReduceAction176___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction176].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction176].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction177___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 8822, LOCATE_parser___ReduceAction177___action};
+  struct trace_t trace = {NULL, NULL, 8822, LOCATE_parser___ReduceAction177___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -16580,6 +16949,7 @@ void parser___ReduceAction177___action(val_t  self, val_t  param0) {
   val_t variable18;
   val_t variable19;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -16630,15 +17000,16 @@ void parser___ReduceAction177___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction177___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 8860, LOCATE_parser___ReduceAction177___init};
+  struct trace_t trace = {NULL, NULL, 8860, LOCATE_parser___ReduceAction177___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction177].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction177].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction178___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 8864, LOCATE_parser___ReduceAction178___action};
+  struct trace_t trace = {NULL, NULL, 8864, LOCATE_parser___ReduceAction178___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -16657,6 +17028,7 @@ void parser___ReduceAction178___action(val_t  self, val_t  param0) {
   val_t variable15;
   val_t variable16;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -16699,15 +17071,16 @@ void parser___ReduceAction178___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction178___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 8897, LOCATE_parser___ReduceAction178___init};
+  struct trace_t trace = {NULL, NULL, 8897, LOCATE_parser___ReduceAction178___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction178].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction178].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction179___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 8901, LOCATE_parser___ReduceAction179___action};
+  struct trace_t trace = {NULL, NULL, 8901, LOCATE_parser___ReduceAction179___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -16728,6 +17101,7 @@ void parser___ReduceAction179___action(val_t  self, val_t  param0) {
   val_t variable17;
   val_t variable18;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -16775,15 +17149,16 @@ void parser___ReduceAction179___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction179___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 8937, LOCATE_parser___ReduceAction179___init};
+  struct trace_t trace = {NULL, NULL, 8937, LOCATE_parser___ReduceAction179___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction179].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction179].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction180___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 8941, LOCATE_parser___ReduceAction180___action};
+  struct trace_t trace = {NULL, NULL, 8941, LOCATE_parser___ReduceAction180___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -16804,6 +17179,7 @@ void parser___ReduceAction180___action(val_t  self, val_t  param0) {
   val_t variable17;
   val_t variable18;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -16851,15 +17227,16 @@ void parser___ReduceAction180___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction180___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 8977, LOCATE_parser___ReduceAction180___init};
+  struct trace_t trace = {NULL, NULL, 8977, LOCATE_parser___ReduceAction180___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction180].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction180].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction181___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 8981, LOCATE_parser___ReduceAction181___action};
+  struct trace_t trace = {NULL, NULL, 8981, LOCATE_parser___ReduceAction181___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -16882,6 +17259,7 @@ void parser___ReduceAction181___action(val_t  self, val_t  param0) {
   val_t variable19;
   val_t variable20;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -16934,15 +17312,16 @@ void parser___ReduceAction181___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction181___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 9020, LOCATE_parser___ReduceAction181___init};
+  struct trace_t trace = {NULL, NULL, 9020, LOCATE_parser___ReduceAction181___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction181].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction181].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction182___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 9024, LOCATE_parser___ReduceAction182___action};
+  struct trace_t trace = {NULL, NULL, 9024, LOCATE_parser___ReduceAction182___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -16958,6 +17337,7 @@ void parser___ReduceAction182___action(val_t  self, val_t  param0) {
   val_t variable12;
   val_t variable13;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -16994,15 +17374,16 @@ void parser___ReduceAction182___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction182___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 9053, LOCATE_parser___ReduceAction182___init};
+  struct trace_t trace = {NULL, NULL, 9053, LOCATE_parser___ReduceAction182___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction182].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction182].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction183___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 9057, LOCATE_parser___ReduceAction183___action};
+  struct trace_t trace = {NULL, NULL, 9057, LOCATE_parser___ReduceAction183___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -17020,6 +17401,7 @@ void parser___ReduceAction183___action(val_t  self, val_t  param0) {
   val_t variable14;
   val_t variable15;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -17061,15 +17443,16 @@ void parser___ReduceAction183___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction183___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 9089, LOCATE_parser___ReduceAction183___init};
+  struct trace_t trace = {NULL, NULL, 9089, LOCATE_parser___ReduceAction183___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction183].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction183].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction184___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 9093, LOCATE_parser___ReduceAction184___action};
+  struct trace_t trace = {NULL, NULL, 9093, LOCATE_parser___ReduceAction184___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -17077,6 +17460,7 @@ void parser___ReduceAction184___action(val_t  self, val_t  param0) {
   val_t variable4;
   val_t variable5;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -17093,15 +17477,16 @@ void parser___ReduceAction184___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction184___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 9103, LOCATE_parser___ReduceAction184___init};
+  struct trace_t trace = {NULL, NULL, 9103, LOCATE_parser___ReduceAction184___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction184].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction184].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction185___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 9107, LOCATE_parser___ReduceAction185___action};
+  struct trace_t trace = {NULL, NULL, 9107, LOCATE_parser___ReduceAction185___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -17119,6 +17504,7 @@ void parser___ReduceAction185___action(val_t  self, val_t  param0) {
   val_t variable14;
   val_t variable15;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -17159,15 +17545,16 @@ void parser___ReduceAction185___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction185___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 9139, LOCATE_parser___ReduceAction185___init};
+  struct trace_t trace = {NULL, NULL, 9139, LOCATE_parser___ReduceAction185___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction185].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction185].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction186___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 9143, LOCATE_parser___ReduceAction186___action};
+  struct trace_t trace = {NULL, NULL, 9143, LOCATE_parser___ReduceAction186___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -17187,6 +17574,7 @@ void parser___ReduceAction186___action(val_t  self, val_t  param0) {
   val_t variable16;
   val_t variable17;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -17232,15 +17620,16 @@ void parser___ReduceAction186___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction186___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 9178, LOCATE_parser___ReduceAction186___init};
+  struct trace_t trace = {NULL, NULL, 9178, LOCATE_parser___ReduceAction186___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction186].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction186].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction187___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 9182, LOCATE_parser___ReduceAction187___action};
+  struct trace_t trace = {NULL, NULL, 9182, LOCATE_parser___ReduceAction187___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -17260,6 +17649,7 @@ void parser___ReduceAction187___action(val_t  self, val_t  param0) {
   val_t variable16;
   val_t variable17;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -17305,15 +17695,16 @@ void parser___ReduceAction187___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction187___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 9217, LOCATE_parser___ReduceAction187___init};
+  struct trace_t trace = {NULL, NULL, 9217, LOCATE_parser___ReduceAction187___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction187].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction187].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction188___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 9221, LOCATE_parser___ReduceAction188___action};
+  struct trace_t trace = {NULL, NULL, 9221, LOCATE_parser___ReduceAction188___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -17335,6 +17726,7 @@ void parser___ReduceAction188___action(val_t  self, val_t  param0) {
   val_t variable18;
   val_t variable19;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -17385,15 +17777,16 @@ void parser___ReduceAction188___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction188___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 9259, LOCATE_parser___ReduceAction188___init};
+  struct trace_t trace = {NULL, NULL, 9259, LOCATE_parser___ReduceAction188___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction188].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction188].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction189___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 9263, LOCATE_parser___ReduceAction189___action};
+  struct trace_t trace = {NULL, NULL, 9263, LOCATE_parser___ReduceAction189___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -17413,6 +17806,7 @@ void parser___ReduceAction189___action(val_t  self, val_t  param0) {
   val_t variable16;
   val_t variable17;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -17458,15 +17852,16 @@ void parser___ReduceAction189___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction189___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 9298, LOCATE_parser___ReduceAction189___init};
+  struct trace_t trace = {NULL, NULL, 9298, LOCATE_parser___ReduceAction189___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction189].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction189].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction190___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 9302, LOCATE_parser___ReduceAction190___action};
+  struct trace_t trace = {NULL, NULL, 9302, LOCATE_parser___ReduceAction190___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -17488,6 +17883,7 @@ void parser___ReduceAction190___action(val_t  self, val_t  param0) {
   val_t variable18;
   val_t variable19;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -17538,20 +17934,22 @@ void parser___ReduceAction190___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction190___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 9340, LOCATE_parser___ReduceAction190___init};
+  struct trace_t trace = {NULL, NULL, 9340, LOCATE_parser___ReduceAction190___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction190].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction190].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction191___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 9344, LOCATE_parser___ReduceAction191___action};
+  struct trace_t trace = {NULL, NULL, 9344, LOCATE_parser___ReduceAction191___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   val_t variable3;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = NEW_parser_prod___APublicVisibility___init_apublicvisibility(); /*new APublicVisibility*/
@@ -17563,15 +17961,16 @@ void parser___ReduceAction191___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction191___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 9352, LOCATE_parser___ReduceAction191___init};
+  struct trace_t trace = {NULL, NULL, 9352, LOCATE_parser___ReduceAction191___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction191].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction191].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction192___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 9356, LOCATE_parser___ReduceAction192___action};
+  struct trace_t trace = {NULL, NULL, 9356, LOCATE_parser___ReduceAction192___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -17580,6 +17979,7 @@ void parser___ReduceAction192___action(val_t  self, val_t  param0) {
   val_t variable5;
   val_t variable6;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -17598,15 +17998,16 @@ void parser___ReduceAction192___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction192___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 9369, LOCATE_parser___ReduceAction192___init};
+  struct trace_t trace = {NULL, NULL, 9369, LOCATE_parser___ReduceAction192___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction192].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction192].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction193___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 9373, LOCATE_parser___ReduceAction193___action};
+  struct trace_t trace = {NULL, NULL, 9373, LOCATE_parser___ReduceAction193___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -17615,6 +18016,7 @@ void parser___ReduceAction193___action(val_t  self, val_t  param0) {
   val_t variable5;
   val_t variable6;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -17633,15 +18035,16 @@ void parser___ReduceAction193___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction193___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 9386, LOCATE_parser___ReduceAction193___init};
+  struct trace_t trace = {NULL, NULL, 9386, LOCATE_parser___ReduceAction193___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction193].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction193].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction194___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 9390, LOCATE_parser___ReduceAction194___action};
+  struct trace_t trace = {NULL, NULL, 9390, LOCATE_parser___ReduceAction194___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -17650,6 +18053,7 @@ void parser___ReduceAction194___action(val_t  self, val_t  param0) {
   val_t variable5;
   val_t variable6;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -17668,15 +18072,16 @@ void parser___ReduceAction194___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction194___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 9403, LOCATE_parser___ReduceAction194___init};
+  struct trace_t trace = {NULL, NULL, 9403, LOCATE_parser___ReduceAction194___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction194].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction194].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction195___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 9407, LOCATE_parser___ReduceAction195___action};
+  struct trace_t trace = {NULL, NULL, 9407, LOCATE_parser___ReduceAction195___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -17684,6 +18089,7 @@ void parser___ReduceAction195___action(val_t  self, val_t  param0) {
   val_t variable4;
   val_t variable5;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -17700,15 +18106,16 @@ void parser___ReduceAction195___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction195___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 9419, LOCATE_parser___ReduceAction195___init};
+  struct trace_t trace = {NULL, NULL, 9419, LOCATE_parser___ReduceAction195___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction195].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction195].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction196___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 9423, LOCATE_parser___ReduceAction196___action};
+  struct trace_t trace = {NULL, NULL, 9423, LOCATE_parser___ReduceAction196___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -17716,6 +18123,7 @@ void parser___ReduceAction196___action(val_t  self, val_t  param0) {
   val_t variable4;
   val_t variable5;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -17732,15 +18140,16 @@ void parser___ReduceAction196___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction196___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 9435, LOCATE_parser___ReduceAction196___init};
+  struct trace_t trace = {NULL, NULL, 9435, LOCATE_parser___ReduceAction196___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction196].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction196].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction197___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 9439, LOCATE_parser___ReduceAction197___action};
+  struct trace_t trace = {NULL, NULL, 9439, LOCATE_parser___ReduceAction197___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -17748,6 +18157,7 @@ void parser___ReduceAction197___action(val_t  self, val_t  param0) {
   val_t variable4;
   val_t variable5;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -17764,15 +18174,16 @@ void parser___ReduceAction197___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction197___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 9451, LOCATE_parser___ReduceAction197___init};
+  struct trace_t trace = {NULL, NULL, 9451, LOCATE_parser___ReduceAction197___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction197].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction197].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction198___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 9455, LOCATE_parser___ReduceAction198___action};
+  struct trace_t trace = {NULL, NULL, 9455, LOCATE_parser___ReduceAction198___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -17780,6 +18191,7 @@ void parser___ReduceAction198___action(val_t  self, val_t  param0) {
   val_t variable4;
   val_t variable5;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -17796,15 +18208,16 @@ void parser___ReduceAction198___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction198___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 9467, LOCATE_parser___ReduceAction198___init};
+  struct trace_t trace = {NULL, NULL, 9467, LOCATE_parser___ReduceAction198___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction198].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction198].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction199___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 9471, LOCATE_parser___ReduceAction199___action};
+  struct trace_t trace = {NULL, NULL, 9471, LOCATE_parser___ReduceAction199___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -17812,6 +18225,7 @@ void parser___ReduceAction199___action(val_t  self, val_t  param0) {
   val_t variable4;
   val_t variable5;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -17828,15 +18242,16 @@ void parser___ReduceAction199___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction199___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 9483, LOCATE_parser___ReduceAction199___init};
+  struct trace_t trace = {NULL, NULL, 9483, LOCATE_parser___ReduceAction199___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction199].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction199].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction200___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 9487, LOCATE_parser___ReduceAction200___action};
+  struct trace_t trace = {NULL, NULL, 9487, LOCATE_parser___ReduceAction200___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -17844,6 +18259,7 @@ void parser___ReduceAction200___action(val_t  self, val_t  param0) {
   val_t variable4;
   val_t variable5;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -17860,15 +18276,16 @@ void parser___ReduceAction200___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction200___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 9499, LOCATE_parser___ReduceAction200___init};
+  struct trace_t trace = {NULL, NULL, 9499, LOCATE_parser___ReduceAction200___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction200].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction200].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction201___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 9503, LOCATE_parser___ReduceAction201___action};
+  struct trace_t trace = {NULL, NULL, 9503, LOCATE_parser___ReduceAction201___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -17876,6 +18293,7 @@ void parser___ReduceAction201___action(val_t  self, val_t  param0) {
   val_t variable4;
   val_t variable5;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -17892,15 +18310,16 @@ void parser___ReduceAction201___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction201___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 9515, LOCATE_parser___ReduceAction201___init};
+  struct trace_t trace = {NULL, NULL, 9515, LOCATE_parser___ReduceAction201___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction201].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction201].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction202___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 9519, LOCATE_parser___ReduceAction202___action};
+  struct trace_t trace = {NULL, NULL, 9519, LOCATE_parser___ReduceAction202___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -17908,6 +18327,7 @@ void parser___ReduceAction202___action(val_t  self, val_t  param0) {
   val_t variable4;
   val_t variable5;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -17924,15 +18344,16 @@ void parser___ReduceAction202___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction202___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 9531, LOCATE_parser___ReduceAction202___init};
+  struct trace_t trace = {NULL, NULL, 9531, LOCATE_parser___ReduceAction202___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction202].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction202].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction203___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 9535, LOCATE_parser___ReduceAction203___action};
+  struct trace_t trace = {NULL, NULL, 9535, LOCATE_parser___ReduceAction203___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -17940,6 +18361,7 @@ void parser___ReduceAction203___action(val_t  self, val_t  param0) {
   val_t variable4;
   val_t variable5;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -17956,15 +18378,16 @@ void parser___ReduceAction203___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction203___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 9547, LOCATE_parser___ReduceAction203___init};
+  struct trace_t trace = {NULL, NULL, 9547, LOCATE_parser___ReduceAction203___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction203].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction203].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction204___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 9551, LOCATE_parser___ReduceAction204___action};
+  struct trace_t trace = {NULL, NULL, 9551, LOCATE_parser___ReduceAction204___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -17972,6 +18395,7 @@ void parser___ReduceAction204___action(val_t  self, val_t  param0) {
   val_t variable4;
   val_t variable5;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -17988,15 +18412,16 @@ void parser___ReduceAction204___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction204___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 9563, LOCATE_parser___ReduceAction204___init};
+  struct trace_t trace = {NULL, NULL, 9563, LOCATE_parser___ReduceAction204___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction204].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction204].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction205___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 9567, LOCATE_parser___ReduceAction205___action};
+  struct trace_t trace = {NULL, NULL, 9567, LOCATE_parser___ReduceAction205___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -18004,6 +18429,7 @@ void parser___ReduceAction205___action(val_t  self, val_t  param0) {
   val_t variable4;
   val_t variable5;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -18020,15 +18446,16 @@ void parser___ReduceAction205___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction205___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 9579, LOCATE_parser___ReduceAction205___init};
+  struct trace_t trace = {NULL, NULL, 9579, LOCATE_parser___ReduceAction205___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction205].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction205].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction206___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 9583, LOCATE_parser___ReduceAction206___action};
+  struct trace_t trace = {NULL, NULL, 9583, LOCATE_parser___ReduceAction206___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -18036,6 +18463,7 @@ void parser___ReduceAction206___action(val_t  self, val_t  param0) {
   val_t variable4;
   val_t variable5;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -18052,15 +18480,16 @@ void parser___ReduceAction206___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction206___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 9595, LOCATE_parser___ReduceAction206___init};
+  struct trace_t trace = {NULL, NULL, 9595, LOCATE_parser___ReduceAction206___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction206].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction206].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction207___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 9599, LOCATE_parser___ReduceAction207___action};
+  struct trace_t trace = {NULL, NULL, 9599, LOCATE_parser___ReduceAction207___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -18070,6 +18499,7 @@ void parser___ReduceAction207___action(val_t  self, val_t  param0) {
   val_t variable6;
   val_t variable7;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -18091,15 +18521,16 @@ void parser___ReduceAction207___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction207___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 9615, LOCATE_parser___ReduceAction207___init};
+  struct trace_t trace = {NULL, NULL, 9615, LOCATE_parser___ReduceAction207___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction207].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction207].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction208___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 9619, LOCATE_parser___ReduceAction208___action};
+  struct trace_t trace = {NULL, NULL, 9619, LOCATE_parser___ReduceAction208___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -18107,6 +18538,7 @@ void parser___ReduceAction208___action(val_t  self, val_t  param0) {
   val_t variable4;
   val_t variable5;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -18123,15 +18555,16 @@ void parser___ReduceAction208___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction208___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 9631, LOCATE_parser___ReduceAction208___init};
+  struct trace_t trace = {NULL, NULL, 9631, LOCATE_parser___ReduceAction208___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction208].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction208].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction209___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 9635, LOCATE_parser___ReduceAction209___action};
+  struct trace_t trace = {NULL, NULL, 9635, LOCATE_parser___ReduceAction209___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -18141,6 +18574,7 @@ void parser___ReduceAction209___action(val_t  self, val_t  param0) {
   val_t variable6;
   val_t variable7;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -18162,15 +18596,16 @@ void parser___ReduceAction209___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction209___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 9651, LOCATE_parser___ReduceAction209___init};
+  struct trace_t trace = {NULL, NULL, 9651, LOCATE_parser___ReduceAction209___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction209].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction209].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction210___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 9655, LOCATE_parser___ReduceAction210___action};
+  struct trace_t trace = {NULL, NULL, 9655, LOCATE_parser___ReduceAction210___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -18182,6 +18617,7 @@ void parser___ReduceAction210___action(val_t  self, val_t  param0) {
   val_t variable8;
   val_t variable9;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -18208,21 +18644,23 @@ void parser___ReduceAction210___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction210___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 9675, LOCATE_parser___ReduceAction210___init};
+  struct trace_t trace = {NULL, NULL, 9675, LOCATE_parser___ReduceAction210___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction210].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction210].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction211___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 9679, LOCATE_parser___ReduceAction211___action};
+  struct trace_t trace = {NULL, NULL, 9679, LOCATE_parser___ReduceAction211___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   val_t variable3;
   val_t variable4;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = NEW_array___Array___init(); /*new Array[E]*/
@@ -18236,15 +18674,16 @@ void parser___ReduceAction211___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction211___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 9690, LOCATE_parser___ReduceAction211___init};
+  struct trace_t trace = {NULL, NULL, 9690, LOCATE_parser___ReduceAction211___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction211].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction211].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction212___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 9694, LOCATE_parser___ReduceAction212___action};
+  struct trace_t trace = {NULL, NULL, 9694, LOCATE_parser___ReduceAction212___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -18253,6 +18692,7 @@ void parser___ReduceAction212___action(val_t  self, val_t  param0) {
   val_t variable5;
   val_t variable6;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -18280,15 +18720,16 @@ void parser___ReduceAction212___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction212___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 9715, LOCATE_parser___ReduceAction212___init};
+  struct trace_t trace = {NULL, NULL, 9715, LOCATE_parser___ReduceAction212___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction212].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction212].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction213___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 9719, LOCATE_parser___ReduceAction213___action};
+  struct trace_t trace = {NULL, NULL, 9719, LOCATE_parser___ReduceAction213___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -18297,6 +18738,7 @@ void parser___ReduceAction213___action(val_t  self, val_t  param0) {
   val_t variable5;
   val_t variable6;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -18315,15 +18757,16 @@ void parser___ReduceAction213___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction213___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 9733, LOCATE_parser___ReduceAction213___init};
+  struct trace_t trace = {NULL, NULL, 9733, LOCATE_parser___ReduceAction213___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction213].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction213].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction214___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 9737, LOCATE_parser___ReduceAction214___action};
+  struct trace_t trace = {NULL, NULL, 9737, LOCATE_parser___ReduceAction214___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -18334,6 +18777,7 @@ void parser___ReduceAction214___action(val_t  self, val_t  param0) {
   val_t variable7;
   val_t variable8;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -18366,15 +18810,16 @@ void parser___ReduceAction214___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction214___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 9761, LOCATE_parser___ReduceAction214___init};
+  struct trace_t trace = {NULL, NULL, 9761, LOCATE_parser___ReduceAction214___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction214].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction214].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction215___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 9765, LOCATE_parser___ReduceAction215___action};
+  struct trace_t trace = {NULL, NULL, 9765, LOCATE_parser___ReduceAction215___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -18386,6 +18831,7 @@ void parser___ReduceAction215___action(val_t  self, val_t  param0) {
   val_t variable8;
   val_t variable9;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -18414,15 +18860,16 @@ void parser___ReduceAction215___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction215___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 9782, LOCATE_parser___ReduceAction215___init};
+  struct trace_t trace = {NULL, NULL, 9782, LOCATE_parser___ReduceAction215___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction215].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction215].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction216___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 9786, LOCATE_parser___ReduceAction216___action};
+  struct trace_t trace = {NULL, NULL, 9786, LOCATE_parser___ReduceAction216___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -18436,6 +18883,7 @@ void parser___ReduceAction216___action(val_t  self, val_t  param0) {
   val_t variable10;
   val_t variable11;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -18478,15 +18926,16 @@ void parser___ReduceAction216___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction216___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 9813, LOCATE_parser___ReduceAction216___init};
+  struct trace_t trace = {NULL, NULL, 9813, LOCATE_parser___ReduceAction216___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction216].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction216].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction217___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 9817, LOCATE_parser___ReduceAction217___action};
+  struct trace_t trace = {NULL, NULL, 9817, LOCATE_parser___ReduceAction217___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -18495,6 +18944,7 @@ void parser___ReduceAction217___action(val_t  self, val_t  param0) {
   val_t variable5;
   val_t variable6;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -18512,15 +18962,16 @@ void parser___ReduceAction217___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction217___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 9827, LOCATE_parser___ReduceAction217___init};
+  struct trace_t trace = {NULL, NULL, 9827, LOCATE_parser___ReduceAction217___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction217].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction217].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction218___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 9831, LOCATE_parser___ReduceAction218___action};
+  struct trace_t trace = {NULL, NULL, 9831, LOCATE_parser___ReduceAction218___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -18529,6 +18980,7 @@ void parser___ReduceAction218___action(val_t  self, val_t  param0) {
   val_t variable5;
   val_t variable6;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -18547,15 +18999,16 @@ void parser___ReduceAction218___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction218___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 9842, LOCATE_parser___ReduceAction218___init};
+  struct trace_t trace = {NULL, NULL, 9842, LOCATE_parser___ReduceAction218___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction218].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction218].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction219___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 9846, LOCATE_parser___ReduceAction219___action};
+  struct trace_t trace = {NULL, NULL, 9846, LOCATE_parser___ReduceAction219___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -18563,6 +19016,7 @@ void parser___ReduceAction219___action(val_t  self, val_t  param0) {
   val_t variable4;
   val_t variable5;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -18579,15 +19033,16 @@ void parser___ReduceAction219___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction219___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 9860, LOCATE_parser___ReduceAction219___init};
+  struct trace_t trace = {NULL, NULL, 9860, LOCATE_parser___ReduceAction219___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction219].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction219].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction220___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 9864, LOCATE_parser___ReduceAction220___action};
+  struct trace_t trace = {NULL, NULL, 9864, LOCATE_parser___ReduceAction220___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -18597,6 +19052,7 @@ void parser___ReduceAction220___action(val_t  self, val_t  param0) {
   val_t variable6;
   val_t variable7;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -18618,15 +19074,16 @@ void parser___ReduceAction220___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction220___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 9881, LOCATE_parser___ReduceAction220___init};
+  struct trace_t trace = {NULL, NULL, 9881, LOCATE_parser___ReduceAction220___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction220].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction220].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction221___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 9885, LOCATE_parser___ReduceAction221___action};
+  struct trace_t trace = {NULL, NULL, 9885, LOCATE_parser___ReduceAction221___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -18638,6 +19095,7 @@ void parser___ReduceAction221___action(val_t  self, val_t  param0) {
   val_t variable8;
   val_t variable9;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -18664,15 +19122,16 @@ void parser___ReduceAction221___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction221___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 9905, LOCATE_parser___ReduceAction221___init};
+  struct trace_t trace = {NULL, NULL, 9905, LOCATE_parser___ReduceAction221___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction221].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction221].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction222___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 9909, LOCATE_parser___ReduceAction222___action};
+  struct trace_t trace = {NULL, NULL, 9909, LOCATE_parser___ReduceAction222___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -18681,6 +19140,7 @@ void parser___ReduceAction222___action(val_t  self, val_t  param0) {
   val_t variable5;
   val_t variable6;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -18699,15 +19159,16 @@ void parser___ReduceAction222___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction222___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 9923, LOCATE_parser___ReduceAction222___init};
+  struct trace_t trace = {NULL, NULL, 9923, LOCATE_parser___ReduceAction222___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction222].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction222].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction223___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 9927, LOCATE_parser___ReduceAction223___action};
+  struct trace_t trace = {NULL, NULL, 9927, LOCATE_parser___ReduceAction223___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -18722,6 +19183,7 @@ void parser___ReduceAction223___action(val_t  self, val_t  param0) {
   val_t variable11;
   val_t variable12;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -18762,15 +19224,16 @@ void parser___ReduceAction223___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction223___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 9955, LOCATE_parser___ReduceAction223___init};
+  struct trace_t trace = {NULL, NULL, 9955, LOCATE_parser___ReduceAction223___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction223].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction223].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction224___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 9959, LOCATE_parser___ReduceAction224___action};
+  struct trace_t trace = {NULL, NULL, 9959, LOCATE_parser___ReduceAction224___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -18778,6 +19241,7 @@ void parser___ReduceAction224___action(val_t  self, val_t  param0) {
   val_t variable4;
   val_t variable5;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -18798,15 +19262,16 @@ void parser___ReduceAction224___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction224___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 9972, LOCATE_parser___ReduceAction224___init};
+  struct trace_t trace = {NULL, NULL, 9972, LOCATE_parser___ReduceAction224___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction224].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction224].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction225___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 9976, LOCATE_parser___ReduceAction225___action};
+  struct trace_t trace = {NULL, NULL, 9976, LOCATE_parser___ReduceAction225___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -18816,6 +19281,7 @@ void parser___ReduceAction225___action(val_t  self, val_t  param0) {
   val_t variable6;
   val_t variable7;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -18850,15 +19316,16 @@ void parser___ReduceAction225___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction225___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 9999, LOCATE_parser___ReduceAction225___init};
+  struct trace_t trace = {NULL, NULL, 9999, LOCATE_parser___ReduceAction225___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction225].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction225].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction226___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 10003, LOCATE_parser___ReduceAction226___action};
+  struct trace_t trace = {NULL, NULL, 10003, LOCATE_parser___ReduceAction226___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -18867,6 +19334,7 @@ void parser___ReduceAction226___action(val_t  self, val_t  param0) {
   val_t variable5;
   val_t variable6;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -18885,15 +19353,16 @@ void parser___ReduceAction226___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction226___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 10014, LOCATE_parser___ReduceAction226___init};
+  struct trace_t trace = {NULL, NULL, 10014, LOCATE_parser___ReduceAction226___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction226].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction226].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction227___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 10018, LOCATE_parser___ReduceAction227___action};
+  struct trace_t trace = {NULL, NULL, 10018, LOCATE_parser___ReduceAction227___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -18902,6 +19371,7 @@ void parser___ReduceAction227___action(val_t  self, val_t  param0) {
   val_t variable5;
   val_t variable6;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -18920,21 +19390,23 @@ void parser___ReduceAction227___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction227___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 10029, LOCATE_parser___ReduceAction227___init};
+  struct trace_t trace = {NULL, NULL, 10029, LOCATE_parser___ReduceAction227___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction227].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction227].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction228___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 10033, LOCATE_parser___ReduceAction228___action};
+  struct trace_t trace = {NULL, NULL, 10033, LOCATE_parser___ReduceAction228___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   val_t variable3;
   val_t variable4;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -18949,15 +19421,16 @@ void parser___ReduceAction228___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction228___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 10042, LOCATE_parser___ReduceAction228___init};
+  struct trace_t trace = {NULL, NULL, 10042, LOCATE_parser___ReduceAction228___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction228].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction228].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction229___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 10046, LOCATE_parser___ReduceAction229___action};
+  struct trace_t trace = {NULL, NULL, 10046, LOCATE_parser___ReduceAction229___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -18969,6 +19442,7 @@ void parser___ReduceAction229___action(val_t  self, val_t  param0) {
   val_t variable8;
   val_t variable9;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -18997,15 +19471,16 @@ void parser___ReduceAction229___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction229___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 10065, LOCATE_parser___ReduceAction229___init};
+  struct trace_t trace = {NULL, NULL, 10065, LOCATE_parser___ReduceAction229___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction229].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction229].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction230___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 10069, LOCATE_parser___ReduceAction230___action};
+  struct trace_t trace = {NULL, NULL, 10069, LOCATE_parser___ReduceAction230___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -19019,6 +19494,7 @@ void parser___ReduceAction230___action(val_t  self, val_t  param0) {
   val_t variable10;
   val_t variable11;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -19061,21 +19537,23 @@ void parser___ReduceAction230___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction230___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 10098, LOCATE_parser___ReduceAction230___init};
+  struct trace_t trace = {NULL, NULL, 10098, LOCATE_parser___ReduceAction230___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction230].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction230].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction231___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 10102, LOCATE_parser___ReduceAction231___action};
+  struct trace_t trace = {NULL, NULL, 10102, LOCATE_parser___ReduceAction231___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   val_t variable3;
   val_t variable4;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -19089,20 +19567,22 @@ void parser___ReduceAction231___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction231___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 10110, LOCATE_parser___ReduceAction231___init};
+  struct trace_t trace = {NULL, NULL, 10110, LOCATE_parser___ReduceAction231___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction231].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction231].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction232___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 10114, LOCATE_parser___ReduceAction232___action};
+  struct trace_t trace = {NULL, NULL, 10114, LOCATE_parser___ReduceAction232___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   val_t variable3;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -19114,15 +19594,16 @@ void parser___ReduceAction232___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction232___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 10121, LOCATE_parser___ReduceAction232___init};
+  struct trace_t trace = {NULL, NULL, 10121, LOCATE_parser___ReduceAction232___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction232].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction232].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction233___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 10125, LOCATE_parser___ReduceAction233___action};
+  struct trace_t trace = {NULL, NULL, 10125, LOCATE_parser___ReduceAction233___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -19130,6 +19611,7 @@ void parser___ReduceAction233___action(val_t  self, val_t  param0) {
   val_t variable4;
   val_t variable5;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -19146,21 +19628,23 @@ void parser___ReduceAction233___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction233___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 10135, LOCATE_parser___ReduceAction233___init};
+  struct trace_t trace = {NULL, NULL, 10135, LOCATE_parser___ReduceAction233___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction233].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction233].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction234___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 10139, LOCATE_parser___ReduceAction234___action};
+  struct trace_t trace = {NULL, NULL, 10139, LOCATE_parser___ReduceAction234___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   val_t variable3;
   val_t variable4;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -19175,21 +19659,23 @@ void parser___ReduceAction234___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction234___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 10148, LOCATE_parser___ReduceAction234___init};
+  struct trace_t trace = {NULL, NULL, 10148, LOCATE_parser___ReduceAction234___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction234].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction234].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction235___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 10152, LOCATE_parser___ReduceAction235___action};
+  struct trace_t trace = {NULL, NULL, 10152, LOCATE_parser___ReduceAction235___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   val_t variable3;
   val_t variable4;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -19204,15 +19690,16 @@ void parser___ReduceAction235___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction235___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 10161, LOCATE_parser___ReduceAction235___init};
+  struct trace_t trace = {NULL, NULL, 10161, LOCATE_parser___ReduceAction235___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction235].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction235].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction236___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 10165, LOCATE_parser___ReduceAction236___action};
+  struct trace_t trace = {NULL, NULL, 10165, LOCATE_parser___ReduceAction236___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -19220,6 +19707,7 @@ void parser___ReduceAction236___action(val_t  self, val_t  param0) {
   val_t variable4;
   val_t variable5;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -19236,15 +19724,16 @@ void parser___ReduceAction236___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction236___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 10178, LOCATE_parser___ReduceAction236___init};
+  struct trace_t trace = {NULL, NULL, 10178, LOCATE_parser___ReduceAction236___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction236].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction236].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction237___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 10182, LOCATE_parser___ReduceAction237___action};
+  struct trace_t trace = {NULL, NULL, 10182, LOCATE_parser___ReduceAction237___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -19254,6 +19743,7 @@ void parser___ReduceAction237___action(val_t  self, val_t  param0) {
   val_t variable6;
   val_t variable7;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -19275,15 +19765,16 @@ void parser___ReduceAction237___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction237___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 10198, LOCATE_parser___ReduceAction237___init};
+  struct trace_t trace = {NULL, NULL, 10198, LOCATE_parser___ReduceAction237___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction237].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction237].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction238___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 10202, LOCATE_parser___ReduceAction238___action};
+  struct trace_t trace = {NULL, NULL, 10202, LOCATE_parser___ReduceAction238___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -19291,6 +19782,7 @@ void parser___ReduceAction238___action(val_t  self, val_t  param0) {
   val_t variable4;
   val_t variable5;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -19307,15 +19799,16 @@ void parser___ReduceAction238___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction238___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 10214, LOCATE_parser___ReduceAction238___init};
+  struct trace_t trace = {NULL, NULL, 10214, LOCATE_parser___ReduceAction238___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction238].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction238].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction239___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 10218, LOCATE_parser___ReduceAction239___action};
+  struct trace_t trace = {NULL, NULL, 10218, LOCATE_parser___ReduceAction239___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -19323,6 +19816,7 @@ void parser___ReduceAction239___action(val_t  self, val_t  param0) {
   val_t variable4;
   val_t variable5;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -19339,15 +19833,16 @@ void parser___ReduceAction239___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction239___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 10230, LOCATE_parser___ReduceAction239___init};
+  struct trace_t trace = {NULL, NULL, 10230, LOCATE_parser___ReduceAction239___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction239].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction239].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction240___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 10234, LOCATE_parser___ReduceAction240___action};
+  struct trace_t trace = {NULL, NULL, 10234, LOCATE_parser___ReduceAction240___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -19355,6 +19850,7 @@ void parser___ReduceAction240___action(val_t  self, val_t  param0) {
   val_t variable4;
   val_t variable5;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -19371,21 +19867,23 @@ void parser___ReduceAction240___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction240___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 10246, LOCATE_parser___ReduceAction240___init};
+  struct trace_t trace = {NULL, NULL, 10246, LOCATE_parser___ReduceAction240___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction240].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction240].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction241___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 10250, LOCATE_parser___ReduceAction241___action};
+  struct trace_t trace = {NULL, NULL, 10250, LOCATE_parser___ReduceAction241___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   val_t variable3;
   val_t variable4;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -19400,21 +19898,23 @@ void parser___ReduceAction241___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction241___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 10259, LOCATE_parser___ReduceAction241___init};
+  struct trace_t trace = {NULL, NULL, 10259, LOCATE_parser___ReduceAction241___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction241].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction241].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction242___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 10263, LOCATE_parser___ReduceAction242___action};
+  struct trace_t trace = {NULL, NULL, 10263, LOCATE_parser___ReduceAction242___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   val_t variable3;
   val_t variable4;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -19429,21 +19929,23 @@ void parser___ReduceAction242___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction242___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 10272, LOCATE_parser___ReduceAction242___init};
+  struct trace_t trace = {NULL, NULL, 10272, LOCATE_parser___ReduceAction242___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction242].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction242].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction243___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 10276, LOCATE_parser___ReduceAction243___action};
+  struct trace_t trace = {NULL, NULL, 10276, LOCATE_parser___ReduceAction243___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   val_t variable3;
   val_t variable4;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -19458,21 +19960,23 @@ void parser___ReduceAction243___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction243___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 10285, LOCATE_parser___ReduceAction243___init};
+  struct trace_t trace = {NULL, NULL, 10285, LOCATE_parser___ReduceAction243___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction243].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction243].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction244___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 10289, LOCATE_parser___ReduceAction244___action};
+  struct trace_t trace = {NULL, NULL, 10289, LOCATE_parser___ReduceAction244___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   val_t variable3;
   val_t variable4;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -19487,21 +19991,23 @@ void parser___ReduceAction244___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction244___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 10298, LOCATE_parser___ReduceAction244___init};
+  struct trace_t trace = {NULL, NULL, 10298, LOCATE_parser___ReduceAction244___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction244].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction244].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction245___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 10302, LOCATE_parser___ReduceAction245___action};
+  struct trace_t trace = {NULL, NULL, 10302, LOCATE_parser___ReduceAction245___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   val_t variable3;
   val_t variable4;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -19516,15 +20022,16 @@ void parser___ReduceAction245___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction245___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 10311, LOCATE_parser___ReduceAction245___init};
+  struct trace_t trace = {NULL, NULL, 10311, LOCATE_parser___ReduceAction245___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction245].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction245].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction246___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 10315, LOCATE_parser___ReduceAction246___action};
+  struct trace_t trace = {NULL, NULL, 10315, LOCATE_parser___ReduceAction246___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -19539,6 +20046,7 @@ void parser___ReduceAction246___action(val_t  self, val_t  param0) {
   val_t variable11;
   val_t variable12;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -19580,15 +20088,16 @@ void parser___ReduceAction246___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction246___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 10345, LOCATE_parser___ReduceAction246___init};
+  struct trace_t trace = {NULL, NULL, 10345, LOCATE_parser___ReduceAction246___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction246].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction246].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction247___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 10349, LOCATE_parser___ReduceAction247___action};
+  struct trace_t trace = {NULL, NULL, 10349, LOCATE_parser___ReduceAction247___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -19600,6 +20109,7 @@ void parser___ReduceAction247___action(val_t  self, val_t  param0) {
   val_t variable8;
   val_t variable9;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -19634,15 +20144,16 @@ void parser___ReduceAction247___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction247___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 10376, LOCATE_parser___ReduceAction247___init};
+  struct trace_t trace = {NULL, NULL, 10376, LOCATE_parser___ReduceAction247___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction247].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction247].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction248___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 10380, LOCATE_parser___ReduceAction248___action};
+  struct trace_t trace = {NULL, NULL, 10380, LOCATE_parser___ReduceAction248___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -19653,6 +20164,7 @@ void parser___ReduceAction248___action(val_t  self, val_t  param0) {
   val_t variable7;
   val_t variable8;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -19685,15 +20197,16 @@ void parser___ReduceAction248___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction248___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 10405, LOCATE_parser___ReduceAction248___init};
+  struct trace_t trace = {NULL, NULL, 10405, LOCATE_parser___ReduceAction248___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction248].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction248].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction249___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 10409, LOCATE_parser___ReduceAction249___action};
+  struct trace_t trace = {NULL, NULL, 10409, LOCATE_parser___ReduceAction249___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -19706,6 +20219,7 @@ void parser___ReduceAction249___action(val_t  self, val_t  param0) {
   val_t variable9;
   val_t variable10;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -19743,15 +20257,16 @@ void parser___ReduceAction249___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction249___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 10437, LOCATE_parser___ReduceAction249___init};
+  struct trace_t trace = {NULL, NULL, 10437, LOCATE_parser___ReduceAction249___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction249].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction249].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction250___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 10441, LOCATE_parser___ReduceAction250___action};
+  struct trace_t trace = {NULL, NULL, 10441, LOCATE_parser___ReduceAction250___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -19766,6 +20281,7 @@ void parser___ReduceAction250___action(val_t  self, val_t  param0) {
   val_t variable11;
   val_t variable12;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -19807,15 +20323,16 @@ void parser___ReduceAction250___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction250___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 10471, LOCATE_parser___ReduceAction250___init};
+  struct trace_t trace = {NULL, NULL, 10471, LOCATE_parser___ReduceAction250___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction250].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction250].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction251___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 10475, LOCATE_parser___ReduceAction251___action};
+  struct trace_t trace = {NULL, NULL, 10475, LOCATE_parser___ReduceAction251___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -19827,6 +20344,7 @@ void parser___ReduceAction251___action(val_t  self, val_t  param0) {
   val_t variable8;
   val_t variable9;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -19861,15 +20379,16 @@ void parser___ReduceAction251___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction251___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 10502, LOCATE_parser___ReduceAction251___init};
+  struct trace_t trace = {NULL, NULL, 10502, LOCATE_parser___ReduceAction251___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction251].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction251].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction252___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 10506, LOCATE_parser___ReduceAction252___action};
+  struct trace_t trace = {NULL, NULL, 10506, LOCATE_parser___ReduceAction252___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -19879,6 +20398,7 @@ void parser___ReduceAction252___action(val_t  self, val_t  param0) {
   val_t variable6;
   val_t variable7;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -19900,15 +20420,16 @@ void parser___ReduceAction252___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction252___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 10525, LOCATE_parser___ReduceAction252___init};
+  struct trace_t trace = {NULL, NULL, 10525, LOCATE_parser___ReduceAction252___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction252].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction252].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction253___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 10529, LOCATE_parser___ReduceAction253___action};
+  struct trace_t trace = {NULL, NULL, 10529, LOCATE_parser___ReduceAction253___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -19920,6 +20441,7 @@ void parser___ReduceAction253___action(val_t  self, val_t  param0) {
   val_t variable8;
   val_t variable9;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -19946,15 +20468,16 @@ void parser___ReduceAction253___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction253___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 10551, LOCATE_parser___ReduceAction253___init};
+  struct trace_t trace = {NULL, NULL, 10551, LOCATE_parser___ReduceAction253___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction253].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction253].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction254___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 10555, LOCATE_parser___ReduceAction254___action};
+  struct trace_t trace = {NULL, NULL, 10555, LOCATE_parser___ReduceAction254___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -19969,6 +20492,7 @@ void parser___ReduceAction254___action(val_t  self, val_t  param0) {
   val_t variable11;
   val_t variable12;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -20002,15 +20526,16 @@ void parser___ReduceAction254___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction254___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 10581, LOCATE_parser___ReduceAction254___init};
+  struct trace_t trace = {NULL, NULL, 10581, LOCATE_parser___ReduceAction254___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction254].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction254].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction255___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 10585, LOCATE_parser___ReduceAction255___action};
+  struct trace_t trace = {NULL, NULL, 10585, LOCATE_parser___ReduceAction255___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -20027,6 +20552,7 @@ void parser___ReduceAction255___action(val_t  self, val_t  param0) {
   val_t variable13;
   val_t variable14;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -20065,15 +20591,16 @@ void parser___ReduceAction255___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction255___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 10614, LOCATE_parser___ReduceAction255___init};
+  struct trace_t trace = {NULL, NULL, 10614, LOCATE_parser___ReduceAction255___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction255].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction255].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction256___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 10618, LOCATE_parser___ReduceAction256___action};
+  struct trace_t trace = {NULL, NULL, 10618, LOCATE_parser___ReduceAction256___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -20089,6 +20616,7 @@ void parser___ReduceAction256___action(val_t  self, val_t  param0) {
   val_t variable12;
   val_t variable13;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -20124,15 +20652,16 @@ void parser___ReduceAction256___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction256___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 10644, LOCATE_parser___ReduceAction256___init};
+  struct trace_t trace = {NULL, NULL, 10644, LOCATE_parser___ReduceAction256___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction256].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction256].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction257___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 10648, LOCATE_parser___ReduceAction257___action};
+  struct trace_t trace = {NULL, NULL, 10648, LOCATE_parser___ReduceAction257___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -20145,6 +20674,7 @@ void parser___ReduceAction257___action(val_t  self, val_t  param0) {
   val_t variable9;
   val_t variable10;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -20173,15 +20703,16 @@ void parser___ReduceAction257___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction257___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 10671, LOCATE_parser___ReduceAction257___init};
+  struct trace_t trace = {NULL, NULL, 10671, LOCATE_parser___ReduceAction257___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction257].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction257].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction258___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 10675, LOCATE_parser___ReduceAction258___action};
+  struct trace_t trace = {NULL, NULL, 10675, LOCATE_parser___ReduceAction258___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -20200,6 +20731,7 @@ void parser___ReduceAction258___action(val_t  self, val_t  param0) {
   val_t variable15;
   val_t variable16;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -20251,15 +20783,16 @@ void parser___ReduceAction258___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction258___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 10713, LOCATE_parser___ReduceAction258___init};
+  struct trace_t trace = {NULL, NULL, 10713, LOCATE_parser___ReduceAction258___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction258].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction258].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction259___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 10717, LOCATE_parser___ReduceAction259___action};
+  struct trace_t trace = {NULL, NULL, 10717, LOCATE_parser___ReduceAction259___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -20275,6 +20808,7 @@ void parser___ReduceAction259___action(val_t  self, val_t  param0) {
   val_t variable12;
   val_t variable13;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -20319,15 +20853,16 @@ void parser___ReduceAction259___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction259___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 10752, LOCATE_parser___ReduceAction259___init};
+  struct trace_t trace = {NULL, NULL, 10752, LOCATE_parser___ReduceAction259___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction259].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction259].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction260___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 10756, LOCATE_parser___ReduceAction260___action};
+  struct trace_t trace = {NULL, NULL, 10756, LOCATE_parser___ReduceAction260___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -20342,6 +20877,7 @@ void parser___ReduceAction260___action(val_t  self, val_t  param0) {
   val_t variable11;
   val_t variable12;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -20384,15 +20920,16 @@ void parser___ReduceAction260___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction260___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 10788, LOCATE_parser___ReduceAction260___init};
+  struct trace_t trace = {NULL, NULL, 10788, LOCATE_parser___ReduceAction260___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction260].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction260].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction261___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 10792, LOCATE_parser___ReduceAction261___action};
+  struct trace_t trace = {NULL, NULL, 10792, LOCATE_parser___ReduceAction261___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -20408,6 +20945,7 @@ void parser___ReduceAction261___action(val_t  self, val_t  param0) {
   val_t variable12;
   val_t variable13;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -20443,15 +20981,16 @@ void parser___ReduceAction261___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction261___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 10818, LOCATE_parser___ReduceAction261___init};
+  struct trace_t trace = {NULL, NULL, 10818, LOCATE_parser___ReduceAction261___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction261].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction261].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction262___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 10822, LOCATE_parser___ReduceAction262___action};
+  struct trace_t trace = {NULL, NULL, 10822, LOCATE_parser___ReduceAction262___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -20464,6 +21003,7 @@ void parser___ReduceAction262___action(val_t  self, val_t  param0) {
   val_t variable9;
   val_t variable10;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -20492,15 +21032,16 @@ void parser___ReduceAction262___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction262___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 10845, LOCATE_parser___ReduceAction262___init};
+  struct trace_t trace = {NULL, NULL, 10845, LOCATE_parser___ReduceAction262___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction262].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction262].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction263___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 10849, LOCATE_parser___ReduceAction263___action};
+  struct trace_t trace = {NULL, NULL, 10849, LOCATE_parser___ReduceAction263___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -20519,6 +21060,7 @@ void parser___ReduceAction263___action(val_t  self, val_t  param0) {
   val_t variable15;
   val_t variable16;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -20570,15 +21112,16 @@ void parser___ReduceAction263___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction263___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 10887, LOCATE_parser___ReduceAction263___init};
+  struct trace_t trace = {NULL, NULL, 10887, LOCATE_parser___ReduceAction263___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction263].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction263].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction264___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 10891, LOCATE_parser___ReduceAction264___action};
+  struct trace_t trace = {NULL, NULL, 10891, LOCATE_parser___ReduceAction264___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -20594,6 +21137,7 @@ void parser___ReduceAction264___action(val_t  self, val_t  param0) {
   val_t variable12;
   val_t variable13;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -20638,15 +21182,16 @@ void parser___ReduceAction264___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction264___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 10926, LOCATE_parser___ReduceAction264___init};
+  struct trace_t trace = {NULL, NULL, 10926, LOCATE_parser___ReduceAction264___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction264].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction264].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction265___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 10930, LOCATE_parser___ReduceAction265___action};
+  struct trace_t trace = {NULL, NULL, 10930, LOCATE_parser___ReduceAction265___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -20661,6 +21206,7 @@ void parser___ReduceAction265___action(val_t  self, val_t  param0) {
   val_t variable11;
   val_t variable12;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -20703,15 +21249,16 @@ void parser___ReduceAction265___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction265___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 10962, LOCATE_parser___ReduceAction265___init};
+  struct trace_t trace = {NULL, NULL, 10962, LOCATE_parser___ReduceAction265___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction265].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction265].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction266___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 10966, LOCATE_parser___ReduceAction266___action};
+  struct trace_t trace = {NULL, NULL, 10966, LOCATE_parser___ReduceAction266___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -20719,6 +21266,7 @@ void parser___ReduceAction266___action(val_t  self, val_t  param0) {
   val_t variable4;
   val_t variable5;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -20735,15 +21283,16 @@ void parser___ReduceAction266___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction266___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 10978, LOCATE_parser___ReduceAction266___init};
+  struct trace_t trace = {NULL, NULL, 10978, LOCATE_parser___ReduceAction266___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction266].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction266].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction267___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 10982, LOCATE_parser___ReduceAction267___action};
+  struct trace_t trace = {NULL, NULL, 10982, LOCATE_parser___ReduceAction267___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -20751,6 +21300,7 @@ void parser___ReduceAction267___action(val_t  self, val_t  param0) {
   val_t variable4;
   val_t variable5;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -20767,15 +21317,16 @@ void parser___ReduceAction267___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction267___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 10994, LOCATE_parser___ReduceAction267___init};
+  struct trace_t trace = {NULL, NULL, 10994, LOCATE_parser___ReduceAction267___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction267].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction267].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction268___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 10998, LOCATE_parser___ReduceAction268___action};
+  struct trace_t trace = {NULL, NULL, 10998, LOCATE_parser___ReduceAction268___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -20785,6 +21336,7 @@ void parser___ReduceAction268___action(val_t  self, val_t  param0) {
   val_t variable6;
   val_t variable7;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -20806,15 +21358,16 @@ void parser___ReduceAction268___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction268___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 11014, LOCATE_parser___ReduceAction268___init};
+  struct trace_t trace = {NULL, NULL, 11014, LOCATE_parser___ReduceAction268___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction268].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction268].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction269___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 11018, LOCATE_parser___ReduceAction269___action};
+  struct trace_t trace = {NULL, NULL, 11018, LOCATE_parser___ReduceAction269___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -20832,6 +21385,7 @@ void parser___ReduceAction269___action(val_t  self, val_t  param0) {
   val_t variable14;
   val_t variable15;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -20871,15 +21425,16 @@ void parser___ReduceAction269___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction269___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 11046, LOCATE_parser___ReduceAction269___init};
+  struct trace_t trace = {NULL, NULL, 11046, LOCATE_parser___ReduceAction269___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction269].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction269].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction270___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 11050, LOCATE_parser___ReduceAction270___action};
+  struct trace_t trace = {NULL, NULL, 11050, LOCATE_parser___ReduceAction270___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -20894,6 +21449,7 @@ void parser___ReduceAction270___action(val_t  self, val_t  param0) {
   val_t variable11;
   val_t variable12;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -20926,15 +21482,16 @@ void parser___ReduceAction270___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction270___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 11074, LOCATE_parser___ReduceAction270___init};
+  struct trace_t trace = {NULL, NULL, 11074, LOCATE_parser___ReduceAction270___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction270].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction270].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction271___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 11078, LOCATE_parser___ReduceAction271___action};
+  struct trace_t trace = {NULL, NULL, 11078, LOCATE_parser___ReduceAction271___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -20955,6 +21512,7 @@ void parser___ReduceAction271___action(val_t  self, val_t  param0) {
   val_t variable17;
   val_t variable18;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -21004,15 +21562,16 @@ void parser___ReduceAction271___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction271___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 11114, LOCATE_parser___ReduceAction271___init};
+  struct trace_t trace = {NULL, NULL, 11114, LOCATE_parser___ReduceAction271___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction271].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction271].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction272___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 11118, LOCATE_parser___ReduceAction272___action};
+  struct trace_t trace = {NULL, NULL, 11118, LOCATE_parser___ReduceAction272___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -21035,6 +21594,7 @@ void parser___ReduceAction272___action(val_t  self, val_t  param0) {
   val_t variable19;
   val_t variable20;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -21098,15 +21658,16 @@ void parser___ReduceAction272___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction272___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 11164, LOCATE_parser___ReduceAction272___init};
+  struct trace_t trace = {NULL, NULL, 11164, LOCATE_parser___ReduceAction272___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction272].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction272].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction273___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 11168, LOCATE_parser___ReduceAction273___action};
+  struct trace_t trace = {NULL, NULL, 11168, LOCATE_parser___ReduceAction273___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -21121,6 +21682,7 @@ void parser___ReduceAction273___action(val_t  self, val_t  param0) {
   val_t variable11;
   val_t variable12;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -21153,15 +21715,16 @@ void parser___ReduceAction273___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction273___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 11192, LOCATE_parser___ReduceAction273___init};
+  struct trace_t trace = {NULL, NULL, 11192, LOCATE_parser___ReduceAction273___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction273].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction273].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction274___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 11196, LOCATE_parser___ReduceAction274___action};
+  struct trace_t trace = {NULL, NULL, 11196, LOCATE_parser___ReduceAction274___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -21177,6 +21740,7 @@ void parser___ReduceAction274___action(val_t  self, val_t  param0) {
   val_t variable12;
   val_t variable13;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -21211,15 +21775,16 @@ void parser___ReduceAction274___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction274___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 11221, LOCATE_parser___ReduceAction274___init};
+  struct trace_t trace = {NULL, NULL, 11221, LOCATE_parser___ReduceAction274___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction274].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction274].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction275___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 11225, LOCATE_parser___ReduceAction275___action};
+  struct trace_t trace = {NULL, NULL, 11225, LOCATE_parser___ReduceAction275___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -21227,6 +21792,7 @@ void parser___ReduceAction275___action(val_t  self, val_t  param0) {
   val_t variable4;
   val_t variable5;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -21243,20 +21809,22 @@ void parser___ReduceAction275___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction275___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 11235, LOCATE_parser___ReduceAction275___init};
+  struct trace_t trace = {NULL, NULL, 11235, LOCATE_parser___ReduceAction275___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction275].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction275].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction276___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 11239, LOCATE_parser___ReduceAction276___action};
+  struct trace_t trace = {NULL, NULL, 11239, LOCATE_parser___ReduceAction276___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   val_t variable3;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -21268,15 +21836,16 @@ void parser___ReduceAction276___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction276___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 11246, LOCATE_parser___ReduceAction276___init};
+  struct trace_t trace = {NULL, NULL, 11246, LOCATE_parser___ReduceAction276___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction276].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction276].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction277___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 11250, LOCATE_parser___ReduceAction277___action};
+  struct trace_t trace = {NULL, NULL, 11250, LOCATE_parser___ReduceAction277___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -21292,6 +21861,7 @@ void parser___ReduceAction277___action(val_t  self, val_t  param0) {
   val_t variable12;
   val_t variable13;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -21327,15 +21897,16 @@ void parser___ReduceAction277___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction277___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 11276, LOCATE_parser___ReduceAction277___init};
+  struct trace_t trace = {NULL, NULL, 11276, LOCATE_parser___ReduceAction277___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction277].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction277].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction278___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 11280, LOCATE_parser___ReduceAction278___action};
+  struct trace_t trace = {NULL, NULL, 11280, LOCATE_parser___ReduceAction278___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -21348,6 +21919,7 @@ void parser___ReduceAction278___action(val_t  self, val_t  param0) {
   val_t variable9;
   val_t variable10;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -21376,15 +21948,16 @@ void parser___ReduceAction278___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction278___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 11301, LOCATE_parser___ReduceAction278___init};
+  struct trace_t trace = {NULL, NULL, 11301, LOCATE_parser___ReduceAction278___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction278].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction278].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction279___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 11305, LOCATE_parser___ReduceAction279___action};
+  struct trace_t trace = {NULL, NULL, 11305, LOCATE_parser___ReduceAction279___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -21400,6 +21973,7 @@ void parser___ReduceAction279___action(val_t  self, val_t  param0) {
   val_t variable12;
   val_t variable13;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -21434,15 +22008,16 @@ void parser___ReduceAction279___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction279___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 11329, LOCATE_parser___ReduceAction279___init};
+  struct trace_t trace = {NULL, NULL, 11329, LOCATE_parser___ReduceAction279___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction279].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction279].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction280___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 11333, LOCATE_parser___ReduceAction280___action};
+  struct trace_t trace = {NULL, NULL, 11333, LOCATE_parser___ReduceAction280___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -21452,6 +22027,7 @@ void parser___ReduceAction280___action(val_t  self, val_t  param0) {
   val_t variable6;
   val_t variable7;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -21473,15 +22049,16 @@ void parser___ReduceAction280___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction280___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 11350, LOCATE_parser___ReduceAction280___init};
+  struct trace_t trace = {NULL, NULL, 11350, LOCATE_parser___ReduceAction280___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction280].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction280].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction281___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 11354, LOCATE_parser___ReduceAction281___action};
+  struct trace_t trace = {NULL, NULL, 11354, LOCATE_parser___ReduceAction281___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -21493,6 +22070,7 @@ void parser___ReduceAction281___action(val_t  self, val_t  param0) {
   val_t variable8;
   val_t variable9;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -21519,15 +22097,16 @@ void parser___ReduceAction281___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction281___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 11374, LOCATE_parser___ReduceAction281___init};
+  struct trace_t trace = {NULL, NULL, 11374, LOCATE_parser___ReduceAction281___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction281].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction281].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction282___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 11378, LOCATE_parser___ReduceAction282___action};
+  struct trace_t trace = {NULL, NULL, 11378, LOCATE_parser___ReduceAction282___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -21535,6 +22114,7 @@ void parser___ReduceAction282___action(val_t  self, val_t  param0) {
   val_t variable4;
   val_t variable5;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -21551,21 +22131,23 @@ void parser___ReduceAction282___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction282___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 11388, LOCATE_parser___ReduceAction282___init};
+  struct trace_t trace = {NULL, NULL, 11388, LOCATE_parser___ReduceAction282___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction282].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction282].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction283___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 11392, LOCATE_parser___ReduceAction283___action};
+  struct trace_t trace = {NULL, NULL, 11392, LOCATE_parser___ReduceAction283___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   val_t variable3;
   val_t variable4;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -21580,15 +22162,16 @@ void parser___ReduceAction283___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction283___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 11401, LOCATE_parser___ReduceAction283___init};
+  struct trace_t trace = {NULL, NULL, 11401, LOCATE_parser___ReduceAction283___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction283].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction283].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction284___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 11405, LOCATE_parser___ReduceAction284___action};
+  struct trace_t trace = {NULL, NULL, 11405, LOCATE_parser___ReduceAction284___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -21611,6 +22194,7 @@ void parser___ReduceAction284___action(val_t  self, val_t  param0) {
   val_t variable19;
   val_t variable20;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -21662,21 +22246,23 @@ void parser___ReduceAction284___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction284___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 11442, LOCATE_parser___ReduceAction284___init};
+  struct trace_t trace = {NULL, NULL, 11442, LOCATE_parser___ReduceAction284___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction284].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction284].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction285___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 11446, LOCATE_parser___ReduceAction285___action};
+  struct trace_t trace = {NULL, NULL, 11446, LOCATE_parser___ReduceAction285___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   val_t variable3;
   val_t variable4;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -21691,15 +22277,16 @@ void parser___ReduceAction285___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction285___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 11455, LOCATE_parser___ReduceAction285___init};
+  struct trace_t trace = {NULL, NULL, 11455, LOCATE_parser___ReduceAction285___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction285].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction285].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction286___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 11459, LOCATE_parser___ReduceAction286___action};
+  struct trace_t trace = {NULL, NULL, 11459, LOCATE_parser___ReduceAction286___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -21711,6 +22298,7 @@ void parser___ReduceAction286___action(val_t  self, val_t  param0) {
   val_t variable8;
   val_t variable9;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -21736,15 +22324,16 @@ void parser___ReduceAction286___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction286___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 11477, LOCATE_parser___ReduceAction286___init};
+  struct trace_t trace = {NULL, NULL, 11477, LOCATE_parser___ReduceAction286___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction286].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction286].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction287___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 11481, LOCATE_parser___ReduceAction287___action};
+  struct trace_t trace = {NULL, NULL, 11481, LOCATE_parser___ReduceAction287___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -21756,6 +22345,7 @@ void parser___ReduceAction287___action(val_t  self, val_t  param0) {
   val_t variable8;
   val_t variable9;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -21781,21 +22371,23 @@ void parser___ReduceAction287___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction287___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 11499, LOCATE_parser___ReduceAction287___init};
+  struct trace_t trace = {NULL, NULL, 11499, LOCATE_parser___ReduceAction287___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction287].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction287].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction288___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 11503, LOCATE_parser___ReduceAction288___action};
+  struct trace_t trace = {NULL, NULL, 11503, LOCATE_parser___ReduceAction288___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   val_t variable3;
   val_t variable4;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -21810,15 +22402,16 @@ void parser___ReduceAction288___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction288___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 11512, LOCATE_parser___ReduceAction288___init};
+  struct trace_t trace = {NULL, NULL, 11512, LOCATE_parser___ReduceAction288___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction288].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction288].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction289___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 11516, LOCATE_parser___ReduceAction289___action};
+  struct trace_t trace = {NULL, NULL, 11516, LOCATE_parser___ReduceAction289___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -21829,6 +22422,7 @@ void parser___ReduceAction289___action(val_t  self, val_t  param0) {
   val_t variable7;
   val_t variable8;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -21852,21 +22446,23 @@ void parser___ReduceAction289___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction289___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 11533, LOCATE_parser___ReduceAction289___init};
+  struct trace_t trace = {NULL, NULL, 11533, LOCATE_parser___ReduceAction289___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction289].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction289].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction290___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 11537, LOCATE_parser___ReduceAction290___action};
+  struct trace_t trace = {NULL, NULL, 11537, LOCATE_parser___ReduceAction290___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   val_t variable3;
   val_t variable4;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -21881,15 +22477,16 @@ void parser___ReduceAction290___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction290___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 11546, LOCATE_parser___ReduceAction290___init};
+  struct trace_t trace = {NULL, NULL, 11546, LOCATE_parser___ReduceAction290___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction290].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction290].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction291___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 11550, LOCATE_parser___ReduceAction291___action};
+  struct trace_t trace = {NULL, NULL, 11550, LOCATE_parser___ReduceAction291___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -21901,6 +22498,7 @@ void parser___ReduceAction291___action(val_t  self, val_t  param0) {
   val_t variable8;
   val_t variable9;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -21926,15 +22524,16 @@ void parser___ReduceAction291___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction291___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 11568, LOCATE_parser___ReduceAction291___init};
+  struct trace_t trace = {NULL, NULL, 11568, LOCATE_parser___ReduceAction291___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction291].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction291].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction292___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 11572, LOCATE_parser___ReduceAction292___action};
+  struct trace_t trace = {NULL, NULL, 11572, LOCATE_parser___ReduceAction292___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -21946,6 +22545,7 @@ void parser___ReduceAction292___action(val_t  self, val_t  param0) {
   val_t variable8;
   val_t variable9;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -21971,15 +22571,16 @@ void parser___ReduceAction292___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction292___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 11590, LOCATE_parser___ReduceAction292___init};
+  struct trace_t trace = {NULL, NULL, 11590, LOCATE_parser___ReduceAction292___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction292].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction292].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction293___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 11594, LOCATE_parser___ReduceAction293___action};
+  struct trace_t trace = {NULL, NULL, 11594, LOCATE_parser___ReduceAction293___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -21991,6 +22592,7 @@ void parser___ReduceAction293___action(val_t  self, val_t  param0) {
   val_t variable8;
   val_t variable9;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -22016,15 +22618,16 @@ void parser___ReduceAction293___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction293___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 11612, LOCATE_parser___ReduceAction293___init};
+  struct trace_t trace = {NULL, NULL, 11612, LOCATE_parser___ReduceAction293___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction293].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction293].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction294___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 11616, LOCATE_parser___ReduceAction294___action};
+  struct trace_t trace = {NULL, NULL, 11616, LOCATE_parser___ReduceAction294___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -22036,6 +22639,7 @@ void parser___ReduceAction294___action(val_t  self, val_t  param0) {
   val_t variable8;
   val_t variable9;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -22061,15 +22665,16 @@ void parser___ReduceAction294___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction294___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 11634, LOCATE_parser___ReduceAction294___init};
+  struct trace_t trace = {NULL, NULL, 11634, LOCATE_parser___ReduceAction294___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction294].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction294].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction295___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 11638, LOCATE_parser___ReduceAction295___action};
+  struct trace_t trace = {NULL, NULL, 11638, LOCATE_parser___ReduceAction295___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -22081,6 +22686,7 @@ void parser___ReduceAction295___action(val_t  self, val_t  param0) {
   val_t variable8;
   val_t variable9;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -22106,15 +22712,16 @@ void parser___ReduceAction295___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction295___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 11656, LOCATE_parser___ReduceAction295___init};
+  struct trace_t trace = {NULL, NULL, 11656, LOCATE_parser___ReduceAction295___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction295].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction295].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction296___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 11660, LOCATE_parser___ReduceAction296___action};
+  struct trace_t trace = {NULL, NULL, 11660, LOCATE_parser___ReduceAction296___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -22126,6 +22733,7 @@ void parser___ReduceAction296___action(val_t  self, val_t  param0) {
   val_t variable8;
   val_t variable9;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -22151,15 +22759,16 @@ void parser___ReduceAction296___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction296___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 11678, LOCATE_parser___ReduceAction296___init};
+  struct trace_t trace = {NULL, NULL, 11678, LOCATE_parser___ReduceAction296___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction296].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction296].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction297___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 11682, LOCATE_parser___ReduceAction297___action};
+  struct trace_t trace = {NULL, NULL, 11682, LOCATE_parser___ReduceAction297___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -22171,6 +22780,7 @@ void parser___ReduceAction297___action(val_t  self, val_t  param0) {
   val_t variable8;
   val_t variable9;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -22196,15 +22806,16 @@ void parser___ReduceAction297___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction297___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 11700, LOCATE_parser___ReduceAction297___init};
+  struct trace_t trace = {NULL, NULL, 11700, LOCATE_parser___ReduceAction297___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction297].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction297].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction298___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 11704, LOCATE_parser___ReduceAction298___action};
+  struct trace_t trace = {NULL, NULL, 11704, LOCATE_parser___ReduceAction298___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -22216,6 +22827,7 @@ void parser___ReduceAction298___action(val_t  self, val_t  param0) {
   val_t variable8;
   val_t variable9;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -22241,15 +22853,16 @@ void parser___ReduceAction298___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction298___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 11722, LOCATE_parser___ReduceAction298___init};
+  struct trace_t trace = {NULL, NULL, 11722, LOCATE_parser___ReduceAction298___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction298].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction298].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction299___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 11726, LOCATE_parser___ReduceAction299___action};
+  struct trace_t trace = {NULL, NULL, 11726, LOCATE_parser___ReduceAction299___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -22261,6 +22874,7 @@ void parser___ReduceAction299___action(val_t  self, val_t  param0) {
   val_t variable8;
   val_t variable9;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -22286,21 +22900,23 @@ void parser___ReduceAction299___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction299___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 11744, LOCATE_parser___ReduceAction299___init};
+  struct trace_t trace = {NULL, NULL, 11744, LOCATE_parser___ReduceAction299___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction299].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction299].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction300___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 11748, LOCATE_parser___ReduceAction300___action};
+  struct trace_t trace = {NULL, NULL, 11748, LOCATE_parser___ReduceAction300___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   val_t variable3;
   val_t variable4;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -22315,15 +22931,16 @@ void parser___ReduceAction300___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction300___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 11757, LOCATE_parser___ReduceAction300___init};
+  struct trace_t trace = {NULL, NULL, 11757, LOCATE_parser___ReduceAction300___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction300].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction300].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction301___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 11761, LOCATE_parser___ReduceAction301___action};
+  struct trace_t trace = {NULL, NULL, 11761, LOCATE_parser___ReduceAction301___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -22335,6 +22952,7 @@ void parser___ReduceAction301___action(val_t  self, val_t  param0) {
   val_t variable8;
   val_t variable9;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -22360,15 +22978,16 @@ void parser___ReduceAction301___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction301___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 11779, LOCATE_parser___ReduceAction301___init};
+  struct trace_t trace = {NULL, NULL, 11779, LOCATE_parser___ReduceAction301___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction301].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction301].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction302___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 11783, LOCATE_parser___ReduceAction302___action};
+  struct trace_t trace = {NULL, NULL, 11783, LOCATE_parser___ReduceAction302___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -22380,6 +22999,7 @@ void parser___ReduceAction302___action(val_t  self, val_t  param0) {
   val_t variable8;
   val_t variable9;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -22405,21 +23025,23 @@ void parser___ReduceAction302___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction302___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 11801, LOCATE_parser___ReduceAction302___init};
+  struct trace_t trace = {NULL, NULL, 11801, LOCATE_parser___ReduceAction302___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction302].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction302].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction303___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 11805, LOCATE_parser___ReduceAction303___action};
+  struct trace_t trace = {NULL, NULL, 11805, LOCATE_parser___ReduceAction303___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   val_t variable3;
   val_t variable4;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -22434,15 +23056,16 @@ void parser___ReduceAction303___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction303___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 11814, LOCATE_parser___ReduceAction303___init};
+  struct trace_t trace = {NULL, NULL, 11814, LOCATE_parser___ReduceAction303___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction303].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction303].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction304___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 11818, LOCATE_parser___ReduceAction304___action};
+  struct trace_t trace = {NULL, NULL, 11818, LOCATE_parser___ReduceAction304___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -22454,6 +23077,7 @@ void parser___ReduceAction304___action(val_t  self, val_t  param0) {
   val_t variable8;
   val_t variable9;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -22479,15 +23103,16 @@ void parser___ReduceAction304___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction304___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 11836, LOCATE_parser___ReduceAction304___init};
+  struct trace_t trace = {NULL, NULL, 11836, LOCATE_parser___ReduceAction304___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction304].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction304].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction305___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 11840, LOCATE_parser___ReduceAction305___action};
+  struct trace_t trace = {NULL, NULL, 11840, LOCATE_parser___ReduceAction305___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -22499,6 +23124,7 @@ void parser___ReduceAction305___action(val_t  self, val_t  param0) {
   val_t variable8;
   val_t variable9;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -22524,15 +23150,16 @@ void parser___ReduceAction305___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction305___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 11858, LOCATE_parser___ReduceAction305___init};
+  struct trace_t trace = {NULL, NULL, 11858, LOCATE_parser___ReduceAction305___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction305].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction305].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction306___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 11862, LOCATE_parser___ReduceAction306___action};
+  struct trace_t trace = {NULL, NULL, 11862, LOCATE_parser___ReduceAction306___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -22544,6 +23171,7 @@ void parser___ReduceAction306___action(val_t  self, val_t  param0) {
   val_t variable8;
   val_t variable9;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -22569,21 +23197,23 @@ void parser___ReduceAction306___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction306___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 11880, LOCATE_parser___ReduceAction306___init};
+  struct trace_t trace = {NULL, NULL, 11880, LOCATE_parser___ReduceAction306___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction306].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction306].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction307___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 11884, LOCATE_parser___ReduceAction307___action};
+  struct trace_t trace = {NULL, NULL, 11884, LOCATE_parser___ReduceAction307___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   val_t variable3;
   val_t variable4;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -22598,15 +23228,16 @@ void parser___ReduceAction307___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction307___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 11893, LOCATE_parser___ReduceAction307___init};
+  struct trace_t trace = {NULL, NULL, 11893, LOCATE_parser___ReduceAction307___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction307].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction307].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction308___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 11897, LOCATE_parser___ReduceAction308___action};
+  struct trace_t trace = {NULL, NULL, 11897, LOCATE_parser___ReduceAction308___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -22617,6 +23248,7 @@ void parser___ReduceAction308___action(val_t  self, val_t  param0) {
   val_t variable7;
   val_t variable8;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -22640,15 +23272,16 @@ void parser___ReduceAction308___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction308___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 11914, LOCATE_parser___ReduceAction308___init};
+  struct trace_t trace = {NULL, NULL, 11914, LOCATE_parser___ReduceAction308___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction308].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction308].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction309___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 11918, LOCATE_parser___ReduceAction309___action};
+  struct trace_t trace = {NULL, NULL, 11918, LOCATE_parser___ReduceAction309___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -22659,6 +23292,7 @@ void parser___ReduceAction309___action(val_t  self, val_t  param0) {
   val_t variable7;
   val_t variable8;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -22682,21 +23316,23 @@ void parser___ReduceAction309___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction309___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 11935, LOCATE_parser___ReduceAction309___init};
+  struct trace_t trace = {NULL, NULL, 11935, LOCATE_parser___ReduceAction309___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction309].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction309].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction310___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 11939, LOCATE_parser___ReduceAction310___action};
+  struct trace_t trace = {NULL, NULL, 11939, LOCATE_parser___ReduceAction310___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   val_t variable3;
   val_t variable4;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -22711,15 +23347,16 @@ void parser___ReduceAction310___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction310___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 11948, LOCATE_parser___ReduceAction310___init};
+  struct trace_t trace = {NULL, NULL, 11948, LOCATE_parser___ReduceAction310___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction310].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction310].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction311___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 11952, LOCATE_parser___ReduceAction311___action};
+  struct trace_t trace = {NULL, NULL, 11952, LOCATE_parser___ReduceAction311___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -22733,6 +23370,7 @@ void parser___ReduceAction311___action(val_t  self, val_t  param0) {
   val_t variable10;
   val_t variable11;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -22772,15 +23410,16 @@ void parser___ReduceAction311___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction311___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 11982, LOCATE_parser___ReduceAction311___init};
+  struct trace_t trace = {NULL, NULL, 11982, LOCATE_parser___ReduceAction311___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction311].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction311].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction312___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 11986, LOCATE_parser___ReduceAction312___action};
+  struct trace_t trace = {NULL, NULL, 11986, LOCATE_parser___ReduceAction312___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -22792,6 +23431,7 @@ void parser___ReduceAction312___action(val_t  self, val_t  param0) {
   val_t variable8;
   val_t variable9;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -22817,15 +23457,16 @@ void parser___ReduceAction312___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction312___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 12004, LOCATE_parser___ReduceAction312___init};
+  struct trace_t trace = {NULL, NULL, 12004, LOCATE_parser___ReduceAction312___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction312].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction312].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction313___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 12008, LOCATE_parser___ReduceAction313___action};
+  struct trace_t trace = {NULL, NULL, 12008, LOCATE_parser___ReduceAction313___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -22834,6 +23475,7 @@ void parser___ReduceAction313___action(val_t  self, val_t  param0) {
   val_t variable5;
   val_t variable6;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -22852,15 +23494,16 @@ void parser___ReduceAction313___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction313___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 12023, LOCATE_parser___ReduceAction313___init};
+  struct trace_t trace = {NULL, NULL, 12023, LOCATE_parser___ReduceAction313___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction313].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction313].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction314___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 12027, LOCATE_parser___ReduceAction314___action};
+  struct trace_t trace = {NULL, NULL, 12027, LOCATE_parser___ReduceAction314___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -22875,6 +23518,7 @@ void parser___ReduceAction314___action(val_t  self, val_t  param0) {
   val_t variable11;
   val_t variable12;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -22916,15 +23560,16 @@ void parser___ReduceAction314___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction314___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 12057, LOCATE_parser___ReduceAction314___init};
+  struct trace_t trace = {NULL, NULL, 12057, LOCATE_parser___ReduceAction314___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction314].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction314].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction315___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 12061, LOCATE_parser___ReduceAction315___action};
+  struct trace_t trace = {NULL, NULL, 12061, LOCATE_parser___ReduceAction315___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -22936,6 +23581,7 @@ void parser___ReduceAction315___action(val_t  self, val_t  param0) {
   val_t variable8;
   val_t variable9;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -22970,15 +23616,16 @@ void parser___ReduceAction315___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction315___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 12088, LOCATE_parser___ReduceAction315___init};
+  struct trace_t trace = {NULL, NULL, 12088, LOCATE_parser___ReduceAction315___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction315].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction315].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction316___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 12092, LOCATE_parser___ReduceAction316___action};
+  struct trace_t trace = {NULL, NULL, 12092, LOCATE_parser___ReduceAction316___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -22989,6 +23636,7 @@ void parser___ReduceAction316___action(val_t  self, val_t  param0) {
   val_t variable7;
   val_t variable8;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -23021,15 +23669,16 @@ void parser___ReduceAction316___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction316___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 12117, LOCATE_parser___ReduceAction316___init};
+  struct trace_t trace = {NULL, NULL, 12117, LOCATE_parser___ReduceAction316___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction316].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction316].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction317___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 12121, LOCATE_parser___ReduceAction317___action};
+  struct trace_t trace = {NULL, NULL, 12121, LOCATE_parser___ReduceAction317___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -23042,6 +23691,7 @@ void parser___ReduceAction317___action(val_t  self, val_t  param0) {
   val_t variable9;
   val_t variable10;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -23079,15 +23729,16 @@ void parser___ReduceAction317___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction317___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 12149, LOCATE_parser___ReduceAction317___init};
+  struct trace_t trace = {NULL, NULL, 12149, LOCATE_parser___ReduceAction317___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction317].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction317].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction318___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 12153, LOCATE_parser___ReduceAction318___action};
+  struct trace_t trace = {NULL, NULL, 12153, LOCATE_parser___ReduceAction318___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -23102,6 +23753,7 @@ void parser___ReduceAction318___action(val_t  self, val_t  param0) {
   val_t variable11;
   val_t variable12;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -23143,15 +23795,16 @@ void parser___ReduceAction318___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction318___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 12183, LOCATE_parser___ReduceAction318___init};
+  struct trace_t trace = {NULL, NULL, 12183, LOCATE_parser___ReduceAction318___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction318].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction318].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction319___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 12187, LOCATE_parser___ReduceAction319___action};
+  struct trace_t trace = {NULL, NULL, 12187, LOCATE_parser___ReduceAction319___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -23163,6 +23816,7 @@ void parser___ReduceAction319___action(val_t  self, val_t  param0) {
   val_t variable8;
   val_t variable9;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -23197,15 +23851,16 @@ void parser___ReduceAction319___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction319___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 12214, LOCATE_parser___ReduceAction319___init};
+  struct trace_t trace = {NULL, NULL, 12214, LOCATE_parser___ReduceAction319___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction319].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction319].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction320___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 12218, LOCATE_parser___ReduceAction320___action};
+  struct trace_t trace = {NULL, NULL, 12218, LOCATE_parser___ReduceAction320___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -23216,6 +23871,7 @@ void parser___ReduceAction320___action(val_t  self, val_t  param0) {
   val_t variable7;
   val_t variable8;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -23248,15 +23904,16 @@ void parser___ReduceAction320___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction320___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 12242, LOCATE_parser___ReduceAction320___init};
+  struct trace_t trace = {NULL, NULL, 12242, LOCATE_parser___ReduceAction320___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction320].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction320].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction321___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 12246, LOCATE_parser___ReduceAction321___action};
+  struct trace_t trace = {NULL, NULL, 12246, LOCATE_parser___ReduceAction321___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -23274,6 +23931,7 @@ void parser___ReduceAction321___action(val_t  self, val_t  param0) {
   val_t variable14;
   val_t variable15;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -23322,15 +23980,16 @@ void parser___ReduceAction321___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction321___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 12281, LOCATE_parser___ReduceAction321___init};
+  struct trace_t trace = {NULL, NULL, 12281, LOCATE_parser___ReduceAction321___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction321].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction321].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction322___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 12285, LOCATE_parser___ReduceAction322___action};
+  struct trace_t trace = {NULL, NULL, 12285, LOCATE_parser___ReduceAction322___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -23347,6 +24006,7 @@ void parser___ReduceAction322___action(val_t  self, val_t  param0) {
   val_t variable13;
   val_t variable14;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -23382,15 +24042,16 @@ void parser___ReduceAction322___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction322___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 12308, LOCATE_parser___ReduceAction322___init};
+  struct trace_t trace = {NULL, NULL, 12308, LOCATE_parser___ReduceAction322___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction322].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction322].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction323___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 12312, LOCATE_parser___ReduceAction323___action};
+  struct trace_t trace = {NULL, NULL, 12312, LOCATE_parser___ReduceAction323___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -23407,6 +24068,7 @@ void parser___ReduceAction323___action(val_t  self, val_t  param0) {
   val_t variable13;
   val_t variable14;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -23442,15 +24104,16 @@ void parser___ReduceAction323___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction323___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 12335, LOCATE_parser___ReduceAction323___init};
+  struct trace_t trace = {NULL, NULL, 12335, LOCATE_parser___ReduceAction323___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction323].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction323].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction324___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 12339, LOCATE_parser___ReduceAction324___action};
+  struct trace_t trace = {NULL, NULL, 12339, LOCATE_parser___ReduceAction324___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -23459,6 +24122,7 @@ void parser___ReduceAction324___action(val_t  self, val_t  param0) {
   val_t variable5;
   val_t variable6;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -23486,15 +24150,16 @@ void parser___ReduceAction324___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction324___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 12359, LOCATE_parser___ReduceAction324___init};
+  struct trace_t trace = {NULL, NULL, 12359, LOCATE_parser___ReduceAction324___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction324].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction324].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction325___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 12363, LOCATE_parser___ReduceAction325___action};
+  struct trace_t trace = {NULL, NULL, 12363, LOCATE_parser___ReduceAction325___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -23502,6 +24167,7 @@ void parser___ReduceAction325___action(val_t  self, val_t  param0) {
   val_t variable4;
   val_t variable5;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -23518,15 +24184,16 @@ void parser___ReduceAction325___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction325___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 12375, LOCATE_parser___ReduceAction325___init};
+  struct trace_t trace = {NULL, NULL, 12375, LOCATE_parser___ReduceAction325___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction325].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction325].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction326___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 12379, LOCATE_parser___ReduceAction326___action};
+  struct trace_t trace = {NULL, NULL, 12379, LOCATE_parser___ReduceAction326___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -23534,6 +24201,7 @@ void parser___ReduceAction326___action(val_t  self, val_t  param0) {
   val_t variable4;
   val_t variable5;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -23550,15 +24218,16 @@ void parser___ReduceAction326___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction326___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 12391, LOCATE_parser___ReduceAction326___init};
+  struct trace_t trace = {NULL, NULL, 12391, LOCATE_parser___ReduceAction326___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction326].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction326].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction327___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 12395, LOCATE_parser___ReduceAction327___action};
+  struct trace_t trace = {NULL, NULL, 12395, LOCATE_parser___ReduceAction327___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -23566,6 +24235,7 @@ void parser___ReduceAction327___action(val_t  self, val_t  param0) {
   val_t variable4;
   val_t variable5;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -23582,15 +24252,16 @@ void parser___ReduceAction327___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction327___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 12407, LOCATE_parser___ReduceAction327___init};
+  struct trace_t trace = {NULL, NULL, 12407, LOCATE_parser___ReduceAction327___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction327].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction327].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction328___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 12411, LOCATE_parser___ReduceAction328___action};
+  struct trace_t trace = {NULL, NULL, 12411, LOCATE_parser___ReduceAction328___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -23598,6 +24269,7 @@ void parser___ReduceAction328___action(val_t  self, val_t  param0) {
   val_t variable4;
   val_t variable5;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -23614,15 +24286,16 @@ void parser___ReduceAction328___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction328___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 12423, LOCATE_parser___ReduceAction328___init};
+  struct trace_t trace = {NULL, NULL, 12423, LOCATE_parser___ReduceAction328___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction328].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction328].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction329___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 12427, LOCATE_parser___ReduceAction329___action};
+  struct trace_t trace = {NULL, NULL, 12427, LOCATE_parser___ReduceAction329___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -23630,6 +24303,7 @@ void parser___ReduceAction329___action(val_t  self, val_t  param0) {
   val_t variable4;
   val_t variable5;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -23646,15 +24320,16 @@ void parser___ReduceAction329___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction329___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 12439, LOCATE_parser___ReduceAction329___init};
+  struct trace_t trace = {NULL, NULL, 12439, LOCATE_parser___ReduceAction329___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction329].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction329].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction330___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 12443, LOCATE_parser___ReduceAction330___action};
+  struct trace_t trace = {NULL, NULL, 12443, LOCATE_parser___ReduceAction330___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -23662,6 +24337,7 @@ void parser___ReduceAction330___action(val_t  self, val_t  param0) {
   val_t variable4;
   val_t variable5;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -23678,15 +24354,16 @@ void parser___ReduceAction330___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction330___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 12455, LOCATE_parser___ReduceAction330___init};
+  struct trace_t trace = {NULL, NULL, 12455, LOCATE_parser___ReduceAction330___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction330].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction330].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction331___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 12459, LOCATE_parser___ReduceAction331___action};
+  struct trace_t trace = {NULL, NULL, 12459, LOCATE_parser___ReduceAction331___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -23694,6 +24371,7 @@ void parser___ReduceAction331___action(val_t  self, val_t  param0) {
   val_t variable4;
   val_t variable5;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -23710,15 +24388,16 @@ void parser___ReduceAction331___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction331___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 12471, LOCATE_parser___ReduceAction331___init};
+  struct trace_t trace = {NULL, NULL, 12471, LOCATE_parser___ReduceAction331___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction331].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction331].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction332___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 12475, LOCATE_parser___ReduceAction332___action};
+  struct trace_t trace = {NULL, NULL, 12475, LOCATE_parser___ReduceAction332___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -23726,6 +24405,7 @@ void parser___ReduceAction332___action(val_t  self, val_t  param0) {
   val_t variable4;
   val_t variable5;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -23742,21 +24422,23 @@ void parser___ReduceAction332___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction332___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 12487, LOCATE_parser___ReduceAction332___init};
+  struct trace_t trace = {NULL, NULL, 12487, LOCATE_parser___ReduceAction332___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction332].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction332].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction333___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 12491, LOCATE_parser___ReduceAction333___action};
+  struct trace_t trace = {NULL, NULL, 12491, LOCATE_parser___ReduceAction333___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   val_t variable3;
   val_t variable4;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -23771,15 +24453,16 @@ void parser___ReduceAction333___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction333___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 12500, LOCATE_parser___ReduceAction333___init};
+  struct trace_t trace = {NULL, NULL, 12500, LOCATE_parser___ReduceAction333___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction333].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction333].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction334___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 12504, LOCATE_parser___ReduceAction334___action};
+  struct trace_t trace = {NULL, NULL, 12504, LOCATE_parser___ReduceAction334___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -23788,6 +24471,7 @@ void parser___ReduceAction334___action(val_t  self, val_t  param0) {
   val_t variable5;
   val_t variable6;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -23806,15 +24490,16 @@ void parser___ReduceAction334___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction334___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 12515, LOCATE_parser___ReduceAction334___init};
+  struct trace_t trace = {NULL, NULL, 12515, LOCATE_parser___ReduceAction334___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction334].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction334].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction335___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 12519, LOCATE_parser___ReduceAction335___action};
+  struct trace_t trace = {NULL, NULL, 12519, LOCATE_parser___ReduceAction335___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -23833,6 +24518,7 @@ void parser___ReduceAction335___action(val_t  self, val_t  param0) {
   val_t variable15;
   val_t variable16;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -23873,15 +24559,16 @@ void parser___ReduceAction335___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction335___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 12546, LOCATE_parser___ReduceAction335___init};
+  struct trace_t trace = {NULL, NULL, 12546, LOCATE_parser___ReduceAction335___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction335].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction335].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction336___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 12550, LOCATE_parser___ReduceAction336___action};
+  struct trace_t trace = {NULL, NULL, 12550, LOCATE_parser___ReduceAction336___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -23892,6 +24579,7 @@ void parser___ReduceAction336___action(val_t  self, val_t  param0) {
   val_t variable7;
   val_t variable8;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -23928,15 +24616,16 @@ void parser___ReduceAction336___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction336___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 12576, LOCATE_parser___ReduceAction336___init};
+  struct trace_t trace = {NULL, NULL, 12576, LOCATE_parser___ReduceAction336___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction336].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction336].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction337___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 12580, LOCATE_parser___ReduceAction337___action};
+  struct trace_t trace = {NULL, NULL, 12580, LOCATE_parser___ReduceAction337___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -23949,6 +24638,7 @@ void parser___ReduceAction337___action(val_t  self, val_t  param0) {
   val_t variable9;
   val_t variable10;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -23999,15 +24689,16 @@ void parser___ReduceAction337___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction337___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 12616, LOCATE_parser___ReduceAction337___init};
+  struct trace_t trace = {NULL, NULL, 12616, LOCATE_parser___ReduceAction337___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction337].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction337].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction338___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 12620, LOCATE_parser___ReduceAction338___action};
+  struct trace_t trace = {NULL, NULL, 12620, LOCATE_parser___ReduceAction338___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -24019,6 +24710,7 @@ void parser___ReduceAction338___action(val_t  self, val_t  param0) {
   val_t variable8;
   val_t variable9;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -24052,15 +24744,16 @@ void parser___ReduceAction338___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction338___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 12641, LOCATE_parser___ReduceAction338___init};
+  struct trace_t trace = {NULL, NULL, 12641, LOCATE_parser___ReduceAction338___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction338].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction338].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction339___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 12645, LOCATE_parser___ReduceAction339___action};
+  struct trace_t trace = {NULL, NULL, 12645, LOCATE_parser___ReduceAction339___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -24068,6 +24761,7 @@ void parser___ReduceAction339___action(val_t  self, val_t  param0) {
   val_t variable4;
   val_t variable5;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -24084,15 +24778,16 @@ void parser___ReduceAction339___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction339___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 12657, LOCATE_parser___ReduceAction339___init};
+  struct trace_t trace = {NULL, NULL, 12657, LOCATE_parser___ReduceAction339___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction339].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction339].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction340___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 12661, LOCATE_parser___ReduceAction340___action};
+  struct trace_t trace = {NULL, NULL, 12661, LOCATE_parser___ReduceAction340___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -24104,6 +24799,7 @@ void parser___ReduceAction340___action(val_t  self, val_t  param0) {
   val_t variable8;
   val_t variable9;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -24137,15 +24833,16 @@ void parser___ReduceAction340___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction340___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 12682, LOCATE_parser___ReduceAction340___init};
+  struct trace_t trace = {NULL, NULL, 12682, LOCATE_parser___ReduceAction340___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction340].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction340].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction341___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 12686, LOCATE_parser___ReduceAction341___action};
+  struct trace_t trace = {NULL, NULL, 12686, LOCATE_parser___ReduceAction341___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -24153,6 +24850,7 @@ void parser___ReduceAction341___action(val_t  self, val_t  param0) {
   val_t variable4;
   val_t variable5;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -24169,15 +24867,16 @@ void parser___ReduceAction341___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction341___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 12698, LOCATE_parser___ReduceAction341___init};
+  struct trace_t trace = {NULL, NULL, 12698, LOCATE_parser___ReduceAction341___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction341].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction341].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction342___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 12702, LOCATE_parser___ReduceAction342___action};
+  struct trace_t trace = {NULL, NULL, 12702, LOCATE_parser___ReduceAction342___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -24185,6 +24884,7 @@ void parser___ReduceAction342___action(val_t  self, val_t  param0) {
   val_t variable4;
   val_t variable5;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -24201,15 +24901,16 @@ void parser___ReduceAction342___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction342___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 12714, LOCATE_parser___ReduceAction342___init};
+  struct trace_t trace = {NULL, NULL, 12714, LOCATE_parser___ReduceAction342___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction342].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction342].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction343___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 12718, LOCATE_parser___ReduceAction343___action};
+  struct trace_t trace = {NULL, NULL, 12718, LOCATE_parser___ReduceAction343___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -24221,6 +24922,7 @@ void parser___ReduceAction343___action(val_t  self, val_t  param0) {
   val_t variable8;
   val_t variable9;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -24249,15 +24951,16 @@ void parser___ReduceAction343___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction343___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 12735, LOCATE_parser___ReduceAction343___init};
+  struct trace_t trace = {NULL, NULL, 12735, LOCATE_parser___ReduceAction343___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction343].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction343].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction344___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 12739, LOCATE_parser___ReduceAction344___action};
+  struct trace_t trace = {NULL, NULL, 12739, LOCATE_parser___ReduceAction344___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -24271,6 +24974,7 @@ void parser___ReduceAction344___action(val_t  self, val_t  param0) {
   val_t variable10;
   val_t variable11;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -24313,15 +25017,16 @@ void parser___ReduceAction344___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction344___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 12766, LOCATE_parser___ReduceAction344___init};
+  struct trace_t trace = {NULL, NULL, 12766, LOCATE_parser___ReduceAction344___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction344].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction344].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction345___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 12770, LOCATE_parser___ReduceAction345___action};
+  struct trace_t trace = {NULL, NULL, 12770, LOCATE_parser___ReduceAction345___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -24330,6 +25035,7 @@ void parser___ReduceAction345___action(val_t  self, val_t  param0) {
   val_t variable5;
   val_t variable6;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -24347,20 +25053,22 @@ void parser___ReduceAction345___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction345___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 12780, LOCATE_parser___ReduceAction345___init};
+  struct trace_t trace = {NULL, NULL, 12780, LOCATE_parser___ReduceAction345___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction345].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction345].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction346___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 12784, LOCATE_parser___ReduceAction346___action};
+  struct trace_t trace = {NULL, NULL, 12784, LOCATE_parser___ReduceAction346___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   val_t variable3;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = NEW_array___Array___init(); /*new Array[E]*/
@@ -24372,15 +25080,16 @@ void parser___ReduceAction346___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction346___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 12791, LOCATE_parser___ReduceAction346___init};
+  struct trace_t trace = {NULL, NULL, 12791, LOCATE_parser___ReduceAction346___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction346].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction346].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction347___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 12795, LOCATE_parser___ReduceAction347___action};
+  struct trace_t trace = {NULL, NULL, 12795, LOCATE_parser___ReduceAction347___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -24392,6 +25101,7 @@ void parser___ReduceAction347___action(val_t  self, val_t  param0) {
   val_t variable8;
   val_t variable9;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -24420,15 +25130,16 @@ void parser___ReduceAction347___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction347___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 12812, LOCATE_parser___ReduceAction347___init};
+  struct trace_t trace = {NULL, NULL, 12812, LOCATE_parser___ReduceAction347___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction347].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction347].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction348___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 12816, LOCATE_parser___ReduceAction348___action};
+  struct trace_t trace = {NULL, NULL, 12816, LOCATE_parser___ReduceAction348___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -24442,6 +25153,7 @@ void parser___ReduceAction348___action(val_t  self, val_t  param0) {
   val_t variable10;
   val_t variable11;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -24484,15 +25196,16 @@ void parser___ReduceAction348___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction348___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 12843, LOCATE_parser___ReduceAction348___init};
+  struct trace_t trace = {NULL, NULL, 12843, LOCATE_parser___ReduceAction348___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction348].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction348].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction349___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 12847, LOCATE_parser___ReduceAction349___action};
+  struct trace_t trace = {NULL, NULL, 12847, LOCATE_parser___ReduceAction349___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -24500,6 +25213,7 @@ void parser___ReduceAction349___action(val_t  self, val_t  param0) {
   val_t variable4;
   val_t variable5;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -24520,15 +25234,16 @@ void parser___ReduceAction349___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction349___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 12860, LOCATE_parser___ReduceAction349___init};
+  struct trace_t trace = {NULL, NULL, 12860, LOCATE_parser___ReduceAction349___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction349].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction349].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction350___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 12864, LOCATE_parser___ReduceAction350___action};
+  struct trace_t trace = {NULL, NULL, 12864, LOCATE_parser___ReduceAction350___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -24537,6 +25252,7 @@ void parser___ReduceAction350___action(val_t  self, val_t  param0) {
   val_t variable5;
   val_t variable6;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -24554,20 +25270,22 @@ void parser___ReduceAction350___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction350___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 12874, LOCATE_parser___ReduceAction350___init};
+  struct trace_t trace = {NULL, NULL, 12874, LOCATE_parser___ReduceAction350___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction350].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction350].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction351___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 12878, LOCATE_parser___ReduceAction351___action};
+  struct trace_t trace = {NULL, NULL, 12878, LOCATE_parser___ReduceAction351___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   val_t variable3;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = NEW_array___Array___init(); /*new Array[E]*/
@@ -24579,15 +25297,16 @@ void parser___ReduceAction351___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction351___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 12885, LOCATE_parser___ReduceAction351___init};
+  struct trace_t trace = {NULL, NULL, 12885, LOCATE_parser___ReduceAction351___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction351].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction351].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction352___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 12889, LOCATE_parser___ReduceAction352___action};
+  struct trace_t trace = {NULL, NULL, 12889, LOCATE_parser___ReduceAction352___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -24599,6 +25318,7 @@ void parser___ReduceAction352___action(val_t  self, val_t  param0) {
   val_t variable8;
   val_t variable9;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -24627,15 +25347,16 @@ void parser___ReduceAction352___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction352___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 12906, LOCATE_parser___ReduceAction352___init};
+  struct trace_t trace = {NULL, NULL, 12906, LOCATE_parser___ReduceAction352___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction352].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction352].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction353___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 12910, LOCATE_parser___ReduceAction353___action};
+  struct trace_t trace = {NULL, NULL, 12910, LOCATE_parser___ReduceAction353___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -24649,6 +25370,7 @@ void parser___ReduceAction353___action(val_t  self, val_t  param0) {
   val_t variable10;
   val_t variable11;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -24691,15 +25413,16 @@ void parser___ReduceAction353___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction353___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 12937, LOCATE_parser___ReduceAction353___init};
+  struct trace_t trace = {NULL, NULL, 12937, LOCATE_parser___ReduceAction353___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction353].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction353].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction354___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 12941, LOCATE_parser___ReduceAction354___action};
+  struct trace_t trace = {NULL, NULL, 12941, LOCATE_parser___ReduceAction354___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -24709,6 +25432,7 @@ void parser___ReduceAction354___action(val_t  self, val_t  param0) {
   val_t variable6;
   val_t variable7;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -24729,15 +25453,16 @@ void parser___ReduceAction354___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction354___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 12953, LOCATE_parser___ReduceAction354___init};
+  struct trace_t trace = {NULL, NULL, 12953, LOCATE_parser___ReduceAction354___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction354].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction354].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction355___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 12957, LOCATE_parser___ReduceAction355___action};
+  struct trace_t trace = {NULL, NULL, 12957, LOCATE_parser___ReduceAction355___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -24746,6 +25471,7 @@ void parser___ReduceAction355___action(val_t  self, val_t  param0) {
   val_t variable5;
   val_t variable6;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -24764,15 +25490,16 @@ void parser___ReduceAction355___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction355___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 12971, LOCATE_parser___ReduceAction355___init};
+  struct trace_t trace = {NULL, NULL, 12971, LOCATE_parser___ReduceAction355___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction355].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction355].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction356___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 12975, LOCATE_parser___ReduceAction356___action};
+  struct trace_t trace = {NULL, NULL, 12975, LOCATE_parser___ReduceAction356___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -24783,6 +25510,7 @@ void parser___ReduceAction356___action(val_t  self, val_t  param0) {
   val_t variable7;
   val_t variable8;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -24815,15 +25543,16 @@ void parser___ReduceAction356___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction356___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 12999, LOCATE_parser___ReduceAction356___init};
+  struct trace_t trace = {NULL, NULL, 12999, LOCATE_parser___ReduceAction356___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction356].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction356].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction357___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 13003, LOCATE_parser___ReduceAction357___action};
+  struct trace_t trace = {NULL, NULL, 13003, LOCATE_parser___ReduceAction357___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -24832,6 +25561,7 @@ void parser___ReduceAction357___action(val_t  self, val_t  param0) {
   val_t variable5;
   val_t variable6;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -24859,15 +25589,16 @@ void parser___ReduceAction357___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction357___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 13024, LOCATE_parser___ReduceAction357___init};
+  struct trace_t trace = {NULL, NULL, 13024, LOCATE_parser___ReduceAction357___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction357].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction357].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction358___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 13028, LOCATE_parser___ReduceAction358___action};
+  struct trace_t trace = {NULL, NULL, 13028, LOCATE_parser___ReduceAction358___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -24876,6 +25607,7 @@ void parser___ReduceAction358___action(val_t  self, val_t  param0) {
   val_t variable5;
   val_t variable6;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -24894,15 +25626,16 @@ void parser___ReduceAction358___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction358___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 13039, LOCATE_parser___ReduceAction358___init};
+  struct trace_t trace = {NULL, NULL, 13039, LOCATE_parser___ReduceAction358___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction358].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction358].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction359___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 13043, LOCATE_parser___ReduceAction359___action};
+  struct trace_t trace = {NULL, NULL, 13043, LOCATE_parser___ReduceAction359___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -24911,6 +25644,7 @@ void parser___ReduceAction359___action(val_t  self, val_t  param0) {
   val_t variable5;
   val_t variable6;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -24929,20 +25663,22 @@ void parser___ReduceAction359___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction359___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 13054, LOCATE_parser___ReduceAction359___init};
+  struct trace_t trace = {NULL, NULL, 13054, LOCATE_parser___ReduceAction359___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction359].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction359].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction360___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 13058, LOCATE_parser___ReduceAction360___action};
+  struct trace_t trace = {NULL, NULL, 13058, LOCATE_parser___ReduceAction360___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   val_t variable3;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -24953,20 +25689,22 @@ void parser___ReduceAction360___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction360___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 13064, LOCATE_parser___ReduceAction360___init};
+  struct trace_t trace = {NULL, NULL, 13064, LOCATE_parser___ReduceAction360___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction360].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction360].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction361___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 13068, LOCATE_parser___ReduceAction361___action};
+  struct trace_t trace = {NULL, NULL, 13068, LOCATE_parser___ReduceAction361___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   val_t variable3;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -24977,15 +25715,16 @@ void parser___ReduceAction361___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction361___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 13074, LOCATE_parser___ReduceAction361___init};
+  struct trace_t trace = {NULL, NULL, 13074, LOCATE_parser___ReduceAction361___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction361].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction361].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction362___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 13078, LOCATE_parser___ReduceAction362___action};
+  struct trace_t trace = {NULL, NULL, 13078, LOCATE_parser___ReduceAction362___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -24994,6 +25733,7 @@ void parser___ReduceAction362___action(val_t  self, val_t  param0) {
   val_t variable5;
   val_t variable6;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -25021,15 +25761,16 @@ void parser___ReduceAction362___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction362___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 13098, LOCATE_parser___ReduceAction362___init};
+  struct trace_t trace = {NULL, NULL, 13098, LOCATE_parser___ReduceAction362___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction362].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction362].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction363___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 13102, LOCATE_parser___ReduceAction363___action};
+  struct trace_t trace = {NULL, NULL, 13102, LOCATE_parser___ReduceAction363___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -25039,6 +25780,7 @@ void parser___ReduceAction363___action(val_t  self, val_t  param0) {
   val_t variable6;
   val_t variable7;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -25068,20 +25810,22 @@ void parser___ReduceAction363___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction363___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 13123, LOCATE_parser___ReduceAction363___init};
+  struct trace_t trace = {NULL, NULL, 13123, LOCATE_parser___ReduceAction363___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction363].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction363].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction364___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 13127, LOCATE_parser___ReduceAction364___action};
+  struct trace_t trace = {NULL, NULL, 13127, LOCATE_parser___ReduceAction364___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   val_t variable3;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -25093,19 +25837,21 @@ void parser___ReduceAction364___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction364___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 13134, LOCATE_parser___ReduceAction364___init};
+  struct trace_t trace = {NULL, NULL, 13134, LOCATE_parser___ReduceAction364___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction364].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction364].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction365___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 13138, LOCATE_parser___ReduceAction365___action};
+  struct trace_t trace = {NULL, NULL, 13138, LOCATE_parser___ReduceAction365___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable1 =  NIT_NULL /*null*/ /*node_list=*/;
@@ -25115,21 +25861,23 @@ void parser___ReduceAction365___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction365___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 13144, LOCATE_parser___ReduceAction365___init};
+  struct trace_t trace = {NULL, NULL, 13144, LOCATE_parser___ReduceAction365___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction365].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction365].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction366___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 13148, LOCATE_parser___ReduceAction366___action};
+  struct trace_t trace = {NULL, NULL, 13148, LOCATE_parser___ReduceAction366___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   val_t variable3;
   val_t variable4;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -25144,21 +25892,23 @@ void parser___ReduceAction366___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction366___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 13157, LOCATE_parser___ReduceAction366___init};
+  struct trace_t trace = {NULL, NULL, 13157, LOCATE_parser___ReduceAction366___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction366].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction366].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction367___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 13161, LOCATE_parser___ReduceAction367___action};
+  struct trace_t trace = {NULL, NULL, 13161, LOCATE_parser___ReduceAction367___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   val_t variable3;
   val_t variable4;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -25171,15 +25921,16 @@ void parser___ReduceAction367___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction367___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 13168, LOCATE_parser___ReduceAction367___init};
+  struct trace_t trace = {NULL, NULL, 13168, LOCATE_parser___ReduceAction367___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction367].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction367].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction368___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 13172, LOCATE_parser___ReduceAction368___action};
+  struct trace_t trace = {NULL, NULL, 13172, LOCATE_parser___ReduceAction368___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -25187,6 +25938,7 @@ void parser___ReduceAction368___action(val_t  self, val_t  param0) {
   val_t variable4;
   val_t variable5;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -25201,20 +25953,22 @@ void parser___ReduceAction368___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction368___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 13180, LOCATE_parser___ReduceAction368___init};
+  struct trace_t trace = {NULL, NULL, 13180, LOCATE_parser___ReduceAction368___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction368].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction368].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction369___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 13184, LOCATE_parser___ReduceAction369___action};
+  struct trace_t trace = {NULL, NULL, 13184, LOCATE_parser___ReduceAction369___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   val_t variable3;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -25225,15 +25979,16 @@ void parser___ReduceAction369___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction369___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 13190, LOCATE_parser___ReduceAction369___init};
+  struct trace_t trace = {NULL, NULL, 13190, LOCATE_parser___ReduceAction369___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction369].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction369].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction370___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 13194, LOCATE_parser___ReduceAction370___action};
+  struct trace_t trace = {NULL, NULL, 13194, LOCATE_parser___ReduceAction370___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -25242,6 +25997,7 @@ void parser___ReduceAction370___action(val_t  self, val_t  param0) {
   val_t variable5;
   val_t variable6;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -25260,21 +26016,23 @@ void parser___ReduceAction370___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction370___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 13208, LOCATE_parser___ReduceAction370___init};
+  struct trace_t trace = {NULL, NULL, 13208, LOCATE_parser___ReduceAction370___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction370].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction370].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction371___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 13212, LOCATE_parser___ReduceAction371___action};
+  struct trace_t trace = {NULL, NULL, 13212, LOCATE_parser___ReduceAction371___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   val_t variable3;
   val_t variable4;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -25289,15 +26047,16 @@ void parser___ReduceAction371___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction371___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 13221, LOCATE_parser___ReduceAction371___init};
+  struct trace_t trace = {NULL, NULL, 13221, LOCATE_parser___ReduceAction371___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction371].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction371].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction372___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 13225, LOCATE_parser___ReduceAction372___action};
+  struct trace_t trace = {NULL, NULL, 13225, LOCATE_parser___ReduceAction372___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -25320,6 +26079,7 @@ void parser___ReduceAction372___action(val_t  self, val_t  param0) {
   val_t variable19;
   val_t variable20;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -25371,21 +26131,23 @@ void parser___ReduceAction372___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction372___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 13262, LOCATE_parser___ReduceAction372___init};
+  struct trace_t trace = {NULL, NULL, 13262, LOCATE_parser___ReduceAction372___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction372].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction372].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction373___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 13266, LOCATE_parser___ReduceAction373___action};
+  struct trace_t trace = {NULL, NULL, 13266, LOCATE_parser___ReduceAction373___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   val_t variable3;
   val_t variable4;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -25400,15 +26162,16 @@ void parser___ReduceAction373___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction373___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 13275, LOCATE_parser___ReduceAction373___init};
+  struct trace_t trace = {NULL, NULL, 13275, LOCATE_parser___ReduceAction373___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction373].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction373].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction374___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 13279, LOCATE_parser___ReduceAction374___action};
+  struct trace_t trace = {NULL, NULL, 13279, LOCATE_parser___ReduceAction374___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -25420,6 +26183,7 @@ void parser___ReduceAction374___action(val_t  self, val_t  param0) {
   val_t variable8;
   val_t variable9;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -25445,15 +26209,16 @@ void parser___ReduceAction374___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction374___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 13297, LOCATE_parser___ReduceAction374___init};
+  struct trace_t trace = {NULL, NULL, 13297, LOCATE_parser___ReduceAction374___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction374].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction374].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction375___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 13301, LOCATE_parser___ReduceAction375___action};
+  struct trace_t trace = {NULL, NULL, 13301, LOCATE_parser___ReduceAction375___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -25465,6 +26230,7 @@ void parser___ReduceAction375___action(val_t  self, val_t  param0) {
   val_t variable8;
   val_t variable9;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -25490,21 +26256,23 @@ void parser___ReduceAction375___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction375___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 13319, LOCATE_parser___ReduceAction375___init};
+  struct trace_t trace = {NULL, NULL, 13319, LOCATE_parser___ReduceAction375___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction375].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction375].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction376___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 13323, LOCATE_parser___ReduceAction376___action};
+  struct trace_t trace = {NULL, NULL, 13323, LOCATE_parser___ReduceAction376___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   val_t variable3;
   val_t variable4;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -25519,15 +26287,16 @@ void parser___ReduceAction376___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction376___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 13332, LOCATE_parser___ReduceAction376___init};
+  struct trace_t trace = {NULL, NULL, 13332, LOCATE_parser___ReduceAction376___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction376].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction376].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction377___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 13336, LOCATE_parser___ReduceAction377___action};
+  struct trace_t trace = {NULL, NULL, 13336, LOCATE_parser___ReduceAction377___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -25538,6 +26307,7 @@ void parser___ReduceAction377___action(val_t  self, val_t  param0) {
   val_t variable7;
   val_t variable8;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -25561,21 +26331,23 @@ void parser___ReduceAction377___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction377___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 13353, LOCATE_parser___ReduceAction377___init};
+  struct trace_t trace = {NULL, NULL, 13353, LOCATE_parser___ReduceAction377___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction377].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction377].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction378___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 13357, LOCATE_parser___ReduceAction378___action};
+  struct trace_t trace = {NULL, NULL, 13357, LOCATE_parser___ReduceAction378___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   val_t variable3;
   val_t variable4;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -25590,15 +26362,16 @@ void parser___ReduceAction378___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction378___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 13366, LOCATE_parser___ReduceAction378___init};
+  struct trace_t trace = {NULL, NULL, 13366, LOCATE_parser___ReduceAction378___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction378].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction378].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction379___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 13370, LOCATE_parser___ReduceAction379___action};
+  struct trace_t trace = {NULL, NULL, 13370, LOCATE_parser___ReduceAction379___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -25610,6 +26383,7 @@ void parser___ReduceAction379___action(val_t  self, val_t  param0) {
   val_t variable8;
   val_t variable9;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -25635,15 +26409,16 @@ void parser___ReduceAction379___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction379___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 13388, LOCATE_parser___ReduceAction379___init};
+  struct trace_t trace = {NULL, NULL, 13388, LOCATE_parser___ReduceAction379___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction379].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction379].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction380___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 13392, LOCATE_parser___ReduceAction380___action};
+  struct trace_t trace = {NULL, NULL, 13392, LOCATE_parser___ReduceAction380___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -25655,6 +26430,7 @@ void parser___ReduceAction380___action(val_t  self, val_t  param0) {
   val_t variable8;
   val_t variable9;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -25680,15 +26456,16 @@ void parser___ReduceAction380___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction380___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 13410, LOCATE_parser___ReduceAction380___init};
+  struct trace_t trace = {NULL, NULL, 13410, LOCATE_parser___ReduceAction380___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction380].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction380].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction381___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 13414, LOCATE_parser___ReduceAction381___action};
+  struct trace_t trace = {NULL, NULL, 13414, LOCATE_parser___ReduceAction381___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -25700,6 +26477,7 @@ void parser___ReduceAction381___action(val_t  self, val_t  param0) {
   val_t variable8;
   val_t variable9;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -25725,15 +26503,16 @@ void parser___ReduceAction381___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction381___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 13432, LOCATE_parser___ReduceAction381___init};
+  struct trace_t trace = {NULL, NULL, 13432, LOCATE_parser___ReduceAction381___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction381].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction381].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction382___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 13436, LOCATE_parser___ReduceAction382___action};
+  struct trace_t trace = {NULL, NULL, 13436, LOCATE_parser___ReduceAction382___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -25745,6 +26524,7 @@ void parser___ReduceAction382___action(val_t  self, val_t  param0) {
   val_t variable8;
   val_t variable9;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -25770,15 +26550,16 @@ void parser___ReduceAction382___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction382___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 13454, LOCATE_parser___ReduceAction382___init};
+  struct trace_t trace = {NULL, NULL, 13454, LOCATE_parser___ReduceAction382___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction382].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction382].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction383___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 13458, LOCATE_parser___ReduceAction383___action};
+  struct trace_t trace = {NULL, NULL, 13458, LOCATE_parser___ReduceAction383___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -25790,6 +26571,7 @@ void parser___ReduceAction383___action(val_t  self, val_t  param0) {
   val_t variable8;
   val_t variable9;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -25815,15 +26597,16 @@ void parser___ReduceAction383___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction383___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 13476, LOCATE_parser___ReduceAction383___init};
+  struct trace_t trace = {NULL, NULL, 13476, LOCATE_parser___ReduceAction383___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction383].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction383].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction384___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 13480, LOCATE_parser___ReduceAction384___action};
+  struct trace_t trace = {NULL, NULL, 13480, LOCATE_parser___ReduceAction384___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -25835,6 +26618,7 @@ void parser___ReduceAction384___action(val_t  self, val_t  param0) {
   val_t variable8;
   val_t variable9;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -25860,15 +26644,16 @@ void parser___ReduceAction384___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction384___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 13498, LOCATE_parser___ReduceAction384___init};
+  struct trace_t trace = {NULL, NULL, 13498, LOCATE_parser___ReduceAction384___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction384].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction384].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction385___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 13502, LOCATE_parser___ReduceAction385___action};
+  struct trace_t trace = {NULL, NULL, 13502, LOCATE_parser___ReduceAction385___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -25880,6 +26665,7 @@ void parser___ReduceAction385___action(val_t  self, val_t  param0) {
   val_t variable8;
   val_t variable9;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -25905,15 +26691,16 @@ void parser___ReduceAction385___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction385___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 13520, LOCATE_parser___ReduceAction385___init};
+  struct trace_t trace = {NULL, NULL, 13520, LOCATE_parser___ReduceAction385___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction385].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction385].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction386___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 13524, LOCATE_parser___ReduceAction386___action};
+  struct trace_t trace = {NULL, NULL, 13524, LOCATE_parser___ReduceAction386___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -25925,6 +26712,7 @@ void parser___ReduceAction386___action(val_t  self, val_t  param0) {
   val_t variable8;
   val_t variable9;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -25950,15 +26738,16 @@ void parser___ReduceAction386___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction386___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 13542, LOCATE_parser___ReduceAction386___init};
+  struct trace_t trace = {NULL, NULL, 13542, LOCATE_parser___ReduceAction386___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction386].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction386].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction387___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 13546, LOCATE_parser___ReduceAction387___action};
+  struct trace_t trace = {NULL, NULL, 13546, LOCATE_parser___ReduceAction387___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -25970,6 +26759,7 @@ void parser___ReduceAction387___action(val_t  self, val_t  param0) {
   val_t variable8;
   val_t variable9;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -25995,21 +26785,23 @@ void parser___ReduceAction387___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction387___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 13564, LOCATE_parser___ReduceAction387___init};
+  struct trace_t trace = {NULL, NULL, 13564, LOCATE_parser___ReduceAction387___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction387].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction387].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction388___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 13568, LOCATE_parser___ReduceAction388___action};
+  struct trace_t trace = {NULL, NULL, 13568, LOCATE_parser___ReduceAction388___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   val_t variable3;
   val_t variable4;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -26024,15 +26816,16 @@ void parser___ReduceAction388___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction388___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 13577, LOCATE_parser___ReduceAction388___init};
+  struct trace_t trace = {NULL, NULL, 13577, LOCATE_parser___ReduceAction388___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction388].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction388].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction389___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 13581, LOCATE_parser___ReduceAction389___action};
+  struct trace_t trace = {NULL, NULL, 13581, LOCATE_parser___ReduceAction389___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -26044,6 +26837,7 @@ void parser___ReduceAction389___action(val_t  self, val_t  param0) {
   val_t variable8;
   val_t variable9;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -26069,15 +26863,16 @@ void parser___ReduceAction389___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction389___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 13599, LOCATE_parser___ReduceAction389___init};
+  struct trace_t trace = {NULL, NULL, 13599, LOCATE_parser___ReduceAction389___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction389].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction389].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction390___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 13603, LOCATE_parser___ReduceAction390___action};
+  struct trace_t trace = {NULL, NULL, 13603, LOCATE_parser___ReduceAction390___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -26089,6 +26884,7 @@ void parser___ReduceAction390___action(val_t  self, val_t  param0) {
   val_t variable8;
   val_t variable9;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -26114,21 +26910,23 @@ void parser___ReduceAction390___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction390___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 13621, LOCATE_parser___ReduceAction390___init};
+  struct trace_t trace = {NULL, NULL, 13621, LOCATE_parser___ReduceAction390___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction390].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction390].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction391___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 13625, LOCATE_parser___ReduceAction391___action};
+  struct trace_t trace = {NULL, NULL, 13625, LOCATE_parser___ReduceAction391___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   val_t variable3;
   val_t variable4;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -26143,15 +26941,16 @@ void parser___ReduceAction391___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction391___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 13634, LOCATE_parser___ReduceAction391___init};
+  struct trace_t trace = {NULL, NULL, 13634, LOCATE_parser___ReduceAction391___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction391].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction391].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction392___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 13638, LOCATE_parser___ReduceAction392___action};
+  struct trace_t trace = {NULL, NULL, 13638, LOCATE_parser___ReduceAction392___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -26163,6 +26962,7 @@ void parser___ReduceAction392___action(val_t  self, val_t  param0) {
   val_t variable8;
   val_t variable9;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -26188,15 +26988,16 @@ void parser___ReduceAction392___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction392___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 13656, LOCATE_parser___ReduceAction392___init};
+  struct trace_t trace = {NULL, NULL, 13656, LOCATE_parser___ReduceAction392___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction392].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction392].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction393___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 13660, LOCATE_parser___ReduceAction393___action};
+  struct trace_t trace = {NULL, NULL, 13660, LOCATE_parser___ReduceAction393___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -26208,6 +27009,7 @@ void parser___ReduceAction393___action(val_t  self, val_t  param0) {
   val_t variable8;
   val_t variable9;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -26233,15 +27035,16 @@ void parser___ReduceAction393___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction393___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 13678, LOCATE_parser___ReduceAction393___init};
+  struct trace_t trace = {NULL, NULL, 13678, LOCATE_parser___ReduceAction393___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction393].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction393].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction394___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 13682, LOCATE_parser___ReduceAction394___action};
+  struct trace_t trace = {NULL, NULL, 13682, LOCATE_parser___ReduceAction394___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -26253,6 +27056,7 @@ void parser___ReduceAction394___action(val_t  self, val_t  param0) {
   val_t variable8;
   val_t variable9;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -26278,21 +27082,23 @@ void parser___ReduceAction394___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction394___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 13700, LOCATE_parser___ReduceAction394___init};
+  struct trace_t trace = {NULL, NULL, 13700, LOCATE_parser___ReduceAction394___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction394].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction394].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction395___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 13704, LOCATE_parser___ReduceAction395___action};
+  struct trace_t trace = {NULL, NULL, 13704, LOCATE_parser___ReduceAction395___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   val_t variable3;
   val_t variable4;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -26307,15 +27113,16 @@ void parser___ReduceAction395___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction395___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 13713, LOCATE_parser___ReduceAction395___init};
+  struct trace_t trace = {NULL, NULL, 13713, LOCATE_parser___ReduceAction395___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction395].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction395].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction396___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 13717, LOCATE_parser___ReduceAction396___action};
+  struct trace_t trace = {NULL, NULL, 13717, LOCATE_parser___ReduceAction396___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -26326,6 +27133,7 @@ void parser___ReduceAction396___action(val_t  self, val_t  param0) {
   val_t variable7;
   val_t variable8;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -26349,15 +27157,16 @@ void parser___ReduceAction396___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction396___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 13734, LOCATE_parser___ReduceAction396___init};
+  struct trace_t trace = {NULL, NULL, 13734, LOCATE_parser___ReduceAction396___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction396].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction396].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction397___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 13738, LOCATE_parser___ReduceAction397___action};
+  struct trace_t trace = {NULL, NULL, 13738, LOCATE_parser___ReduceAction397___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -26368,6 +27177,7 @@ void parser___ReduceAction397___action(val_t  self, val_t  param0) {
   val_t variable7;
   val_t variable8;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -26391,21 +27201,23 @@ void parser___ReduceAction397___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction397___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 13755, LOCATE_parser___ReduceAction397___init};
+  struct trace_t trace = {NULL, NULL, 13755, LOCATE_parser___ReduceAction397___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction397].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction397].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction398___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 13759, LOCATE_parser___ReduceAction398___action};
+  struct trace_t trace = {NULL, NULL, 13759, LOCATE_parser___ReduceAction398___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   val_t variable3;
   val_t variable4;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -26420,15 +27232,16 @@ void parser___ReduceAction398___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction398___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 13768, LOCATE_parser___ReduceAction398___init};
+  struct trace_t trace = {NULL, NULL, 13768, LOCATE_parser___ReduceAction398___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction398].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction398].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction399___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 13772, LOCATE_parser___ReduceAction399___action};
+  struct trace_t trace = {NULL, NULL, 13772, LOCATE_parser___ReduceAction399___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -26442,6 +27255,7 @@ void parser___ReduceAction399___action(val_t  self, val_t  param0) {
   val_t variable10;
   val_t variable11;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -26481,15 +27295,16 @@ void parser___ReduceAction399___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction399___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 13802, LOCATE_parser___ReduceAction399___init};
+  struct trace_t trace = {NULL, NULL, 13802, LOCATE_parser___ReduceAction399___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction399].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction399].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction400___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 13806, LOCATE_parser___ReduceAction400___action};
+  struct trace_t trace = {NULL, NULL, 13806, LOCATE_parser___ReduceAction400___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -26501,6 +27316,7 @@ void parser___ReduceAction400___action(val_t  self, val_t  param0) {
   val_t variable8;
   val_t variable9;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -26526,15 +27342,16 @@ void parser___ReduceAction400___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction400___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 13824, LOCATE_parser___ReduceAction400___init};
+  struct trace_t trace = {NULL, NULL, 13824, LOCATE_parser___ReduceAction400___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction400].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction400].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction401___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 13828, LOCATE_parser___ReduceAction401___action};
+  struct trace_t trace = {NULL, NULL, 13828, LOCATE_parser___ReduceAction401___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -26543,6 +27360,7 @@ void parser___ReduceAction401___action(val_t  self, val_t  param0) {
   val_t variable5;
   val_t variable6;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -26561,15 +27379,16 @@ void parser___ReduceAction401___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction401___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 13843, LOCATE_parser___ReduceAction401___init};
+  struct trace_t trace = {NULL, NULL, 13843, LOCATE_parser___ReduceAction401___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction401].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction401].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction402___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 13847, LOCATE_parser___ReduceAction402___action};
+  struct trace_t trace = {NULL, NULL, 13847, LOCATE_parser___ReduceAction402___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -26584,6 +27403,7 @@ void parser___ReduceAction402___action(val_t  self, val_t  param0) {
   val_t variable11;
   val_t variable12;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -26625,15 +27445,16 @@ void parser___ReduceAction402___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction402___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 13877, LOCATE_parser___ReduceAction402___init};
+  struct trace_t trace = {NULL, NULL, 13877, LOCATE_parser___ReduceAction402___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction402].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction402].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction403___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 13881, LOCATE_parser___ReduceAction403___action};
+  struct trace_t trace = {NULL, NULL, 13881, LOCATE_parser___ReduceAction403___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -26645,6 +27466,7 @@ void parser___ReduceAction403___action(val_t  self, val_t  param0) {
   val_t variable8;
   val_t variable9;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -26679,15 +27501,16 @@ void parser___ReduceAction403___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction403___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 13908, LOCATE_parser___ReduceAction403___init};
+  struct trace_t trace = {NULL, NULL, 13908, LOCATE_parser___ReduceAction403___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction403].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction403].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction404___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 13912, LOCATE_parser___ReduceAction404___action};
+  struct trace_t trace = {NULL, NULL, 13912, LOCATE_parser___ReduceAction404___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -26698,6 +27521,7 @@ void parser___ReduceAction404___action(val_t  self, val_t  param0) {
   val_t variable7;
   val_t variable8;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -26730,15 +27554,16 @@ void parser___ReduceAction404___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction404___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 13937, LOCATE_parser___ReduceAction404___init};
+  struct trace_t trace = {NULL, NULL, 13937, LOCATE_parser___ReduceAction404___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction404].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction404].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction405___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 13941, LOCATE_parser___ReduceAction405___action};
+  struct trace_t trace = {NULL, NULL, 13941, LOCATE_parser___ReduceAction405___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -26751,6 +27576,7 @@ void parser___ReduceAction405___action(val_t  self, val_t  param0) {
   val_t variable9;
   val_t variable10;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -26788,15 +27614,16 @@ void parser___ReduceAction405___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction405___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 13969, LOCATE_parser___ReduceAction405___init};
+  struct trace_t trace = {NULL, NULL, 13969, LOCATE_parser___ReduceAction405___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction405].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction405].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction406___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 13973, LOCATE_parser___ReduceAction406___action};
+  struct trace_t trace = {NULL, NULL, 13973, LOCATE_parser___ReduceAction406___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -26811,6 +27638,7 @@ void parser___ReduceAction406___action(val_t  self, val_t  param0) {
   val_t variable11;
   val_t variable12;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -26852,15 +27680,16 @@ void parser___ReduceAction406___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction406___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 14003, LOCATE_parser___ReduceAction406___init};
+  struct trace_t trace = {NULL, NULL, 14003, LOCATE_parser___ReduceAction406___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction406].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction406].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction407___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 14007, LOCATE_parser___ReduceAction407___action};
+  struct trace_t trace = {NULL, NULL, 14007, LOCATE_parser___ReduceAction407___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -26872,6 +27701,7 @@ void parser___ReduceAction407___action(val_t  self, val_t  param0) {
   val_t variable8;
   val_t variable9;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -26906,15 +27736,16 @@ void parser___ReduceAction407___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction407___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 14034, LOCATE_parser___ReduceAction407___init};
+  struct trace_t trace = {NULL, NULL, 14034, LOCATE_parser___ReduceAction407___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction407].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction407].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction408___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 14038, LOCATE_parser___ReduceAction408___action};
+  struct trace_t trace = {NULL, NULL, 14038, LOCATE_parser___ReduceAction408___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -26932,6 +27763,7 @@ void parser___ReduceAction408___action(val_t  self, val_t  param0) {
   val_t variable14;
   val_t variable15;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -26980,15 +27812,16 @@ void parser___ReduceAction408___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction408___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 14073, LOCATE_parser___ReduceAction408___init};
+  struct trace_t trace = {NULL, NULL, 14073, LOCATE_parser___ReduceAction408___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction408].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction408].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction409___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 14077, LOCATE_parser___ReduceAction409___action};
+  struct trace_t trace = {NULL, NULL, 14077, LOCATE_parser___ReduceAction409___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -26996,6 +27829,7 @@ void parser___ReduceAction409___action(val_t  self, val_t  param0) {
   val_t variable4;
   val_t variable5;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -27012,15 +27846,16 @@ void parser___ReduceAction409___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction409___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 14089, LOCATE_parser___ReduceAction409___init};
+  struct trace_t trace = {NULL, NULL, 14089, LOCATE_parser___ReduceAction409___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction409].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction409].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction410___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 14093, LOCATE_parser___ReduceAction410___action};
+  struct trace_t trace = {NULL, NULL, 14093, LOCATE_parser___ReduceAction410___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -27028,6 +27863,7 @@ void parser___ReduceAction410___action(val_t  self, val_t  param0) {
   val_t variable4;
   val_t variable5;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -27044,15 +27880,16 @@ void parser___ReduceAction410___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction410___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 14105, LOCATE_parser___ReduceAction410___init};
+  struct trace_t trace = {NULL, NULL, 14105, LOCATE_parser___ReduceAction410___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction410].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction410].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction411___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 14109, LOCATE_parser___ReduceAction411___action};
+  struct trace_t trace = {NULL, NULL, 14109, LOCATE_parser___ReduceAction411___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -27060,6 +27897,7 @@ void parser___ReduceAction411___action(val_t  self, val_t  param0) {
   val_t variable4;
   val_t variable5;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -27076,15 +27914,16 @@ void parser___ReduceAction411___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction411___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 14121, LOCATE_parser___ReduceAction411___init};
+  struct trace_t trace = {NULL, NULL, 14121, LOCATE_parser___ReduceAction411___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction411].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction411].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction412___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 14125, LOCATE_parser___ReduceAction412___action};
+  struct trace_t trace = {NULL, NULL, 14125, LOCATE_parser___ReduceAction412___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -27092,6 +27931,7 @@ void parser___ReduceAction412___action(val_t  self, val_t  param0) {
   val_t variable4;
   val_t variable5;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -27108,15 +27948,16 @@ void parser___ReduceAction412___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction412___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 14137, LOCATE_parser___ReduceAction412___init};
+  struct trace_t trace = {NULL, NULL, 14137, LOCATE_parser___ReduceAction412___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction412].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction412].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction413___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 14141, LOCATE_parser___ReduceAction413___action};
+  struct trace_t trace = {NULL, NULL, 14141, LOCATE_parser___ReduceAction413___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -27124,6 +27965,7 @@ void parser___ReduceAction413___action(val_t  self, val_t  param0) {
   val_t variable4;
   val_t variable5;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -27140,15 +27982,16 @@ void parser___ReduceAction413___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction413___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 14153, LOCATE_parser___ReduceAction413___init};
+  struct trace_t trace = {NULL, NULL, 14153, LOCATE_parser___ReduceAction413___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction413].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction413].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction414___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 14157, LOCATE_parser___ReduceAction414___action};
+  struct trace_t trace = {NULL, NULL, 14157, LOCATE_parser___ReduceAction414___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -27156,6 +27999,7 @@ void parser___ReduceAction414___action(val_t  self, val_t  param0) {
   val_t variable4;
   val_t variable5;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -27172,15 +28016,16 @@ void parser___ReduceAction414___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction414___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 14169, LOCATE_parser___ReduceAction414___init};
+  struct trace_t trace = {NULL, NULL, 14169, LOCATE_parser___ReduceAction414___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction414].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction414].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction415___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 14173, LOCATE_parser___ReduceAction415___action};
+  struct trace_t trace = {NULL, NULL, 14173, LOCATE_parser___ReduceAction415___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -27188,6 +28033,7 @@ void parser___ReduceAction415___action(val_t  self, val_t  param0) {
   val_t variable4;
   val_t variable5;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -27204,15 +28050,16 @@ void parser___ReduceAction415___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction415___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 14185, LOCATE_parser___ReduceAction415___init};
+  struct trace_t trace = {NULL, NULL, 14185, LOCATE_parser___ReduceAction415___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction415].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction415].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction416___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 14189, LOCATE_parser___ReduceAction416___action};
+  struct trace_t trace = {NULL, NULL, 14189, LOCATE_parser___ReduceAction416___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -27220,6 +28067,7 @@ void parser___ReduceAction416___action(val_t  self, val_t  param0) {
   val_t variable4;
   val_t variable5;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -27236,21 +28084,23 @@ void parser___ReduceAction416___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction416___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 14201, LOCATE_parser___ReduceAction416___init};
+  struct trace_t trace = {NULL, NULL, 14201, LOCATE_parser___ReduceAction416___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction416].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction416].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction417___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 14205, LOCATE_parser___ReduceAction417___action};
+  struct trace_t trace = {NULL, NULL, 14205, LOCATE_parser___ReduceAction417___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   val_t variable3;
   val_t variable4;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -27265,15 +28115,16 @@ void parser___ReduceAction417___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction417___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 14214, LOCATE_parser___ReduceAction417___init};
+  struct trace_t trace = {NULL, NULL, 14214, LOCATE_parser___ReduceAction417___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction417].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction417].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction418___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 14218, LOCATE_parser___ReduceAction418___action};
+  struct trace_t trace = {NULL, NULL, 14218, LOCATE_parser___ReduceAction418___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -27282,6 +28133,7 @@ void parser___ReduceAction418___action(val_t  self, val_t  param0) {
   val_t variable5;
   val_t variable6;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -27300,15 +28152,16 @@ void parser___ReduceAction418___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction418___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 14229, LOCATE_parser___ReduceAction418___init};
+  struct trace_t trace = {NULL, NULL, 14229, LOCATE_parser___ReduceAction418___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction418].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction418].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction419___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 14233, LOCATE_parser___ReduceAction419___action};
+  struct trace_t trace = {NULL, NULL, 14233, LOCATE_parser___ReduceAction419___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -27327,6 +28180,7 @@ void parser___ReduceAction419___action(val_t  self, val_t  param0) {
   val_t variable15;
   val_t variable16;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -27367,21 +28221,23 @@ void parser___ReduceAction419___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction419___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 14260, LOCATE_parser___ReduceAction419___init};
+  struct trace_t trace = {NULL, NULL, 14260, LOCATE_parser___ReduceAction419___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction419].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction419].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction420___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 14264, LOCATE_parser___ReduceAction420___action};
+  struct trace_t trace = {NULL, NULL, 14264, LOCATE_parser___ReduceAction420___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   val_t variable3;
   val_t variable4;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -27396,15 +28252,16 @@ void parser___ReduceAction420___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction420___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 14273, LOCATE_parser___ReduceAction420___init};
+  struct trace_t trace = {NULL, NULL, 14273, LOCATE_parser___ReduceAction420___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction420].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction420].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction421___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 14277, LOCATE_parser___ReduceAction421___action};
+  struct trace_t trace = {NULL, NULL, 14277, LOCATE_parser___ReduceAction421___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -27416,6 +28273,7 @@ void parser___ReduceAction421___action(val_t  self, val_t  param0) {
   val_t variable8;
   val_t variable9;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -27444,15 +28302,16 @@ void parser___ReduceAction421___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction421___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 14296, LOCATE_parser___ReduceAction421___init};
+  struct trace_t trace = {NULL, NULL, 14296, LOCATE_parser___ReduceAction421___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction421].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction421].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction422___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 14300, LOCATE_parser___ReduceAction422___action};
+  struct trace_t trace = {NULL, NULL, 14300, LOCATE_parser___ReduceAction422___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -27466,6 +28325,7 @@ void parser___ReduceAction422___action(val_t  self, val_t  param0) {
   val_t variable10;
   val_t variable11;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -27508,21 +28368,23 @@ void parser___ReduceAction422___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction422___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 14329, LOCATE_parser___ReduceAction422___init};
+  struct trace_t trace = {NULL, NULL, 14329, LOCATE_parser___ReduceAction422___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction422].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction422].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction423___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 14333, LOCATE_parser___ReduceAction423___action};
+  struct trace_t trace = {NULL, NULL, 14333, LOCATE_parser___ReduceAction423___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   val_t variable3;
   val_t variable4;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -27536,20 +28398,22 @@ void parser___ReduceAction423___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction423___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 14341, LOCATE_parser___ReduceAction423___init};
+  struct trace_t trace = {NULL, NULL, 14341, LOCATE_parser___ReduceAction423___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction423].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction423].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction424___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 14345, LOCATE_parser___ReduceAction424___action};
+  struct trace_t trace = {NULL, NULL, 14345, LOCATE_parser___ReduceAction424___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   val_t variable3;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -27561,21 +28425,23 @@ void parser___ReduceAction424___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction424___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 14352, LOCATE_parser___ReduceAction424___init};
+  struct trace_t trace = {NULL, NULL, 14352, LOCATE_parser___ReduceAction424___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction424].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction424].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction425___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 14356, LOCATE_parser___ReduceAction425___action};
+  struct trace_t trace = {NULL, NULL, 14356, LOCATE_parser___ReduceAction425___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   val_t variable3;
   val_t variable4;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -27590,21 +28456,23 @@ void parser___ReduceAction425___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction425___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 14365, LOCATE_parser___ReduceAction425___init};
+  struct trace_t trace = {NULL, NULL, 14365, LOCATE_parser___ReduceAction425___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction425].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction425].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction426___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 14369, LOCATE_parser___ReduceAction426___action};
+  struct trace_t trace = {NULL, NULL, 14369, LOCATE_parser___ReduceAction426___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   val_t variable3;
   val_t variable4;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -27619,15 +28487,16 @@ void parser___ReduceAction426___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction426___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 14378, LOCATE_parser___ReduceAction426___init};
+  struct trace_t trace = {NULL, NULL, 14378, LOCATE_parser___ReduceAction426___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction426].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction426].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction427___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 14382, LOCATE_parser___ReduceAction427___action};
+  struct trace_t trace = {NULL, NULL, 14382, LOCATE_parser___ReduceAction427___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -27635,6 +28504,7 @@ void parser___ReduceAction427___action(val_t  self, val_t  param0) {
   val_t variable4;
   val_t variable5;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -27651,15 +28521,16 @@ void parser___ReduceAction427___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction427___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 14395, LOCATE_parser___ReduceAction427___init};
+  struct trace_t trace = {NULL, NULL, 14395, LOCATE_parser___ReduceAction427___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction427].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction427].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction428___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 14399, LOCATE_parser___ReduceAction428___action};
+  struct trace_t trace = {NULL, NULL, 14399, LOCATE_parser___ReduceAction428___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -27669,6 +28540,7 @@ void parser___ReduceAction428___action(val_t  self, val_t  param0) {
   val_t variable6;
   val_t variable7;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -27690,15 +28562,16 @@ void parser___ReduceAction428___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction428___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 14415, LOCATE_parser___ReduceAction428___init};
+  struct trace_t trace = {NULL, NULL, 14415, LOCATE_parser___ReduceAction428___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction428].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction428].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction429___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 14419, LOCATE_parser___ReduceAction429___action};
+  struct trace_t trace = {NULL, NULL, 14419, LOCATE_parser___ReduceAction429___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -27706,6 +28579,7 @@ void parser___ReduceAction429___action(val_t  self, val_t  param0) {
   val_t variable4;
   val_t variable5;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -27722,15 +28596,16 @@ void parser___ReduceAction429___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction429___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 14431, LOCATE_parser___ReduceAction429___init};
+  struct trace_t trace = {NULL, NULL, 14431, LOCATE_parser___ReduceAction429___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction429].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction429].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction430___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 14435, LOCATE_parser___ReduceAction430___action};
+  struct trace_t trace = {NULL, NULL, 14435, LOCATE_parser___ReduceAction430___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -27738,6 +28613,7 @@ void parser___ReduceAction430___action(val_t  self, val_t  param0) {
   val_t variable4;
   val_t variable5;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -27754,15 +28630,16 @@ void parser___ReduceAction430___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction430___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 14447, LOCATE_parser___ReduceAction430___init};
+  struct trace_t trace = {NULL, NULL, 14447, LOCATE_parser___ReduceAction430___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction430].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction430].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction431___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 14451, LOCATE_parser___ReduceAction431___action};
+  struct trace_t trace = {NULL, NULL, 14451, LOCATE_parser___ReduceAction431___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -27770,6 +28647,7 @@ void parser___ReduceAction431___action(val_t  self, val_t  param0) {
   val_t variable4;
   val_t variable5;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -27786,21 +28664,23 @@ void parser___ReduceAction431___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction431___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 14463, LOCATE_parser___ReduceAction431___init};
+  struct trace_t trace = {NULL, NULL, 14463, LOCATE_parser___ReduceAction431___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction431].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction431].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction432___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 14467, LOCATE_parser___ReduceAction432___action};
+  struct trace_t trace = {NULL, NULL, 14467, LOCATE_parser___ReduceAction432___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   val_t variable3;
   val_t variable4;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -27815,21 +28695,23 @@ void parser___ReduceAction432___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction432___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 14476, LOCATE_parser___ReduceAction432___init};
+  struct trace_t trace = {NULL, NULL, 14476, LOCATE_parser___ReduceAction432___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction432].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction432].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction433___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 14480, LOCATE_parser___ReduceAction433___action};
+  struct trace_t trace = {NULL, NULL, 14480, LOCATE_parser___ReduceAction433___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   val_t variable3;
   val_t variable4;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -27844,21 +28726,23 @@ void parser___ReduceAction433___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction433___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 14489, LOCATE_parser___ReduceAction433___init};
+  struct trace_t trace = {NULL, NULL, 14489, LOCATE_parser___ReduceAction433___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction433].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction433].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction434___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 14493, LOCATE_parser___ReduceAction434___action};
+  struct trace_t trace = {NULL, NULL, 14493, LOCATE_parser___ReduceAction434___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   val_t variable3;
   val_t variable4;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -27873,21 +28757,23 @@ void parser___ReduceAction434___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction434___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 14502, LOCATE_parser___ReduceAction434___init};
+  struct trace_t trace = {NULL, NULL, 14502, LOCATE_parser___ReduceAction434___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction434].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction434].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction435___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 14506, LOCATE_parser___ReduceAction435___action};
+  struct trace_t trace = {NULL, NULL, 14506, LOCATE_parser___ReduceAction435___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   val_t variable3;
   val_t variable4;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -27902,21 +28788,23 @@ void parser___ReduceAction435___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction435___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 14515, LOCATE_parser___ReduceAction435___init};
+  struct trace_t trace = {NULL, NULL, 14515, LOCATE_parser___ReduceAction435___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction435].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction435].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction436___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 14519, LOCATE_parser___ReduceAction436___action};
+  struct trace_t trace = {NULL, NULL, 14519, LOCATE_parser___ReduceAction436___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   val_t variable3;
   val_t variable4;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -27931,15 +28819,16 @@ void parser___ReduceAction436___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction436___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 14528, LOCATE_parser___ReduceAction436___init};
+  struct trace_t trace = {NULL, NULL, 14528, LOCATE_parser___ReduceAction436___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction436].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction436].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction437___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 14532, LOCATE_parser___ReduceAction437___action};
+  struct trace_t trace = {NULL, NULL, 14532, LOCATE_parser___ReduceAction437___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -27954,6 +28843,7 @@ void parser___ReduceAction437___action(val_t  self, val_t  param0) {
   val_t variable11;
   val_t variable12;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -27995,15 +28885,16 @@ void parser___ReduceAction437___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction437___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 14562, LOCATE_parser___ReduceAction437___init};
+  struct trace_t trace = {NULL, NULL, 14562, LOCATE_parser___ReduceAction437___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction437].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction437].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction438___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 14566, LOCATE_parser___ReduceAction438___action};
+  struct trace_t trace = {NULL, NULL, 14566, LOCATE_parser___ReduceAction438___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -28015,6 +28906,7 @@ void parser___ReduceAction438___action(val_t  self, val_t  param0) {
   val_t variable8;
   val_t variable9;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -28049,15 +28941,16 @@ void parser___ReduceAction438___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction438___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 14593, LOCATE_parser___ReduceAction438___init};
+  struct trace_t trace = {NULL, NULL, 14593, LOCATE_parser___ReduceAction438___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction438].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction438].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction439___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 14597, LOCATE_parser___ReduceAction439___action};
+  struct trace_t trace = {NULL, NULL, 14597, LOCATE_parser___ReduceAction439___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -28068,6 +28961,7 @@ void parser___ReduceAction439___action(val_t  self, val_t  param0) {
   val_t variable7;
   val_t variable8;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -28100,15 +28994,16 @@ void parser___ReduceAction439___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction439___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 14622, LOCATE_parser___ReduceAction439___init};
+  struct trace_t trace = {NULL, NULL, 14622, LOCATE_parser___ReduceAction439___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction439].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction439].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction440___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 14626, LOCATE_parser___ReduceAction440___action};
+  struct trace_t trace = {NULL, NULL, 14626, LOCATE_parser___ReduceAction440___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -28121,6 +29016,7 @@ void parser___ReduceAction440___action(val_t  self, val_t  param0) {
   val_t variable9;
   val_t variable10;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -28158,15 +29054,16 @@ void parser___ReduceAction440___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction440___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 14654, LOCATE_parser___ReduceAction440___init};
+  struct trace_t trace = {NULL, NULL, 14654, LOCATE_parser___ReduceAction440___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction440].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction440].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction441___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 14658, LOCATE_parser___ReduceAction441___action};
+  struct trace_t trace = {NULL, NULL, 14658, LOCATE_parser___ReduceAction441___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -28181,6 +29078,7 @@ void parser___ReduceAction441___action(val_t  self, val_t  param0) {
   val_t variable11;
   val_t variable12;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -28222,15 +29120,16 @@ void parser___ReduceAction441___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction441___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 14688, LOCATE_parser___ReduceAction441___init};
+  struct trace_t trace = {NULL, NULL, 14688, LOCATE_parser___ReduceAction441___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction441].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction441].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction442___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 14692, LOCATE_parser___ReduceAction442___action};
+  struct trace_t trace = {NULL, NULL, 14692, LOCATE_parser___ReduceAction442___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -28242,6 +29141,7 @@ void parser___ReduceAction442___action(val_t  self, val_t  param0) {
   val_t variable8;
   val_t variable9;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -28276,15 +29176,16 @@ void parser___ReduceAction442___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction442___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 14719, LOCATE_parser___ReduceAction442___init};
+  struct trace_t trace = {NULL, NULL, 14719, LOCATE_parser___ReduceAction442___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction442].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction442].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction443___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 14723, LOCATE_parser___ReduceAction443___action};
+  struct trace_t trace = {NULL, NULL, 14723, LOCATE_parser___ReduceAction443___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -28294,6 +29195,7 @@ void parser___ReduceAction443___action(val_t  self, val_t  param0) {
   val_t variable6;
   val_t variable7;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -28315,15 +29217,16 @@ void parser___ReduceAction443___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction443___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 14739, LOCATE_parser___ReduceAction443___init};
+  struct trace_t trace = {NULL, NULL, 14739, LOCATE_parser___ReduceAction443___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction443].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction443].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction444___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 14743, LOCATE_parser___ReduceAction444___action};
+  struct trace_t trace = {NULL, NULL, 14743, LOCATE_parser___ReduceAction444___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -28341,6 +29244,7 @@ void parser___ReduceAction444___action(val_t  self, val_t  param0) {
   val_t variable14;
   val_t variable15;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -28380,15 +29284,16 @@ void parser___ReduceAction444___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction444___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 14771, LOCATE_parser___ReduceAction444___init};
+  struct trace_t trace = {NULL, NULL, 14771, LOCATE_parser___ReduceAction444___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction444].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction444].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction445___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 14775, LOCATE_parser___ReduceAction445___action};
+  struct trace_t trace = {NULL, NULL, 14775, LOCATE_parser___ReduceAction445___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -28404,6 +29309,7 @@ void parser___ReduceAction445___action(val_t  self, val_t  param0) {
   val_t variable12;
   val_t variable13;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -28439,15 +29345,16 @@ void parser___ReduceAction445___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction445___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 14801, LOCATE_parser___ReduceAction445___init};
+  struct trace_t trace = {NULL, NULL, 14801, LOCATE_parser___ReduceAction445___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction445].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction445].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction446___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 14805, LOCATE_parser___ReduceAction446___action};
+  struct trace_t trace = {NULL, NULL, 14805, LOCATE_parser___ReduceAction446___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -28460,6 +29367,7 @@ void parser___ReduceAction446___action(val_t  self, val_t  param0) {
   val_t variable9;
   val_t variable10;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -28488,15 +29396,16 @@ void parser___ReduceAction446___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction446___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 14826, LOCATE_parser___ReduceAction446___init};
+  struct trace_t trace = {NULL, NULL, 14826, LOCATE_parser___ReduceAction446___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction446].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction446].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction447___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 14830, LOCATE_parser___ReduceAction447___action};
+  struct trace_t trace = {NULL, NULL, 14830, LOCATE_parser___ReduceAction447___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -28505,6 +29414,7 @@ void parser___ReduceAction447___action(val_t  self, val_t  param0) {
   val_t variable5;
   val_t variable6;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -28523,15 +29433,16 @@ void parser___ReduceAction447___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction447___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 14844, LOCATE_parser___ReduceAction447___init};
+  struct trace_t trace = {NULL, NULL, 14844, LOCATE_parser___ReduceAction447___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction447].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction447].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction448___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 14848, LOCATE_parser___ReduceAction448___action};
+  struct trace_t trace = {NULL, NULL, 14848, LOCATE_parser___ReduceAction448___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -28546,6 +29457,7 @@ void parser___ReduceAction448___action(val_t  self, val_t  param0) {
   val_t variable11;
   val_t variable12;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -28586,21 +29498,23 @@ void parser___ReduceAction448___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction448___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 14876, LOCATE_parser___ReduceAction448___init};
+  struct trace_t trace = {NULL, NULL, 14876, LOCATE_parser___ReduceAction448___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction448].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction448].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction449___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 14880, LOCATE_parser___ReduceAction449___action};
+  struct trace_t trace = {NULL, NULL, 14880, LOCATE_parser___ReduceAction449___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   val_t variable3;
   val_t variable4;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -28615,15 +29529,16 @@ void parser___ReduceAction449___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction449___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 14889, LOCATE_parser___ReduceAction449___init};
+  struct trace_t trace = {NULL, NULL, 14889, LOCATE_parser___ReduceAction449___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction449].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction449].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction450___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 14893, LOCATE_parser___ReduceAction450___action};
+  struct trace_t trace = {NULL, NULL, 14893, LOCATE_parser___ReduceAction450___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -28646,6 +29561,7 @@ void parser___ReduceAction450___action(val_t  self, val_t  param0) {
   val_t variable19;
   val_t variable20;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -28697,21 +29613,23 @@ void parser___ReduceAction450___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction450___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 14930, LOCATE_parser___ReduceAction450___init};
+  struct trace_t trace = {NULL, NULL, 14930, LOCATE_parser___ReduceAction450___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction450].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction450].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction451___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 14934, LOCATE_parser___ReduceAction451___action};
+  struct trace_t trace = {NULL, NULL, 14934, LOCATE_parser___ReduceAction451___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   val_t variable3;
   val_t variable4;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -28726,15 +29644,16 @@ void parser___ReduceAction451___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction451___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 14943, LOCATE_parser___ReduceAction451___init};
+  struct trace_t trace = {NULL, NULL, 14943, LOCATE_parser___ReduceAction451___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction451].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction451].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction452___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 14947, LOCATE_parser___ReduceAction452___action};
+  struct trace_t trace = {NULL, NULL, 14947, LOCATE_parser___ReduceAction452___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -28746,6 +29665,7 @@ void parser___ReduceAction452___action(val_t  self, val_t  param0) {
   val_t variable8;
   val_t variable9;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -28771,15 +29691,16 @@ void parser___ReduceAction452___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction452___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 14965, LOCATE_parser___ReduceAction452___init};
+  struct trace_t trace = {NULL, NULL, 14965, LOCATE_parser___ReduceAction452___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction452].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction452].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction453___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 14969, LOCATE_parser___ReduceAction453___action};
+  struct trace_t trace = {NULL, NULL, 14969, LOCATE_parser___ReduceAction453___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -28791,6 +29712,7 @@ void parser___ReduceAction453___action(val_t  self, val_t  param0) {
   val_t variable8;
   val_t variable9;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -28816,21 +29738,23 @@ void parser___ReduceAction453___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction453___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 14987, LOCATE_parser___ReduceAction453___init};
+  struct trace_t trace = {NULL, NULL, 14987, LOCATE_parser___ReduceAction453___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction453].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction453].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction454___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 14991, LOCATE_parser___ReduceAction454___action};
+  struct trace_t trace = {NULL, NULL, 14991, LOCATE_parser___ReduceAction454___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   val_t variable3;
   val_t variable4;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -28845,15 +29769,16 @@ void parser___ReduceAction454___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction454___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 15000, LOCATE_parser___ReduceAction454___init};
+  struct trace_t trace = {NULL, NULL, 15000, LOCATE_parser___ReduceAction454___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction454].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction454].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction455___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 15004, LOCATE_parser___ReduceAction455___action};
+  struct trace_t trace = {NULL, NULL, 15004, LOCATE_parser___ReduceAction455___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -28864,6 +29789,7 @@ void parser___ReduceAction455___action(val_t  self, val_t  param0) {
   val_t variable7;
   val_t variable8;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -28887,21 +29813,23 @@ void parser___ReduceAction455___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction455___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 15021, LOCATE_parser___ReduceAction455___init};
+  struct trace_t trace = {NULL, NULL, 15021, LOCATE_parser___ReduceAction455___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction455].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction455].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction456___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 15025, LOCATE_parser___ReduceAction456___action};
+  struct trace_t trace = {NULL, NULL, 15025, LOCATE_parser___ReduceAction456___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   val_t variable3;
   val_t variable4;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -28916,15 +29844,16 @@ void parser___ReduceAction456___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction456___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 15034, LOCATE_parser___ReduceAction456___init};
+  struct trace_t trace = {NULL, NULL, 15034, LOCATE_parser___ReduceAction456___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction456].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction456].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction457___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 15038, LOCATE_parser___ReduceAction457___action};
+  struct trace_t trace = {NULL, NULL, 15038, LOCATE_parser___ReduceAction457___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -28936,6 +29865,7 @@ void parser___ReduceAction457___action(val_t  self, val_t  param0) {
   val_t variable8;
   val_t variable9;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -28961,15 +29891,16 @@ void parser___ReduceAction457___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction457___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 15056, LOCATE_parser___ReduceAction457___init};
+  struct trace_t trace = {NULL, NULL, 15056, LOCATE_parser___ReduceAction457___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction457].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction457].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction458___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 15060, LOCATE_parser___ReduceAction458___action};
+  struct trace_t trace = {NULL, NULL, 15060, LOCATE_parser___ReduceAction458___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -28981,6 +29912,7 @@ void parser___ReduceAction458___action(val_t  self, val_t  param0) {
   val_t variable8;
   val_t variable9;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -29006,15 +29938,16 @@ void parser___ReduceAction458___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction458___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 15078, LOCATE_parser___ReduceAction458___init};
+  struct trace_t trace = {NULL, NULL, 15078, LOCATE_parser___ReduceAction458___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction458].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction458].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction459___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 15082, LOCATE_parser___ReduceAction459___action};
+  struct trace_t trace = {NULL, NULL, 15082, LOCATE_parser___ReduceAction459___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -29026,6 +29959,7 @@ void parser___ReduceAction459___action(val_t  self, val_t  param0) {
   val_t variable8;
   val_t variable9;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -29051,15 +29985,16 @@ void parser___ReduceAction459___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction459___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 15100, LOCATE_parser___ReduceAction459___init};
+  struct trace_t trace = {NULL, NULL, 15100, LOCATE_parser___ReduceAction459___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction459].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction459].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction460___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 15104, LOCATE_parser___ReduceAction460___action};
+  struct trace_t trace = {NULL, NULL, 15104, LOCATE_parser___ReduceAction460___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -29071,6 +30006,7 @@ void parser___ReduceAction460___action(val_t  self, val_t  param0) {
   val_t variable8;
   val_t variable9;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -29096,15 +30032,16 @@ void parser___ReduceAction460___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction460___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 15122, LOCATE_parser___ReduceAction460___init};
+  struct trace_t trace = {NULL, NULL, 15122, LOCATE_parser___ReduceAction460___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction460].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction460].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction461___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 15126, LOCATE_parser___ReduceAction461___action};
+  struct trace_t trace = {NULL, NULL, 15126, LOCATE_parser___ReduceAction461___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -29116,6 +30053,7 @@ void parser___ReduceAction461___action(val_t  self, val_t  param0) {
   val_t variable8;
   val_t variable9;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -29141,15 +30079,16 @@ void parser___ReduceAction461___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction461___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 15144, LOCATE_parser___ReduceAction461___init};
+  struct trace_t trace = {NULL, NULL, 15144, LOCATE_parser___ReduceAction461___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction461].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction461].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction462___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 15148, LOCATE_parser___ReduceAction462___action};
+  struct trace_t trace = {NULL, NULL, 15148, LOCATE_parser___ReduceAction462___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -29161,6 +30100,7 @@ void parser___ReduceAction462___action(val_t  self, val_t  param0) {
   val_t variable8;
   val_t variable9;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -29186,15 +30126,16 @@ void parser___ReduceAction462___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction462___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 15166, LOCATE_parser___ReduceAction462___init};
+  struct trace_t trace = {NULL, NULL, 15166, LOCATE_parser___ReduceAction462___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction462].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction462].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction463___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 15170, LOCATE_parser___ReduceAction463___action};
+  struct trace_t trace = {NULL, NULL, 15170, LOCATE_parser___ReduceAction463___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -29206,6 +30147,7 @@ void parser___ReduceAction463___action(val_t  self, val_t  param0) {
   val_t variable8;
   val_t variable9;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -29231,15 +30173,16 @@ void parser___ReduceAction463___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction463___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 15188, LOCATE_parser___ReduceAction463___init};
+  struct trace_t trace = {NULL, NULL, 15188, LOCATE_parser___ReduceAction463___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction463].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction463].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction464___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 15192, LOCATE_parser___ReduceAction464___action};
+  struct trace_t trace = {NULL, NULL, 15192, LOCATE_parser___ReduceAction464___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -29251,6 +30194,7 @@ void parser___ReduceAction464___action(val_t  self, val_t  param0) {
   val_t variable8;
   val_t variable9;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -29276,15 +30220,16 @@ void parser___ReduceAction464___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction464___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 15210, LOCATE_parser___ReduceAction464___init};
+  struct trace_t trace = {NULL, NULL, 15210, LOCATE_parser___ReduceAction464___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction464].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction464].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction465___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 15214, LOCATE_parser___ReduceAction465___action};
+  struct trace_t trace = {NULL, NULL, 15214, LOCATE_parser___ReduceAction465___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -29296,6 +30241,7 @@ void parser___ReduceAction465___action(val_t  self, val_t  param0) {
   val_t variable8;
   val_t variable9;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -29321,21 +30267,23 @@ void parser___ReduceAction465___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction465___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 15232, LOCATE_parser___ReduceAction465___init};
+  struct trace_t trace = {NULL, NULL, 15232, LOCATE_parser___ReduceAction465___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction465].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction465].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction466___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 15236, LOCATE_parser___ReduceAction466___action};
+  struct trace_t trace = {NULL, NULL, 15236, LOCATE_parser___ReduceAction466___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   val_t variable3;
   val_t variable4;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -29350,15 +30298,16 @@ void parser___ReduceAction466___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction466___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 15245, LOCATE_parser___ReduceAction466___init};
+  struct trace_t trace = {NULL, NULL, 15245, LOCATE_parser___ReduceAction466___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction466].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction466].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction467___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 15249, LOCATE_parser___ReduceAction467___action};
+  struct trace_t trace = {NULL, NULL, 15249, LOCATE_parser___ReduceAction467___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -29370,6 +30319,7 @@ void parser___ReduceAction467___action(val_t  self, val_t  param0) {
   val_t variable8;
   val_t variable9;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -29395,15 +30345,16 @@ void parser___ReduceAction467___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction467___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 15267, LOCATE_parser___ReduceAction467___init};
+  struct trace_t trace = {NULL, NULL, 15267, LOCATE_parser___ReduceAction467___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction467].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction467].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction468___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 15271, LOCATE_parser___ReduceAction468___action};
+  struct trace_t trace = {NULL, NULL, 15271, LOCATE_parser___ReduceAction468___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -29415,6 +30366,7 @@ void parser___ReduceAction468___action(val_t  self, val_t  param0) {
   val_t variable8;
   val_t variable9;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -29440,21 +30392,23 @@ void parser___ReduceAction468___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction468___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 15289, LOCATE_parser___ReduceAction468___init};
+  struct trace_t trace = {NULL, NULL, 15289, LOCATE_parser___ReduceAction468___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction468].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction468].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction469___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 15293, LOCATE_parser___ReduceAction469___action};
+  struct trace_t trace = {NULL, NULL, 15293, LOCATE_parser___ReduceAction469___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   val_t variable3;
   val_t variable4;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -29469,15 +30423,16 @@ void parser___ReduceAction469___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction469___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 15302, LOCATE_parser___ReduceAction469___init};
+  struct trace_t trace = {NULL, NULL, 15302, LOCATE_parser___ReduceAction469___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction469].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction469].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction470___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 15306, LOCATE_parser___ReduceAction470___action};
+  struct trace_t trace = {NULL, NULL, 15306, LOCATE_parser___ReduceAction470___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -29489,6 +30444,7 @@ void parser___ReduceAction470___action(val_t  self, val_t  param0) {
   val_t variable8;
   val_t variable9;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -29514,15 +30470,16 @@ void parser___ReduceAction470___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction470___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 15324, LOCATE_parser___ReduceAction470___init};
+  struct trace_t trace = {NULL, NULL, 15324, LOCATE_parser___ReduceAction470___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction470].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction470].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction471___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 15328, LOCATE_parser___ReduceAction471___action};
+  struct trace_t trace = {NULL, NULL, 15328, LOCATE_parser___ReduceAction471___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -29534,6 +30491,7 @@ void parser___ReduceAction471___action(val_t  self, val_t  param0) {
   val_t variable8;
   val_t variable9;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -29559,15 +30517,16 @@ void parser___ReduceAction471___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction471___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 15346, LOCATE_parser___ReduceAction471___init};
+  struct trace_t trace = {NULL, NULL, 15346, LOCATE_parser___ReduceAction471___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction471].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction471].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction472___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 15350, LOCATE_parser___ReduceAction472___action};
+  struct trace_t trace = {NULL, NULL, 15350, LOCATE_parser___ReduceAction472___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -29579,6 +30538,7 @@ void parser___ReduceAction472___action(val_t  self, val_t  param0) {
   val_t variable8;
   val_t variable9;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -29604,21 +30564,23 @@ void parser___ReduceAction472___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction472___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 15368, LOCATE_parser___ReduceAction472___init};
+  struct trace_t trace = {NULL, NULL, 15368, LOCATE_parser___ReduceAction472___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction472].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction472].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction473___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 15372, LOCATE_parser___ReduceAction473___action};
+  struct trace_t trace = {NULL, NULL, 15372, LOCATE_parser___ReduceAction473___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   val_t variable3;
   val_t variable4;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -29633,15 +30595,16 @@ void parser___ReduceAction473___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction473___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 15381, LOCATE_parser___ReduceAction473___init};
+  struct trace_t trace = {NULL, NULL, 15381, LOCATE_parser___ReduceAction473___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction473].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction473].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction474___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 15385, LOCATE_parser___ReduceAction474___action};
+  struct trace_t trace = {NULL, NULL, 15385, LOCATE_parser___ReduceAction474___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -29652,6 +30615,7 @@ void parser___ReduceAction474___action(val_t  self, val_t  param0) {
   val_t variable7;
   val_t variable8;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -29675,15 +30639,16 @@ void parser___ReduceAction474___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction474___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 15402, LOCATE_parser___ReduceAction474___init};
+  struct trace_t trace = {NULL, NULL, 15402, LOCATE_parser___ReduceAction474___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction474].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction474].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction475___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 15406, LOCATE_parser___ReduceAction475___action};
+  struct trace_t trace = {NULL, NULL, 15406, LOCATE_parser___ReduceAction475___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -29694,6 +30659,7 @@ void parser___ReduceAction475___action(val_t  self, val_t  param0) {
   val_t variable7;
   val_t variable8;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -29717,21 +30683,23 @@ void parser___ReduceAction475___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction475___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 15423, LOCATE_parser___ReduceAction475___init};
+  struct trace_t trace = {NULL, NULL, 15423, LOCATE_parser___ReduceAction475___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction475].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction475].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction476___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 15427, LOCATE_parser___ReduceAction476___action};
+  struct trace_t trace = {NULL, NULL, 15427, LOCATE_parser___ReduceAction476___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   val_t variable3;
   val_t variable4;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -29746,15 +30714,16 @@ void parser___ReduceAction476___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction476___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 15436, LOCATE_parser___ReduceAction476___init};
+  struct trace_t trace = {NULL, NULL, 15436, LOCATE_parser___ReduceAction476___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction476].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction476].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction477___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 15440, LOCATE_parser___ReduceAction477___action};
+  struct trace_t trace = {NULL, NULL, 15440, LOCATE_parser___ReduceAction477___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -29768,6 +30737,7 @@ void parser___ReduceAction477___action(val_t  self, val_t  param0) {
   val_t variable10;
   val_t variable11;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -29807,15 +30777,16 @@ void parser___ReduceAction477___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction477___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 15470, LOCATE_parser___ReduceAction477___init};
+  struct trace_t trace = {NULL, NULL, 15470, LOCATE_parser___ReduceAction477___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction477].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction477].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction478___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 15474, LOCATE_parser___ReduceAction478___action};
+  struct trace_t trace = {NULL, NULL, 15474, LOCATE_parser___ReduceAction478___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -29827,6 +30798,7 @@ void parser___ReduceAction478___action(val_t  self, val_t  param0) {
   val_t variable8;
   val_t variable9;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -29852,15 +30824,16 @@ void parser___ReduceAction478___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction478___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 15492, LOCATE_parser___ReduceAction478___init};
+  struct trace_t trace = {NULL, NULL, 15492, LOCATE_parser___ReduceAction478___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction478].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction478].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction479___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 15496, LOCATE_parser___ReduceAction479___action};
+  struct trace_t trace = {NULL, NULL, 15496, LOCATE_parser___ReduceAction479___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -29869,6 +30842,7 @@ void parser___ReduceAction479___action(val_t  self, val_t  param0) {
   val_t variable5;
   val_t variable6;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -29887,15 +30861,16 @@ void parser___ReduceAction479___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction479___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 15511, LOCATE_parser___ReduceAction479___init};
+  struct trace_t trace = {NULL, NULL, 15511, LOCATE_parser___ReduceAction479___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction479].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction479].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction480___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 15515, LOCATE_parser___ReduceAction480___action};
+  struct trace_t trace = {NULL, NULL, 15515, LOCATE_parser___ReduceAction480___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -29910,6 +30885,7 @@ void parser___ReduceAction480___action(val_t  self, val_t  param0) {
   val_t variable11;
   val_t variable12;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -29951,15 +30927,16 @@ void parser___ReduceAction480___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction480___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 15545, LOCATE_parser___ReduceAction480___init};
+  struct trace_t trace = {NULL, NULL, 15545, LOCATE_parser___ReduceAction480___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction480].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction480].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction481___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 15549, LOCATE_parser___ReduceAction481___action};
+  struct trace_t trace = {NULL, NULL, 15549, LOCATE_parser___ReduceAction481___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -29971,6 +30948,7 @@ void parser___ReduceAction481___action(val_t  self, val_t  param0) {
   val_t variable8;
   val_t variable9;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -30005,15 +30983,16 @@ void parser___ReduceAction481___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction481___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 15576, LOCATE_parser___ReduceAction481___init};
+  struct trace_t trace = {NULL, NULL, 15576, LOCATE_parser___ReduceAction481___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction481].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction481].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction482___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 15580, LOCATE_parser___ReduceAction482___action};
+  struct trace_t trace = {NULL, NULL, 15580, LOCATE_parser___ReduceAction482___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -30024,6 +31003,7 @@ void parser___ReduceAction482___action(val_t  self, val_t  param0) {
   val_t variable7;
   val_t variable8;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -30056,15 +31036,16 @@ void parser___ReduceAction482___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction482___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 15605, LOCATE_parser___ReduceAction482___init};
+  struct trace_t trace = {NULL, NULL, 15605, LOCATE_parser___ReduceAction482___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction482].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction482].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction483___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 15609, LOCATE_parser___ReduceAction483___action};
+  struct trace_t trace = {NULL, NULL, 15609, LOCATE_parser___ReduceAction483___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -30077,6 +31058,7 @@ void parser___ReduceAction483___action(val_t  self, val_t  param0) {
   val_t variable9;
   val_t variable10;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -30114,15 +31096,16 @@ void parser___ReduceAction483___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction483___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 15637, LOCATE_parser___ReduceAction483___init};
+  struct trace_t trace = {NULL, NULL, 15637, LOCATE_parser___ReduceAction483___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction483].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction483].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction484___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 15641, LOCATE_parser___ReduceAction484___action};
+  struct trace_t trace = {NULL, NULL, 15641, LOCATE_parser___ReduceAction484___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -30137,6 +31120,7 @@ void parser___ReduceAction484___action(val_t  self, val_t  param0) {
   val_t variable11;
   val_t variable12;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -30178,15 +31162,16 @@ void parser___ReduceAction484___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction484___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 15671, LOCATE_parser___ReduceAction484___init};
+  struct trace_t trace = {NULL, NULL, 15671, LOCATE_parser___ReduceAction484___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction484].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction484].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction485___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 15675, LOCATE_parser___ReduceAction485___action};
+  struct trace_t trace = {NULL, NULL, 15675, LOCATE_parser___ReduceAction485___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -30198,6 +31183,7 @@ void parser___ReduceAction485___action(val_t  self, val_t  param0) {
   val_t variable8;
   val_t variable9;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -30232,15 +31218,16 @@ void parser___ReduceAction485___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction485___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 15702, LOCATE_parser___ReduceAction485___init};
+  struct trace_t trace = {NULL, NULL, 15702, LOCATE_parser___ReduceAction485___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction485].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction485].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction486___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 15706, LOCATE_parser___ReduceAction486___action};
+  struct trace_t trace = {NULL, NULL, 15706, LOCATE_parser___ReduceAction486___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -30258,6 +31245,7 @@ void parser___ReduceAction486___action(val_t  self, val_t  param0) {
   val_t variable14;
   val_t variable15;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -30306,15 +31294,16 @@ void parser___ReduceAction486___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction486___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 15741, LOCATE_parser___ReduceAction486___init};
+  struct trace_t trace = {NULL, NULL, 15741, LOCATE_parser___ReduceAction486___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction486].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction486].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction487___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 15745, LOCATE_parser___ReduceAction487___action};
+  struct trace_t trace = {NULL, NULL, 15745, LOCATE_parser___ReduceAction487___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -30322,6 +31311,7 @@ void parser___ReduceAction487___action(val_t  self, val_t  param0) {
   val_t variable4;
   val_t variable5;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -30338,15 +31328,16 @@ void parser___ReduceAction487___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction487___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 15757, LOCATE_parser___ReduceAction487___init};
+  struct trace_t trace = {NULL, NULL, 15757, LOCATE_parser___ReduceAction487___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction487].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction487].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction488___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 15761, LOCATE_parser___ReduceAction488___action};
+  struct trace_t trace = {NULL, NULL, 15761, LOCATE_parser___ReduceAction488___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -30354,6 +31345,7 @@ void parser___ReduceAction488___action(val_t  self, val_t  param0) {
   val_t variable4;
   val_t variable5;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -30370,15 +31362,16 @@ void parser___ReduceAction488___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction488___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 15773, LOCATE_parser___ReduceAction488___init};
+  struct trace_t trace = {NULL, NULL, 15773, LOCATE_parser___ReduceAction488___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction488].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction488].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction489___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 15777, LOCATE_parser___ReduceAction489___action};
+  struct trace_t trace = {NULL, NULL, 15777, LOCATE_parser___ReduceAction489___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -30386,6 +31379,7 @@ void parser___ReduceAction489___action(val_t  self, val_t  param0) {
   val_t variable4;
   val_t variable5;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -30402,15 +31396,16 @@ void parser___ReduceAction489___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction489___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 15789, LOCATE_parser___ReduceAction489___init};
+  struct trace_t trace = {NULL, NULL, 15789, LOCATE_parser___ReduceAction489___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction489].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction489].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction490___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 15793, LOCATE_parser___ReduceAction490___action};
+  struct trace_t trace = {NULL, NULL, 15793, LOCATE_parser___ReduceAction490___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -30418,6 +31413,7 @@ void parser___ReduceAction490___action(val_t  self, val_t  param0) {
   val_t variable4;
   val_t variable5;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -30434,15 +31430,16 @@ void parser___ReduceAction490___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction490___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 15805, LOCATE_parser___ReduceAction490___init};
+  struct trace_t trace = {NULL, NULL, 15805, LOCATE_parser___ReduceAction490___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction490].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction490].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction491___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 15809, LOCATE_parser___ReduceAction491___action};
+  struct trace_t trace = {NULL, NULL, 15809, LOCATE_parser___ReduceAction491___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -30450,6 +31447,7 @@ void parser___ReduceAction491___action(val_t  self, val_t  param0) {
   val_t variable4;
   val_t variable5;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -30466,15 +31464,16 @@ void parser___ReduceAction491___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction491___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 15821, LOCATE_parser___ReduceAction491___init};
+  struct trace_t trace = {NULL, NULL, 15821, LOCATE_parser___ReduceAction491___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction491].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction491].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction492___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 15825, LOCATE_parser___ReduceAction492___action};
+  struct trace_t trace = {NULL, NULL, 15825, LOCATE_parser___ReduceAction492___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -30482,6 +31481,7 @@ void parser___ReduceAction492___action(val_t  self, val_t  param0) {
   val_t variable4;
   val_t variable5;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -30498,15 +31498,16 @@ void parser___ReduceAction492___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction492___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 15837, LOCATE_parser___ReduceAction492___init};
+  struct trace_t trace = {NULL, NULL, 15837, LOCATE_parser___ReduceAction492___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction492].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction492].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction493___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 15841, LOCATE_parser___ReduceAction493___action};
+  struct trace_t trace = {NULL, NULL, 15841, LOCATE_parser___ReduceAction493___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -30514,6 +31515,7 @@ void parser___ReduceAction493___action(val_t  self, val_t  param0) {
   val_t variable4;
   val_t variable5;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -30530,15 +31532,16 @@ void parser___ReduceAction493___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction493___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 15853, LOCATE_parser___ReduceAction493___init};
+  struct trace_t trace = {NULL, NULL, 15853, LOCATE_parser___ReduceAction493___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction493].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction493].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction494___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 15857, LOCATE_parser___ReduceAction494___action};
+  struct trace_t trace = {NULL, NULL, 15857, LOCATE_parser___ReduceAction494___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -30546,6 +31549,7 @@ void parser___ReduceAction494___action(val_t  self, val_t  param0) {
   val_t variable4;
   val_t variable5;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -30562,21 +31566,23 @@ void parser___ReduceAction494___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction494___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 15869, LOCATE_parser___ReduceAction494___init};
+  struct trace_t trace = {NULL, NULL, 15869, LOCATE_parser___ReduceAction494___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction494].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction494].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction495___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 15873, LOCATE_parser___ReduceAction495___action};
+  struct trace_t trace = {NULL, NULL, 15873, LOCATE_parser___ReduceAction495___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   val_t variable3;
   val_t variable4;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -30591,15 +31597,16 @@ void parser___ReduceAction495___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction495___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 15882, LOCATE_parser___ReduceAction495___init};
+  struct trace_t trace = {NULL, NULL, 15882, LOCATE_parser___ReduceAction495___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction495].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction495].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction496___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 15886, LOCATE_parser___ReduceAction496___action};
+  struct trace_t trace = {NULL, NULL, 15886, LOCATE_parser___ReduceAction496___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -30618,6 +31625,7 @@ void parser___ReduceAction496___action(val_t  self, val_t  param0) {
   val_t variable15;
   val_t variable16;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -30658,15 +31666,16 @@ void parser___ReduceAction496___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction496___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 15913, LOCATE_parser___ReduceAction496___init};
+  struct trace_t trace = {NULL, NULL, 15913, LOCATE_parser___ReduceAction496___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction496].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction496].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction497___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 15917, LOCATE_parser___ReduceAction497___action};
+  struct trace_t trace = {NULL, NULL, 15917, LOCATE_parser___ReduceAction497___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -30675,6 +31684,7 @@ void parser___ReduceAction497___action(val_t  self, val_t  param0) {
   val_t variable5;
   val_t variable6;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -30693,21 +31703,23 @@ void parser___ReduceAction497___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction497___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 15931, LOCATE_parser___ReduceAction497___init};
+  struct trace_t trace = {NULL, NULL, 15931, LOCATE_parser___ReduceAction497___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction497].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction497].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction498___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 15935, LOCATE_parser___ReduceAction498___action};
+  struct trace_t trace = {NULL, NULL, 15935, LOCATE_parser___ReduceAction498___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   val_t variable3;
   val_t variable4;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -30722,15 +31734,16 @@ void parser___ReduceAction498___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction498___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 15944, LOCATE_parser___ReduceAction498___init};
+  struct trace_t trace = {NULL, NULL, 15944, LOCATE_parser___ReduceAction498___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction498].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction498].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction499___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 15948, LOCATE_parser___ReduceAction499___action};
+  struct trace_t trace = {NULL, NULL, 15948, LOCATE_parser___ReduceAction499___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -30753,6 +31766,7 @@ void parser___ReduceAction499___action(val_t  self, val_t  param0) {
   val_t variable19;
   val_t variable20;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -30804,21 +31818,23 @@ void parser___ReduceAction499___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction499___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 15985, LOCATE_parser___ReduceAction499___init};
+  struct trace_t trace = {NULL, NULL, 15985, LOCATE_parser___ReduceAction499___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction499].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction499].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction500___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 15989, LOCATE_parser___ReduceAction500___action};
+  struct trace_t trace = {NULL, NULL, 15989, LOCATE_parser___ReduceAction500___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   val_t variable3;
   val_t variable4;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -30833,15 +31849,16 @@ void parser___ReduceAction500___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction500___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 15998, LOCATE_parser___ReduceAction500___init};
+  struct trace_t trace = {NULL, NULL, 15998, LOCATE_parser___ReduceAction500___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction500].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction500].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction501___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 16002, LOCATE_parser___ReduceAction501___action};
+  struct trace_t trace = {NULL, NULL, 16002, LOCATE_parser___ReduceAction501___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -30853,6 +31870,7 @@ void parser___ReduceAction501___action(val_t  self, val_t  param0) {
   val_t variable8;
   val_t variable9;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -30878,15 +31896,16 @@ void parser___ReduceAction501___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction501___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 16020, LOCATE_parser___ReduceAction501___init};
+  struct trace_t trace = {NULL, NULL, 16020, LOCATE_parser___ReduceAction501___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction501].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction501].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction502___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 16024, LOCATE_parser___ReduceAction502___action};
+  struct trace_t trace = {NULL, NULL, 16024, LOCATE_parser___ReduceAction502___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -30898,6 +31917,7 @@ void parser___ReduceAction502___action(val_t  self, val_t  param0) {
   val_t variable8;
   val_t variable9;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -30923,21 +31943,23 @@ void parser___ReduceAction502___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction502___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 16042, LOCATE_parser___ReduceAction502___init};
+  struct trace_t trace = {NULL, NULL, 16042, LOCATE_parser___ReduceAction502___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction502].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction502].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction503___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 16046, LOCATE_parser___ReduceAction503___action};
+  struct trace_t trace = {NULL, NULL, 16046, LOCATE_parser___ReduceAction503___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   val_t variable3;
   val_t variable4;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -30952,15 +31974,16 @@ void parser___ReduceAction503___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction503___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 16055, LOCATE_parser___ReduceAction503___init};
+  struct trace_t trace = {NULL, NULL, 16055, LOCATE_parser___ReduceAction503___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction503].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction503].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction504___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 16059, LOCATE_parser___ReduceAction504___action};
+  struct trace_t trace = {NULL, NULL, 16059, LOCATE_parser___ReduceAction504___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -30971,6 +31994,7 @@ void parser___ReduceAction504___action(val_t  self, val_t  param0) {
   val_t variable7;
   val_t variable8;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -30994,21 +32018,23 @@ void parser___ReduceAction504___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction504___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 16076, LOCATE_parser___ReduceAction504___init};
+  struct trace_t trace = {NULL, NULL, 16076, LOCATE_parser___ReduceAction504___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction504].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction504].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction505___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 16080, LOCATE_parser___ReduceAction505___action};
+  struct trace_t trace = {NULL, NULL, 16080, LOCATE_parser___ReduceAction505___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   val_t variable3;
   val_t variable4;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -31023,15 +32049,16 @@ void parser___ReduceAction505___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction505___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 16089, LOCATE_parser___ReduceAction505___init};
+  struct trace_t trace = {NULL, NULL, 16089, LOCATE_parser___ReduceAction505___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction505].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction505].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction506___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 16093, LOCATE_parser___ReduceAction506___action};
+  struct trace_t trace = {NULL, NULL, 16093, LOCATE_parser___ReduceAction506___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -31043,6 +32070,7 @@ void parser___ReduceAction506___action(val_t  self, val_t  param0) {
   val_t variable8;
   val_t variable9;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -31068,15 +32096,16 @@ void parser___ReduceAction506___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction506___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 16111, LOCATE_parser___ReduceAction506___init};
+  struct trace_t trace = {NULL, NULL, 16111, LOCATE_parser___ReduceAction506___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction506].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction506].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction507___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 16115, LOCATE_parser___ReduceAction507___action};
+  struct trace_t trace = {NULL, NULL, 16115, LOCATE_parser___ReduceAction507___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -31088,6 +32117,7 @@ void parser___ReduceAction507___action(val_t  self, val_t  param0) {
   val_t variable8;
   val_t variable9;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -31113,15 +32143,16 @@ void parser___ReduceAction507___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction507___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 16133, LOCATE_parser___ReduceAction507___init};
+  struct trace_t trace = {NULL, NULL, 16133, LOCATE_parser___ReduceAction507___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction507].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction507].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction508___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 16137, LOCATE_parser___ReduceAction508___action};
+  struct trace_t trace = {NULL, NULL, 16137, LOCATE_parser___ReduceAction508___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -31133,6 +32164,7 @@ void parser___ReduceAction508___action(val_t  self, val_t  param0) {
   val_t variable8;
   val_t variable9;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -31158,15 +32190,16 @@ void parser___ReduceAction508___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction508___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 16155, LOCATE_parser___ReduceAction508___init};
+  struct trace_t trace = {NULL, NULL, 16155, LOCATE_parser___ReduceAction508___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction508].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction508].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction509___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 16159, LOCATE_parser___ReduceAction509___action};
+  struct trace_t trace = {NULL, NULL, 16159, LOCATE_parser___ReduceAction509___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -31178,6 +32211,7 @@ void parser___ReduceAction509___action(val_t  self, val_t  param0) {
   val_t variable8;
   val_t variable9;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -31203,15 +32237,16 @@ void parser___ReduceAction509___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction509___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 16177, LOCATE_parser___ReduceAction509___init};
+  struct trace_t trace = {NULL, NULL, 16177, LOCATE_parser___ReduceAction509___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction509].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction509].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction510___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 16181, LOCATE_parser___ReduceAction510___action};
+  struct trace_t trace = {NULL, NULL, 16181, LOCATE_parser___ReduceAction510___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -31223,6 +32258,7 @@ void parser___ReduceAction510___action(val_t  self, val_t  param0) {
   val_t variable8;
   val_t variable9;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -31248,15 +32284,16 @@ void parser___ReduceAction510___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction510___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 16199, LOCATE_parser___ReduceAction510___init};
+  struct trace_t trace = {NULL, NULL, 16199, LOCATE_parser___ReduceAction510___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction510].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction510].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction511___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 16203, LOCATE_parser___ReduceAction511___action};
+  struct trace_t trace = {NULL, NULL, 16203, LOCATE_parser___ReduceAction511___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -31268,6 +32305,7 @@ void parser___ReduceAction511___action(val_t  self, val_t  param0) {
   val_t variable8;
   val_t variable9;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -31293,15 +32331,16 @@ void parser___ReduceAction511___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction511___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 16221, LOCATE_parser___ReduceAction511___init};
+  struct trace_t trace = {NULL, NULL, 16221, LOCATE_parser___ReduceAction511___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction511].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction511].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction512___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 16225, LOCATE_parser___ReduceAction512___action};
+  struct trace_t trace = {NULL, NULL, 16225, LOCATE_parser___ReduceAction512___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -31313,6 +32352,7 @@ void parser___ReduceAction512___action(val_t  self, val_t  param0) {
   val_t variable8;
   val_t variable9;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -31338,15 +32378,16 @@ void parser___ReduceAction512___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction512___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 16243, LOCATE_parser___ReduceAction512___init};
+  struct trace_t trace = {NULL, NULL, 16243, LOCATE_parser___ReduceAction512___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction512].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction512].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction513___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 16247, LOCATE_parser___ReduceAction513___action};
+  struct trace_t trace = {NULL, NULL, 16247, LOCATE_parser___ReduceAction513___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -31358,6 +32399,7 @@ void parser___ReduceAction513___action(val_t  self, val_t  param0) {
   val_t variable8;
   val_t variable9;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -31383,15 +32425,16 @@ void parser___ReduceAction513___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction513___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 16265, LOCATE_parser___ReduceAction513___init};
+  struct trace_t trace = {NULL, NULL, 16265, LOCATE_parser___ReduceAction513___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction513].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction513].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction514___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 16269, LOCATE_parser___ReduceAction514___action};
+  struct trace_t trace = {NULL, NULL, 16269, LOCATE_parser___ReduceAction514___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -31403,6 +32446,7 @@ void parser___ReduceAction514___action(val_t  self, val_t  param0) {
   val_t variable8;
   val_t variable9;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -31428,21 +32472,23 @@ void parser___ReduceAction514___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction514___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 16287, LOCATE_parser___ReduceAction514___init};
+  struct trace_t trace = {NULL, NULL, 16287, LOCATE_parser___ReduceAction514___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction514].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction514].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction515___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 16291, LOCATE_parser___ReduceAction515___action};
+  struct trace_t trace = {NULL, NULL, 16291, LOCATE_parser___ReduceAction515___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   val_t variable3;
   val_t variable4;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -31457,15 +32503,16 @@ void parser___ReduceAction515___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction515___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 16300, LOCATE_parser___ReduceAction515___init};
+  struct trace_t trace = {NULL, NULL, 16300, LOCATE_parser___ReduceAction515___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction515].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction515].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction516___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 16304, LOCATE_parser___ReduceAction516___action};
+  struct trace_t trace = {NULL, NULL, 16304, LOCATE_parser___ReduceAction516___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -31477,6 +32524,7 @@ void parser___ReduceAction516___action(val_t  self, val_t  param0) {
   val_t variable8;
   val_t variable9;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -31502,15 +32550,16 @@ void parser___ReduceAction516___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction516___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 16322, LOCATE_parser___ReduceAction516___init};
+  struct trace_t trace = {NULL, NULL, 16322, LOCATE_parser___ReduceAction516___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction516].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction516].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction517___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 16326, LOCATE_parser___ReduceAction517___action};
+  struct trace_t trace = {NULL, NULL, 16326, LOCATE_parser___ReduceAction517___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -31522,6 +32571,7 @@ void parser___ReduceAction517___action(val_t  self, val_t  param0) {
   val_t variable8;
   val_t variable9;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -31547,21 +32597,23 @@ void parser___ReduceAction517___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction517___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 16344, LOCATE_parser___ReduceAction517___init};
+  struct trace_t trace = {NULL, NULL, 16344, LOCATE_parser___ReduceAction517___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction517].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction517].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction518___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 16348, LOCATE_parser___ReduceAction518___action};
+  struct trace_t trace = {NULL, NULL, 16348, LOCATE_parser___ReduceAction518___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   val_t variable3;
   val_t variable4;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -31576,15 +32628,16 @@ void parser___ReduceAction518___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction518___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 16357, LOCATE_parser___ReduceAction518___init};
+  struct trace_t trace = {NULL, NULL, 16357, LOCATE_parser___ReduceAction518___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction518].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction518].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction519___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 16361, LOCATE_parser___ReduceAction519___action};
+  struct trace_t trace = {NULL, NULL, 16361, LOCATE_parser___ReduceAction519___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -31596,6 +32649,7 @@ void parser___ReduceAction519___action(val_t  self, val_t  param0) {
   val_t variable8;
   val_t variable9;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -31621,15 +32675,16 @@ void parser___ReduceAction519___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction519___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 16379, LOCATE_parser___ReduceAction519___init};
+  struct trace_t trace = {NULL, NULL, 16379, LOCATE_parser___ReduceAction519___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction519].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction519].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction520___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 16383, LOCATE_parser___ReduceAction520___action};
+  struct trace_t trace = {NULL, NULL, 16383, LOCATE_parser___ReduceAction520___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -31641,6 +32696,7 @@ void parser___ReduceAction520___action(val_t  self, val_t  param0) {
   val_t variable8;
   val_t variable9;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -31666,15 +32722,16 @@ void parser___ReduceAction520___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction520___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 16401, LOCATE_parser___ReduceAction520___init};
+  struct trace_t trace = {NULL, NULL, 16401, LOCATE_parser___ReduceAction520___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction520].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction520].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction521___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 16405, LOCATE_parser___ReduceAction521___action};
+  struct trace_t trace = {NULL, NULL, 16405, LOCATE_parser___ReduceAction521___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -31686,6 +32743,7 @@ void parser___ReduceAction521___action(val_t  self, val_t  param0) {
   val_t variable8;
   val_t variable9;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -31711,21 +32769,23 @@ void parser___ReduceAction521___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction521___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 16423, LOCATE_parser___ReduceAction521___init};
+  struct trace_t trace = {NULL, NULL, 16423, LOCATE_parser___ReduceAction521___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction521].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction521].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction522___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 16427, LOCATE_parser___ReduceAction522___action};
+  struct trace_t trace = {NULL, NULL, 16427, LOCATE_parser___ReduceAction522___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   val_t variable3;
   val_t variable4;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -31740,15 +32800,16 @@ void parser___ReduceAction522___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction522___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 16436, LOCATE_parser___ReduceAction522___init};
+  struct trace_t trace = {NULL, NULL, 16436, LOCATE_parser___ReduceAction522___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction522].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction522].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction523___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 16440, LOCATE_parser___ReduceAction523___action};
+  struct trace_t trace = {NULL, NULL, 16440, LOCATE_parser___ReduceAction523___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -31759,6 +32820,7 @@ void parser___ReduceAction523___action(val_t  self, val_t  param0) {
   val_t variable7;
   val_t variable8;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -31782,15 +32844,16 @@ void parser___ReduceAction523___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction523___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 16457, LOCATE_parser___ReduceAction523___init};
+  struct trace_t trace = {NULL, NULL, 16457, LOCATE_parser___ReduceAction523___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction523].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction523].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction524___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 16461, LOCATE_parser___ReduceAction524___action};
+  struct trace_t trace = {NULL, NULL, 16461, LOCATE_parser___ReduceAction524___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -31801,6 +32864,7 @@ void parser___ReduceAction524___action(val_t  self, val_t  param0) {
   val_t variable7;
   val_t variable8;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -31824,21 +32888,23 @@ void parser___ReduceAction524___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction524___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 16478, LOCATE_parser___ReduceAction524___init};
+  struct trace_t trace = {NULL, NULL, 16478, LOCATE_parser___ReduceAction524___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction524].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction524].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction525___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 16482, LOCATE_parser___ReduceAction525___action};
+  struct trace_t trace = {NULL, NULL, 16482, LOCATE_parser___ReduceAction525___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   val_t variable3;
   val_t variable4;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -31853,15 +32919,16 @@ void parser___ReduceAction525___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction525___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 16491, LOCATE_parser___ReduceAction525___init};
+  struct trace_t trace = {NULL, NULL, 16491, LOCATE_parser___ReduceAction525___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction525].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction525].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction526___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 16495, LOCATE_parser___ReduceAction526___action};
+  struct trace_t trace = {NULL, NULL, 16495, LOCATE_parser___ReduceAction526___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -31875,6 +32942,7 @@ void parser___ReduceAction526___action(val_t  self, val_t  param0) {
   val_t variable10;
   val_t variable11;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -31914,15 +32982,16 @@ void parser___ReduceAction526___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction526___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 16525, LOCATE_parser___ReduceAction526___init};
+  struct trace_t trace = {NULL, NULL, 16525, LOCATE_parser___ReduceAction526___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction526].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction526].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction527___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 16529, LOCATE_parser___ReduceAction527___action};
+  struct trace_t trace = {NULL, NULL, 16529, LOCATE_parser___ReduceAction527___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -31932,6 +33001,7 @@ void parser___ReduceAction527___action(val_t  self, val_t  param0) {
   val_t variable6;
   val_t variable7;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -31953,15 +33023,16 @@ void parser___ReduceAction527___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction527___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 16545, LOCATE_parser___ReduceAction527___init};
+  struct trace_t trace = {NULL, NULL, 16545, LOCATE_parser___ReduceAction527___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction527].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction527].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction528___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 16549, LOCATE_parser___ReduceAction528___action};
+  struct trace_t trace = {NULL, NULL, 16549, LOCATE_parser___ReduceAction528___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -31974,6 +33045,7 @@ void parser___ReduceAction528___action(val_t  self, val_t  param0) {
   val_t variable9;
   val_t variable10;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -32011,15 +33083,16 @@ void parser___ReduceAction528___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction528___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 16577, LOCATE_parser___ReduceAction528___init};
+  struct trace_t trace = {NULL, NULL, 16577, LOCATE_parser___ReduceAction528___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction528].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction528].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction529___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 16581, LOCATE_parser___ReduceAction529___action};
+  struct trace_t trace = {NULL, NULL, 16581, LOCATE_parser___ReduceAction529___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -32030,6 +33103,7 @@ void parser___ReduceAction529___action(val_t  self, val_t  param0) {
   val_t variable7;
   val_t variable8;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -32062,15 +33136,16 @@ void parser___ReduceAction529___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction529___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 16606, LOCATE_parser___ReduceAction529___init};
+  struct trace_t trace = {NULL, NULL, 16606, LOCATE_parser___ReduceAction529___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction529].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction529].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction530___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 16610, LOCATE_parser___ReduceAction530___action};
+  struct trace_t trace = {NULL, NULL, 16610, LOCATE_parser___ReduceAction530___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -32083,6 +33158,7 @@ void parser___ReduceAction530___action(val_t  self, val_t  param0) {
   val_t variable9;
   val_t variable10;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -32120,15 +33196,16 @@ void parser___ReduceAction530___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction530___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 16638, LOCATE_parser___ReduceAction530___init};
+  struct trace_t trace = {NULL, NULL, 16638, LOCATE_parser___ReduceAction530___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction530].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction530].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction531___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 16642, LOCATE_parser___ReduceAction531___action};
+  struct trace_t trace = {NULL, NULL, 16642, LOCATE_parser___ReduceAction531___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -32141,6 +33218,7 @@ void parser___ReduceAction531___action(val_t  self, val_t  param0) {
   val_t variable9;
   val_t variable10;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -32178,15 +33256,16 @@ void parser___ReduceAction531___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction531___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 16670, LOCATE_parser___ReduceAction531___init};
+  struct trace_t trace = {NULL, NULL, 16670, LOCATE_parser___ReduceAction531___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction531].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction531].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction532___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 16674, LOCATE_parser___ReduceAction532___action};
+  struct trace_t trace = {NULL, NULL, 16674, LOCATE_parser___ReduceAction532___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -32204,6 +33283,7 @@ void parser___ReduceAction532___action(val_t  self, val_t  param0) {
   val_t variable14;
   val_t variable15;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -32252,15 +33332,16 @@ void parser___ReduceAction532___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction532___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 16709, LOCATE_parser___ReduceAction532___init};
+  struct trace_t trace = {NULL, NULL, 16709, LOCATE_parser___ReduceAction532___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction532].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction532].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction533___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 16713, LOCATE_parser___ReduceAction533___action};
+  struct trace_t trace = {NULL, NULL, 16713, LOCATE_parser___ReduceAction533___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -32268,6 +33349,7 @@ void parser___ReduceAction533___action(val_t  self, val_t  param0) {
   val_t variable4;
   val_t variable5;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -32284,15 +33366,16 @@ void parser___ReduceAction533___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction533___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 16725, LOCATE_parser___ReduceAction533___init};
+  struct trace_t trace = {NULL, NULL, 16725, LOCATE_parser___ReduceAction533___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction533].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction533].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction534___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 16729, LOCATE_parser___ReduceAction534___action};
+  struct trace_t trace = {NULL, NULL, 16729, LOCATE_parser___ReduceAction534___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -32300,6 +33383,7 @@ void parser___ReduceAction534___action(val_t  self, val_t  param0) {
   val_t variable4;
   val_t variable5;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -32316,15 +33400,16 @@ void parser___ReduceAction534___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction534___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 16741, LOCATE_parser___ReduceAction534___init};
+  struct trace_t trace = {NULL, NULL, 16741, LOCATE_parser___ReduceAction534___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction534].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction534].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction535___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 16745, LOCATE_parser___ReduceAction535___action};
+  struct trace_t trace = {NULL, NULL, 16745, LOCATE_parser___ReduceAction535___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -32332,6 +33417,7 @@ void parser___ReduceAction535___action(val_t  self, val_t  param0) {
   val_t variable4;
   val_t variable5;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -32348,15 +33434,16 @@ void parser___ReduceAction535___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction535___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 16757, LOCATE_parser___ReduceAction535___init};
+  struct trace_t trace = {NULL, NULL, 16757, LOCATE_parser___ReduceAction535___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction535].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction535].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction536___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 16761, LOCATE_parser___ReduceAction536___action};
+  struct trace_t trace = {NULL, NULL, 16761, LOCATE_parser___ReduceAction536___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -32364,6 +33451,7 @@ void parser___ReduceAction536___action(val_t  self, val_t  param0) {
   val_t variable4;
   val_t variable5;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -32380,15 +33468,16 @@ void parser___ReduceAction536___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction536___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 16773, LOCATE_parser___ReduceAction536___init};
+  struct trace_t trace = {NULL, NULL, 16773, LOCATE_parser___ReduceAction536___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction536].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction536].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction537___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 16777, LOCATE_parser___ReduceAction537___action};
+  struct trace_t trace = {NULL, NULL, 16777, LOCATE_parser___ReduceAction537___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -32396,6 +33485,7 @@ void parser___ReduceAction537___action(val_t  self, val_t  param0) {
   val_t variable4;
   val_t variable5;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -32412,15 +33502,16 @@ void parser___ReduceAction537___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction537___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 16789, LOCATE_parser___ReduceAction537___init};
+  struct trace_t trace = {NULL, NULL, 16789, LOCATE_parser___ReduceAction537___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction537].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction537].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction538___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 16793, LOCATE_parser___ReduceAction538___action};
+  struct trace_t trace = {NULL, NULL, 16793, LOCATE_parser___ReduceAction538___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -32428,6 +33519,7 @@ void parser___ReduceAction538___action(val_t  self, val_t  param0) {
   val_t variable4;
   val_t variable5;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -32444,15 +33536,16 @@ void parser___ReduceAction538___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction538___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 16805, LOCATE_parser___ReduceAction538___init};
+  struct trace_t trace = {NULL, NULL, 16805, LOCATE_parser___ReduceAction538___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction538].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction538].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction539___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 16809, LOCATE_parser___ReduceAction539___action};
+  struct trace_t trace = {NULL, NULL, 16809, LOCATE_parser___ReduceAction539___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -32460,6 +33553,7 @@ void parser___ReduceAction539___action(val_t  self, val_t  param0) {
   val_t variable4;
   val_t variable5;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -32476,15 +33570,16 @@ void parser___ReduceAction539___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction539___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 16821, LOCATE_parser___ReduceAction539___init};
+  struct trace_t trace = {NULL, NULL, 16821, LOCATE_parser___ReduceAction539___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction539].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction539].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction540___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 16825, LOCATE_parser___ReduceAction540___action};
+  struct trace_t trace = {NULL, NULL, 16825, LOCATE_parser___ReduceAction540___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -32492,6 +33587,7 @@ void parser___ReduceAction540___action(val_t  self, val_t  param0) {
   val_t variable4;
   val_t variable5;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -32508,21 +33604,23 @@ void parser___ReduceAction540___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction540___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 16837, LOCATE_parser___ReduceAction540___init};
+  struct trace_t trace = {NULL, NULL, 16837, LOCATE_parser___ReduceAction540___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction540].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction540].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction541___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 16841, LOCATE_parser___ReduceAction541___action};
+  struct trace_t trace = {NULL, NULL, 16841, LOCATE_parser___ReduceAction541___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   val_t variable3;
   val_t variable4;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -32537,15 +33635,16 @@ void parser___ReduceAction541___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction541___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 16850, LOCATE_parser___ReduceAction541___init};
+  struct trace_t trace = {NULL, NULL, 16850, LOCATE_parser___ReduceAction541___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction541].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction541].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction542___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 16854, LOCATE_parser___ReduceAction542___action};
+  struct trace_t trace = {NULL, NULL, 16854, LOCATE_parser___ReduceAction542___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -32564,6 +33663,7 @@ void parser___ReduceAction542___action(val_t  self, val_t  param0) {
   val_t variable15;
   val_t variable16;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -32604,15 +33704,16 @@ void parser___ReduceAction542___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction542___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 16881, LOCATE_parser___ReduceAction542___init};
+  struct trace_t trace = {NULL, NULL, 16881, LOCATE_parser___ReduceAction542___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction542].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction542].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction543___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 16885, LOCATE_parser___ReduceAction543___action};
+  struct trace_t trace = {NULL, NULL, 16885, LOCATE_parser___ReduceAction543___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -32621,6 +33722,7 @@ void parser___ReduceAction543___action(val_t  self, val_t  param0) {
   val_t variable5;
   val_t variable6;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -32639,20 +33741,22 @@ void parser___ReduceAction543___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction543___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 16896, LOCATE_parser___ReduceAction543___init};
+  struct trace_t trace = {NULL, NULL, 16896, LOCATE_parser___ReduceAction543___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction543].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction543].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction544___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 16900, LOCATE_parser___ReduceAction544___action};
+  struct trace_t trace = {NULL, NULL, 16900, LOCATE_parser___ReduceAction544___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   val_t variable3;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = NEW_parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr(); /*new AImplicitSelfExpr*/
@@ -32664,15 +33768,16 @@ void parser___ReduceAction544___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction544___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 16908, LOCATE_parser___ReduceAction544___init};
+  struct trace_t trace = {NULL, NULL, 16908, LOCATE_parser___ReduceAction544___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction544].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction544].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction545___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 16912, LOCATE_parser___ReduceAction545___action};
+  struct trace_t trace = {NULL, NULL, 16912, LOCATE_parser___ReduceAction545___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -32680,6 +33785,7 @@ void parser___ReduceAction545___action(val_t  self, val_t  param0) {
   val_t variable4;
   val_t variable5;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -32700,15 +33806,16 @@ void parser___ReduceAction545___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction545___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 16925, LOCATE_parser___ReduceAction545___init};
+  struct trace_t trace = {NULL, NULL, 16925, LOCATE_parser___ReduceAction545___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction545].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction545].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction546___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 16929, LOCATE_parser___ReduceAction546___action};
+  struct trace_t trace = {NULL, NULL, 16929, LOCATE_parser___ReduceAction546___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -32718,6 +33825,7 @@ void parser___ReduceAction546___action(val_t  self, val_t  param0) {
   val_t variable6;
   val_t variable7;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -32752,15 +33860,16 @@ void parser___ReduceAction546___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction546___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 16952, LOCATE_parser___ReduceAction546___init};
+  struct trace_t trace = {NULL, NULL, 16952, LOCATE_parser___ReduceAction546___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction546].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction546].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction547___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 16956, LOCATE_parser___ReduceAction547___action};
+  struct trace_t trace = {NULL, NULL, 16956, LOCATE_parser___ReduceAction547___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -32768,6 +33877,7 @@ void parser___ReduceAction547___action(val_t  self, val_t  param0) {
   val_t variable4;
   val_t variable5;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -32788,15 +33898,16 @@ void parser___ReduceAction547___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction547___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 16969, LOCATE_parser___ReduceAction547___init};
+  struct trace_t trace = {NULL, NULL, 16969, LOCATE_parser___ReduceAction547___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction547].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction547].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction548___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 16973, LOCATE_parser___ReduceAction548___action};
+  struct trace_t trace = {NULL, NULL, 16973, LOCATE_parser___ReduceAction548___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -32806,6 +33917,7 @@ void parser___ReduceAction548___action(val_t  self, val_t  param0) {
   val_t variable6;
   val_t variable7;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -32840,15 +33952,16 @@ void parser___ReduceAction548___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction548___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 16996, LOCATE_parser___ReduceAction548___init};
+  struct trace_t trace = {NULL, NULL, 16996, LOCATE_parser___ReduceAction548___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction548].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction548].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction549___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 17000, LOCATE_parser___ReduceAction549___action};
+  struct trace_t trace = {NULL, NULL, 17000, LOCATE_parser___ReduceAction549___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -32856,6 +33969,7 @@ void parser___ReduceAction549___action(val_t  self, val_t  param0) {
   val_t variable4;
   val_t variable5;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -32876,15 +33990,16 @@ void parser___ReduceAction549___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction549___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 17013, LOCATE_parser___ReduceAction549___init};
+  struct trace_t trace = {NULL, NULL, 17013, LOCATE_parser___ReduceAction549___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction549].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction549].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction550___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 17017, LOCATE_parser___ReduceAction550___action};
+  struct trace_t trace = {NULL, NULL, 17017, LOCATE_parser___ReduceAction550___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -32894,6 +34009,7 @@ void parser___ReduceAction550___action(val_t  self, val_t  param0) {
   val_t variable6;
   val_t variable7;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -32928,15 +34044,16 @@ void parser___ReduceAction550___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction550___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 17040, LOCATE_parser___ReduceAction550___init};
+  struct trace_t trace = {NULL, NULL, 17040, LOCATE_parser___ReduceAction550___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction550].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction550].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction551___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 17044, LOCATE_parser___ReduceAction551___action};
+  struct trace_t trace = {NULL, NULL, 17044, LOCATE_parser___ReduceAction551___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -32944,6 +34061,7 @@ void parser___ReduceAction551___action(val_t  self, val_t  param0) {
   val_t variable4;
   val_t variable5;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -32964,15 +34082,16 @@ void parser___ReduceAction551___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction551___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 17057, LOCATE_parser___ReduceAction551___init};
+  struct trace_t trace = {NULL, NULL, 17057, LOCATE_parser___ReduceAction551___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction551].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction551].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction552___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 17061, LOCATE_parser___ReduceAction552___action};
+  struct trace_t trace = {NULL, NULL, 17061, LOCATE_parser___ReduceAction552___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -32982,6 +34101,7 @@ void parser___ReduceAction552___action(val_t  self, val_t  param0) {
   val_t variable6;
   val_t variable7;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -33016,15 +34136,16 @@ void parser___ReduceAction552___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction552___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 17084, LOCATE_parser___ReduceAction552___init};
+  struct trace_t trace = {NULL, NULL, 17084, LOCATE_parser___ReduceAction552___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction552].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction552].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction553___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 17088, LOCATE_parser___ReduceAction553___action};
+  struct trace_t trace = {NULL, NULL, 17088, LOCATE_parser___ReduceAction553___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -33032,6 +34153,7 @@ void parser___ReduceAction553___action(val_t  self, val_t  param0) {
   val_t variable4;
   val_t variable5;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -33052,15 +34174,16 @@ void parser___ReduceAction553___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction553___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 17101, LOCATE_parser___ReduceAction553___init};
+  struct trace_t trace = {NULL, NULL, 17101, LOCATE_parser___ReduceAction553___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction553].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction553].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction554___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 17105, LOCATE_parser___ReduceAction554___action};
+  struct trace_t trace = {NULL, NULL, 17105, LOCATE_parser___ReduceAction554___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -33070,6 +34193,7 @@ void parser___ReduceAction554___action(val_t  self, val_t  param0) {
   val_t variable6;
   val_t variable7;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -33104,15 +34228,16 @@ void parser___ReduceAction554___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction554___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 17128, LOCATE_parser___ReduceAction554___init};
+  struct trace_t trace = {NULL, NULL, 17128, LOCATE_parser___ReduceAction554___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction554].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction554].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction555___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 17132, LOCATE_parser___ReduceAction555___action};
+  struct trace_t trace = {NULL, NULL, 17132, LOCATE_parser___ReduceAction555___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -33120,6 +34245,7 @@ void parser___ReduceAction555___action(val_t  self, val_t  param0) {
   val_t variable4;
   val_t variable5;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -33140,15 +34266,16 @@ void parser___ReduceAction555___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction555___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 17145, LOCATE_parser___ReduceAction555___init};
+  struct trace_t trace = {NULL, NULL, 17145, LOCATE_parser___ReduceAction555___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction555].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction555].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction556___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 17149, LOCATE_parser___ReduceAction556___action};
+  struct trace_t trace = {NULL, NULL, 17149, LOCATE_parser___ReduceAction556___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -33158,6 +34285,7 @@ void parser___ReduceAction556___action(val_t  self, val_t  param0) {
   val_t variable6;
   val_t variable7;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -33192,15 +34320,16 @@ void parser___ReduceAction556___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction556___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 17172, LOCATE_parser___ReduceAction556___init};
+  struct trace_t trace = {NULL, NULL, 17172, LOCATE_parser___ReduceAction556___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction556].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction556].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction557___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 17176, LOCATE_parser___ReduceAction557___action};
+  struct trace_t trace = {NULL, NULL, 17176, LOCATE_parser___ReduceAction557___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -33208,6 +34337,7 @@ void parser___ReduceAction557___action(val_t  self, val_t  param0) {
   val_t variable4;
   val_t variable5;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -33228,15 +34358,16 @@ void parser___ReduceAction557___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction557___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 17189, LOCATE_parser___ReduceAction557___init};
+  struct trace_t trace = {NULL, NULL, 17189, LOCATE_parser___ReduceAction557___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction557].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction557].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction558___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 17193, LOCATE_parser___ReduceAction558___action};
+  struct trace_t trace = {NULL, NULL, 17193, LOCATE_parser___ReduceAction558___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -33246,6 +34377,7 @@ void parser___ReduceAction558___action(val_t  self, val_t  param0) {
   val_t variable6;
   val_t variable7;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -33280,15 +34412,16 @@ void parser___ReduceAction558___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction558___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 17216, LOCATE_parser___ReduceAction558___init};
+  struct trace_t trace = {NULL, NULL, 17216, LOCATE_parser___ReduceAction558___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction558].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction558].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction559___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 17220, LOCATE_parser___ReduceAction559___action};
+  struct trace_t trace = {NULL, NULL, 17220, LOCATE_parser___ReduceAction559___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -33296,6 +34429,7 @@ void parser___ReduceAction559___action(val_t  self, val_t  param0) {
   val_t variable4;
   val_t variable5;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -33316,15 +34450,16 @@ void parser___ReduceAction559___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction559___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 17233, LOCATE_parser___ReduceAction559___init};
+  struct trace_t trace = {NULL, NULL, 17233, LOCATE_parser___ReduceAction559___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction559].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction559].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction560___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 17237, LOCATE_parser___ReduceAction560___action};
+  struct trace_t trace = {NULL, NULL, 17237, LOCATE_parser___ReduceAction560___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -33334,6 +34469,7 @@ void parser___ReduceAction560___action(val_t  self, val_t  param0) {
   val_t variable6;
   val_t variable7;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -33368,15 +34504,16 @@ void parser___ReduceAction560___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction560___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 17260, LOCATE_parser___ReduceAction560___init};
+  struct trace_t trace = {NULL, NULL, 17260, LOCATE_parser___ReduceAction560___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction560].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction560].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction561___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 17264, LOCATE_parser___ReduceAction561___action};
+  struct trace_t trace = {NULL, NULL, 17264, LOCATE_parser___ReduceAction561___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -33384,6 +34521,7 @@ void parser___ReduceAction561___action(val_t  self, val_t  param0) {
   val_t variable4;
   val_t variable5;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -33404,15 +34542,16 @@ void parser___ReduceAction561___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction561___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 17277, LOCATE_parser___ReduceAction561___init};
+  struct trace_t trace = {NULL, NULL, 17277, LOCATE_parser___ReduceAction561___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction561].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction561].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction562___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 17281, LOCATE_parser___ReduceAction562___action};
+  struct trace_t trace = {NULL, NULL, 17281, LOCATE_parser___ReduceAction562___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -33422,6 +34561,7 @@ void parser___ReduceAction562___action(val_t  self, val_t  param0) {
   val_t variable6;
   val_t variable7;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -33456,15 +34596,16 @@ void parser___ReduceAction562___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction562___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 17304, LOCATE_parser___ReduceAction562___init};
+  struct trace_t trace = {NULL, NULL, 17304, LOCATE_parser___ReduceAction562___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction562].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction562].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction563___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 17308, LOCATE_parser___ReduceAction563___action};
+  struct trace_t trace = {NULL, NULL, 17308, LOCATE_parser___ReduceAction563___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -33472,6 +34613,7 @@ void parser___ReduceAction563___action(val_t  self, val_t  param0) {
   val_t variable4;
   val_t variable5;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -33497,15 +34639,16 @@ void parser___ReduceAction563___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction563___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 17325, LOCATE_parser___ReduceAction563___init};
+  struct trace_t trace = {NULL, NULL, 17325, LOCATE_parser___ReduceAction563___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction563].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction563].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction564___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 17329, LOCATE_parser___ReduceAction564___action};
+  struct trace_t trace = {NULL, NULL, 17329, LOCATE_parser___ReduceAction564___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -33515,6 +34658,7 @@ void parser___ReduceAction564___action(val_t  self, val_t  param0) {
   val_t variable6;
   val_t variable7;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -33554,15 +34698,16 @@ void parser___ReduceAction564___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction564___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 17356, LOCATE_parser___ReduceAction564___init};
+  struct trace_t trace = {NULL, NULL, 17356, LOCATE_parser___ReduceAction564___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction564].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction564].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction565___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 17360, LOCATE_parser___ReduceAction565___action};
+  struct trace_t trace = {NULL, NULL, 17360, LOCATE_parser___ReduceAction565___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -33570,6 +34715,7 @@ void parser___ReduceAction565___action(val_t  self, val_t  param0) {
   val_t variable4;
   val_t variable5;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -33590,15 +34736,16 @@ void parser___ReduceAction565___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction565___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 17373, LOCATE_parser___ReduceAction565___init};
+  struct trace_t trace = {NULL, NULL, 17373, LOCATE_parser___ReduceAction565___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction565].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction565].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction566___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 17377, LOCATE_parser___ReduceAction566___action};
+  struct trace_t trace = {NULL, NULL, 17377, LOCATE_parser___ReduceAction566___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -33608,6 +34755,7 @@ void parser___ReduceAction566___action(val_t  self, val_t  param0) {
   val_t variable6;
   val_t variable7;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -33642,15 +34790,16 @@ void parser___ReduceAction566___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction566___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 17400, LOCATE_parser___ReduceAction566___init};
+  struct trace_t trace = {NULL, NULL, 17400, LOCATE_parser___ReduceAction566___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction566].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction566].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction567___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 17404, LOCATE_parser___ReduceAction567___action};
+  struct trace_t trace = {NULL, NULL, 17404, LOCATE_parser___ReduceAction567___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -33658,6 +34807,7 @@ void parser___ReduceAction567___action(val_t  self, val_t  param0) {
   val_t variable4;
   val_t variable5;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -33678,15 +34828,16 @@ void parser___ReduceAction567___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction567___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 17417, LOCATE_parser___ReduceAction567___init};
+  struct trace_t trace = {NULL, NULL, 17417, LOCATE_parser___ReduceAction567___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction567].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction567].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction568___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 17421, LOCATE_parser___ReduceAction568___action};
+  struct trace_t trace = {NULL, NULL, 17421, LOCATE_parser___ReduceAction568___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -33696,6 +34847,7 @@ void parser___ReduceAction568___action(val_t  self, val_t  param0) {
   val_t variable6;
   val_t variable7;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -33730,15 +34882,16 @@ void parser___ReduceAction568___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction568___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 17444, LOCATE_parser___ReduceAction568___init};
+  struct trace_t trace = {NULL, NULL, 17444, LOCATE_parser___ReduceAction568___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction568].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction568].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction569___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 17448, LOCATE_parser___ReduceAction569___action};
+  struct trace_t trace = {NULL, NULL, 17448, LOCATE_parser___ReduceAction569___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -33746,6 +34899,7 @@ void parser___ReduceAction569___action(val_t  self, val_t  param0) {
   val_t variable4;
   val_t variable5;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -33766,15 +34920,16 @@ void parser___ReduceAction569___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction569___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 17461, LOCATE_parser___ReduceAction569___init};
+  struct trace_t trace = {NULL, NULL, 17461, LOCATE_parser___ReduceAction569___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction569].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction569].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction570___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 17465, LOCATE_parser___ReduceAction570___action};
+  struct trace_t trace = {NULL, NULL, 17465, LOCATE_parser___ReduceAction570___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -33784,6 +34939,7 @@ void parser___ReduceAction570___action(val_t  self, val_t  param0) {
   val_t variable6;
   val_t variable7;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -33818,15 +34974,16 @@ void parser___ReduceAction570___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction570___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 17488, LOCATE_parser___ReduceAction570___init};
+  struct trace_t trace = {NULL, NULL, 17488, LOCATE_parser___ReduceAction570___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction570].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction570].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction571___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 17492, LOCATE_parser___ReduceAction571___action};
+  struct trace_t trace = {NULL, NULL, 17492, LOCATE_parser___ReduceAction571___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -33834,6 +34991,7 @@ void parser___ReduceAction571___action(val_t  self, val_t  param0) {
   val_t variable4;
   val_t variable5;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -33854,15 +35012,16 @@ void parser___ReduceAction571___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction571___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 17505, LOCATE_parser___ReduceAction571___init};
+  struct trace_t trace = {NULL, NULL, 17505, LOCATE_parser___ReduceAction571___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction571].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction571].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction572___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser, 17509, LOCATE_parser___ReduceAction572___action};
+  struct trace_t trace = {NULL, NULL, 17509, LOCATE_parser___ReduceAction572___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -33872,6 +35031,7 @@ void parser___ReduceAction572___action(val_t  self, val_t  param0) {
   val_t variable6;
   val_t variable7;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
@@ -33906,8 +35066,9 @@ void parser___ReduceAction572___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction572___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser, 17532, LOCATE_parser___ReduceAction572___init};
+  struct trace_t trace = {NULL, NULL, 17532, LOCATE_parser___ReduceAction572___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction572].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction572].i] = 1;
   tracehead = trace.prev;
index 95f3d3c..f42c0a0 100644 (file)
@@ -1,6 +1,6 @@
 /* This C header file is generated by NIT to compile modules and programs that requires parser. */
-#ifndef parser_2_sep
-#define parser_2_sep
+#ifndef parser_sep
+#define parser_sep
 #include "parser_prod._sep.h"
 #include "parser_tables._sep.h"
 #include <nit_common.h>
@@ -1158,7 +1158,7 @@ extern const classtable_elt_t VFT_ReduceAction570[];
 extern const classtable_elt_t VFT_ReduceAction571[];
 
 extern const classtable_elt_t VFT_ReduceAction572[];
-#define LOCATE_parser "./parser//parser.nit"
+extern const char *LOCATE_parser;
 extern const int SFT_parser[];
 #define ID_State SFT_parser[0]
 #define COLOR_State SFT_parser[1]
index 6cf68f8..82ad781 100644 (file)
 /* This C file is generated by NIT to compile module parser_nodes. */
 #include "parser_nodes._sep.h"
 val_t parser_nodes___PPropdef___n_doc(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 283, LOCATE_parser_nodes___PPropdef___n_doc};
+  struct trace_t trace = {NULL, NULL, 283, LOCATE_parser_nodes___PPropdef___n_doc};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___PPropdef____n_doc( self) /*PPropdef::_n_doc*/;
 }
 void parser_nodes___PPropdef___n_doc__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 283, LOCATE_parser_nodes___PPropdef___n_doc__eq};
+  struct trace_t trace = {NULL, NULL, 283, LOCATE_parser_nodes___PPropdef___n_doc__eq};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___PPropdef____n_doc( self) /*PPropdef::_n_doc*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___PAble___n_kwredef(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 286, LOCATE_parser_nodes___PAble___n_kwredef};
+  struct trace_t trace = {NULL, NULL, 286, LOCATE_parser_nodes___PAble___n_kwredef};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___PAble____n_kwredef( self) /*PAble::_n_kwredef*/;
 }
 void parser_nodes___PAble___n_kwredef__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 286, LOCATE_parser_nodes___PAble___n_kwredef__eq};
+  struct trace_t trace = {NULL, NULL, 286, LOCATE_parser_nodes___PAble___n_kwredef__eq};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___PAble____n_kwredef( self) /*PAble::_n_kwredef*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___PParam___n_id(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 292, LOCATE_parser_nodes___PParam___n_id};
+  struct trace_t trace = {NULL, NULL, 292, LOCATE_parser_nodes___PParam___n_id};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___PParam____n_id( self) /*PParam::_n_id*/;
 }
 void parser_nodes___PParam___n_id__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 292, LOCATE_parser_nodes___PParam___n_id__eq};
+  struct trace_t trace = {NULL, NULL, 292, LOCATE_parser_nodes___PParam___n_id__eq};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___PParam____n_id( self) /*PParam::_n_id*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___PParam___n_type(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 293, LOCATE_parser_nodes___PParam___n_type};
+  struct trace_t trace = {NULL, NULL, 293, LOCATE_parser_nodes___PParam___n_type};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___PParam____n_type( self) /*PParam::_n_type*/;
 }
 void parser_nodes___PParam___n_type__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 293, LOCATE_parser_nodes___PParam___n_type__eq};
+  struct trace_t trace = {NULL, NULL, 293, LOCATE_parser_nodes___PParam___n_type__eq};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___PParam____n_type( self) /*PParam::_n_type*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___AModule___n_packagedecl(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 303, LOCATE_parser_nodes___AModule___n_packagedecl};
+  struct trace_t trace = {NULL, NULL, 303, LOCATE_parser_nodes___AModule___n_packagedecl};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___AModule____n_packagedecl( self) /*AModule::_n_packagedecl*/;
 }
 void parser_nodes___AModule___n_packagedecl__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 303, LOCATE_parser_nodes___AModule___n_packagedecl__eq};
+  struct trace_t trace = {NULL, NULL, 303, LOCATE_parser_nodes___AModule___n_packagedecl__eq};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___AModule____n_packagedecl( self) /*AModule::_n_packagedecl*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___AModule___n_imports(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 304, LOCATE_parser_nodes___AModule___n_imports};
+  struct trace_t trace = {NULL, NULL, 304, LOCATE_parser_nodes___AModule___n_imports};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___AModule____n_imports( self) /*AModule::_n_imports*/;
 }
 void parser_nodes___AModule___n_imports__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 304, LOCATE_parser_nodes___AModule___n_imports__eq};
+  struct trace_t trace = {NULL, NULL, 304, LOCATE_parser_nodes___AModule___n_imports__eq};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___AModule____n_imports( self) /*AModule::_n_imports*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___AModule___n_classdefs(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 305, LOCATE_parser_nodes___AModule___n_classdefs};
+  struct trace_t trace = {NULL, NULL, 305, LOCATE_parser_nodes___AModule___n_classdefs};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___AModule____n_classdefs( self) /*AModule::_n_classdefs*/;
 }
 void parser_nodes___AModule___n_classdefs__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 305, LOCATE_parser_nodes___AModule___n_classdefs__eq};
+  struct trace_t trace = {NULL, NULL, 305, LOCATE_parser_nodes___AModule___n_classdefs__eq};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___AModule____n_classdefs( self) /*AModule::_n_classdefs*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___APackagedecl___n_doc(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 309, LOCATE_parser_nodes___APackagedecl___n_doc};
+  struct trace_t trace = {NULL, NULL, 309, LOCATE_parser_nodes___APackagedecl___n_doc};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___APackagedecl____n_doc( self) /*APackagedecl::_n_doc*/;
 }
 void parser_nodes___APackagedecl___n_doc__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 309, LOCATE_parser_nodes___APackagedecl___n_doc__eq};
+  struct trace_t trace = {NULL, NULL, 309, LOCATE_parser_nodes___APackagedecl___n_doc__eq};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___APackagedecl____n_doc( self) /*APackagedecl::_n_doc*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___APackagedecl___n_kwpackage(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 310, LOCATE_parser_nodes___APackagedecl___n_kwpackage};
+  struct trace_t trace = {NULL, NULL, 310, LOCATE_parser_nodes___APackagedecl___n_kwpackage};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___APackagedecl____n_kwpackage( self) /*APackagedecl::_n_kwpackage*/;
 }
 void parser_nodes___APackagedecl___n_kwpackage__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 310, LOCATE_parser_nodes___APackagedecl___n_kwpackage__eq};
+  struct trace_t trace = {NULL, NULL, 310, LOCATE_parser_nodes___APackagedecl___n_kwpackage__eq};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___APackagedecl____n_kwpackage( self) /*APackagedecl::_n_kwpackage*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___APackagedecl___n_id(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 311, LOCATE_parser_nodes___APackagedecl___n_id};
+  struct trace_t trace = {NULL, NULL, 311, LOCATE_parser_nodes___APackagedecl___n_id};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___APackagedecl____n_id( self) /*APackagedecl::_n_id*/;
 }
 void parser_nodes___APackagedecl___n_id__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 311, LOCATE_parser_nodes___APackagedecl___n_id__eq};
+  struct trace_t trace = {NULL, NULL, 311, LOCATE_parser_nodes___APackagedecl___n_id__eq};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___APackagedecl____n_id( self) /*APackagedecl::_n_id*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___AImport___n_visibility(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 315, LOCATE_parser_nodes___AImport___n_visibility};
+  struct trace_t trace = {NULL, NULL, 315, LOCATE_parser_nodes___AImport___n_visibility};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___AImport____n_visibility( self) /*AImport::_n_visibility*/;
 }
 void parser_nodes___AImport___n_visibility__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 315, LOCATE_parser_nodes___AImport___n_visibility__eq};
+  struct trace_t trace = {NULL, NULL, 315, LOCATE_parser_nodes___AImport___n_visibility__eq};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___AImport____n_visibility( self) /*AImport::_n_visibility*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___AImport___n_kwimport(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 316, LOCATE_parser_nodes___AImport___n_kwimport};
+  struct trace_t trace = {NULL, NULL, 316, LOCATE_parser_nodes___AImport___n_kwimport};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___AImport____n_kwimport( self) /*AImport::_n_kwimport*/;
 }
 void parser_nodes___AImport___n_kwimport__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 316, LOCATE_parser_nodes___AImport___n_kwimport__eq};
+  struct trace_t trace = {NULL, NULL, 316, LOCATE_parser_nodes___AImport___n_kwimport__eq};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___AImport____n_kwimport( self) /*AImport::_n_kwimport*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___AImport___n_id(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 317, LOCATE_parser_nodes___AImport___n_id};
+  struct trace_t trace = {NULL, NULL, 317, LOCATE_parser_nodes___AImport___n_id};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___AImport____n_id( self) /*AImport::_n_id*/;
 }
 void parser_nodes___AImport___n_id__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 317, LOCATE_parser_nodes___AImport___n_id__eq};
+  struct trace_t trace = {NULL, NULL, 317, LOCATE_parser_nodes___AImport___n_id__eq};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___AImport____n_id( self) /*AImport::_n_id*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___ANoImport___n_visibility(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 321, LOCATE_parser_nodes___ANoImport___n_visibility};
+  struct trace_t trace = {NULL, NULL, 321, LOCATE_parser_nodes___ANoImport___n_visibility};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___ANoImport____n_visibility( self) /*ANoImport::_n_visibility*/;
 }
 void parser_nodes___ANoImport___n_visibility__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 321, LOCATE_parser_nodes___ANoImport___n_visibility__eq};
+  struct trace_t trace = {NULL, NULL, 321, LOCATE_parser_nodes___ANoImport___n_visibility__eq};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___ANoImport____n_visibility( self) /*ANoImport::_n_visibility*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___ANoImport___n_kwimport(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 322, LOCATE_parser_nodes___ANoImport___n_kwimport};
+  struct trace_t trace = {NULL, NULL, 322, LOCATE_parser_nodes___ANoImport___n_kwimport};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___ANoImport____n_kwimport( self) /*ANoImport::_n_kwimport*/;
 }
 void parser_nodes___ANoImport___n_kwimport__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 322, LOCATE_parser_nodes___ANoImport___n_kwimport__eq};
+  struct trace_t trace = {NULL, NULL, 322, LOCATE_parser_nodes___ANoImport___n_kwimport__eq};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___ANoImport____n_kwimport( self) /*ANoImport::_n_kwimport*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___ANoImport___n_kwend(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 323, LOCATE_parser_nodes___ANoImport___n_kwend};
+  struct trace_t trace = {NULL, NULL, 323, LOCATE_parser_nodes___ANoImport___n_kwend};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___ANoImport____n_kwend( self) /*ANoImport::_n_kwend*/;
 }
 void parser_nodes___ANoImport___n_kwend__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 323, LOCATE_parser_nodes___ANoImport___n_kwend__eq};
+  struct trace_t trace = {NULL, NULL, 323, LOCATE_parser_nodes___ANoImport___n_kwend__eq};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___ANoImport____n_kwend( self) /*ANoImport::_n_kwend*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___APrivateVisibility___n_kwprivate(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 330, LOCATE_parser_nodes___APrivateVisibility___n_kwprivate};
+  struct trace_t trace = {NULL, NULL, 330, LOCATE_parser_nodes___APrivateVisibility___n_kwprivate};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___APrivateVisibility____n_kwprivate( self) /*APrivateVisibility::_n_kwprivate*/;
 }
 void parser_nodes___APrivateVisibility___n_kwprivate__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 330, LOCATE_parser_nodes___APrivateVisibility___n_kwprivate__eq};
+  struct trace_t trace = {NULL, NULL, 330, LOCATE_parser_nodes___APrivateVisibility___n_kwprivate__eq};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___APrivateVisibility____n_kwprivate( self) /*APrivateVisibility::_n_kwprivate*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___AProtectedVisibility___n_kwprotected(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 334, LOCATE_parser_nodes___AProtectedVisibility___n_kwprotected};
+  struct trace_t trace = {NULL, NULL, 334, LOCATE_parser_nodes___AProtectedVisibility___n_kwprotected};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___AProtectedVisibility____n_kwprotected( self) /*AProtectedVisibility::_n_kwprotected*/;
 }
 void parser_nodes___AProtectedVisibility___n_kwprotected__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 334, LOCATE_parser_nodes___AProtectedVisibility___n_kwprotected__eq};
+  struct trace_t trace = {NULL, NULL, 334, LOCATE_parser_nodes___AProtectedVisibility___n_kwprotected__eq};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___AProtectedVisibility____n_kwprotected( self) /*AProtectedVisibility::_n_kwprotected*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___AIntrudeVisibility___n_kwintrude(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 338, LOCATE_parser_nodes___AIntrudeVisibility___n_kwintrude};
+  struct trace_t trace = {NULL, NULL, 338, LOCATE_parser_nodes___AIntrudeVisibility___n_kwintrude};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___AIntrudeVisibility____n_kwintrude( self) /*AIntrudeVisibility::_n_kwintrude*/;
 }
 void parser_nodes___AIntrudeVisibility___n_kwintrude__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 338, LOCATE_parser_nodes___AIntrudeVisibility___n_kwintrude__eq};
+  struct trace_t trace = {NULL, NULL, 338, LOCATE_parser_nodes___AIntrudeVisibility___n_kwintrude__eq};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___AIntrudeVisibility____n_kwintrude( self) /*AIntrudeVisibility::_n_kwintrude*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___AClassdef___n_doc(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 342, LOCATE_parser_nodes___AClassdef___n_doc};
+  struct trace_t trace = {NULL, NULL, 342, LOCATE_parser_nodes___AClassdef___n_doc};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___AClassdef____n_doc( self) /*AClassdef::_n_doc*/;
 }
 void parser_nodes___AClassdef___n_doc__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 342, LOCATE_parser_nodes___AClassdef___n_doc__eq};
+  struct trace_t trace = {NULL, NULL, 342, LOCATE_parser_nodes___AClassdef___n_doc__eq};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___AClassdef____n_doc( self) /*AClassdef::_n_doc*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___AClassdef___n_kwredef(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 343, LOCATE_parser_nodes___AClassdef___n_kwredef};
+  struct trace_t trace = {NULL, NULL, 343, LOCATE_parser_nodes___AClassdef___n_kwredef};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___AClassdef____n_kwredef( self) /*AClassdef::_n_kwredef*/;
 }
 void parser_nodes___AClassdef___n_kwredef__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 343, LOCATE_parser_nodes___AClassdef___n_kwredef__eq};
+  struct trace_t trace = {NULL, NULL, 343, LOCATE_parser_nodes___AClassdef___n_kwredef__eq};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___AClassdef____n_kwredef( self) /*AClassdef::_n_kwredef*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___AClassdef___n_visibility(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 344, LOCATE_parser_nodes___AClassdef___n_visibility};
+  struct trace_t trace = {NULL, NULL, 344, LOCATE_parser_nodes___AClassdef___n_visibility};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___AClassdef____n_visibility( self) /*AClassdef::_n_visibility*/;
 }
 void parser_nodes___AClassdef___n_visibility__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 344, LOCATE_parser_nodes___AClassdef___n_visibility__eq};
+  struct trace_t trace = {NULL, NULL, 344, LOCATE_parser_nodes___AClassdef___n_visibility__eq};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___AClassdef____n_visibility( self) /*AClassdef::_n_visibility*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___AClassdef___n_classkind(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 345, LOCATE_parser_nodes___AClassdef___n_classkind};
+  struct trace_t trace = {NULL, NULL, 345, LOCATE_parser_nodes___AClassdef___n_classkind};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___AClassdef____n_classkind( self) /*AClassdef::_n_classkind*/;
 }
 void parser_nodes___AClassdef___n_classkind__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 345, LOCATE_parser_nodes___AClassdef___n_classkind__eq};
+  struct trace_t trace = {NULL, NULL, 345, LOCATE_parser_nodes___AClassdef___n_classkind__eq};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___AClassdef____n_classkind( self) /*AClassdef::_n_classkind*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___AClassdef___n_id(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 346, LOCATE_parser_nodes___AClassdef___n_id};
+  struct trace_t trace = {NULL, NULL, 346, LOCATE_parser_nodes___AClassdef___n_id};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___AClassdef____n_id( self) /*AClassdef::_n_id*/;
 }
 void parser_nodes___AClassdef___n_id__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 346, LOCATE_parser_nodes___AClassdef___n_id__eq};
+  struct trace_t trace = {NULL, NULL, 346, LOCATE_parser_nodes___AClassdef___n_id__eq};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___AClassdef____n_id( self) /*AClassdef::_n_id*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___AClassdef___n_formaldefs(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 347, LOCATE_parser_nodes___AClassdef___n_formaldefs};
+  struct trace_t trace = {NULL, NULL, 347, LOCATE_parser_nodes___AClassdef___n_formaldefs};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___AClassdef____n_formaldefs( self) /*AClassdef::_n_formaldefs*/;
 }
 void parser_nodes___AClassdef___n_formaldefs__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 347, LOCATE_parser_nodes___AClassdef___n_formaldefs__eq};
+  struct trace_t trace = {NULL, NULL, 347, LOCATE_parser_nodes___AClassdef___n_formaldefs__eq};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___AClassdef____n_formaldefs( self) /*AClassdef::_n_formaldefs*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___AClassdef___n_superclasses(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 348, LOCATE_parser_nodes___AClassdef___n_superclasses};
+  struct trace_t trace = {NULL, NULL, 348, LOCATE_parser_nodes___AClassdef___n_superclasses};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___AClassdef____n_superclasses( self) /*AClassdef::_n_superclasses*/;
 }
 void parser_nodes___AClassdef___n_superclasses__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 348, LOCATE_parser_nodes___AClassdef___n_superclasses__eq};
+  struct trace_t trace = {NULL, NULL, 348, LOCATE_parser_nodes___AClassdef___n_superclasses__eq};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___AClassdef____n_superclasses( self) /*AClassdef::_n_superclasses*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___AClassdef___n_propdefs(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 349, LOCATE_parser_nodes___AClassdef___n_propdefs};
+  struct trace_t trace = {NULL, NULL, 349, LOCATE_parser_nodes___AClassdef___n_propdefs};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___AClassdef____n_propdefs( self) /*AClassdef::_n_propdefs*/;
 }
 void parser_nodes___AClassdef___n_propdefs__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 349, LOCATE_parser_nodes___AClassdef___n_propdefs__eq};
+  struct trace_t trace = {NULL, NULL, 349, LOCATE_parser_nodes___AClassdef___n_propdefs__eq};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___AClassdef____n_propdefs( self) /*AClassdef::_n_propdefs*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___ATopClassdef___n_propdefs(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 353, LOCATE_parser_nodes___ATopClassdef___n_propdefs};
+  struct trace_t trace = {NULL, NULL, 353, LOCATE_parser_nodes___ATopClassdef___n_propdefs};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___ATopClassdef____n_propdefs( self) /*ATopClassdef::_n_propdefs*/;
 }
 void parser_nodes___ATopClassdef___n_propdefs__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 353, LOCATE_parser_nodes___ATopClassdef___n_propdefs__eq};
+  struct trace_t trace = {NULL, NULL, 353, LOCATE_parser_nodes___ATopClassdef___n_propdefs__eq};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___ATopClassdef____n_propdefs( self) /*ATopClassdef::_n_propdefs*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___AMainClassdef___n_propdefs(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 357, LOCATE_parser_nodes___AMainClassdef___n_propdefs};
+  struct trace_t trace = {NULL, NULL, 357, LOCATE_parser_nodes___AMainClassdef___n_propdefs};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___AMainClassdef____n_propdefs( self) /*AMainClassdef::_n_propdefs*/;
 }
 void parser_nodes___AMainClassdef___n_propdefs__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 357, LOCATE_parser_nodes___AMainClassdef___n_propdefs__eq};
+  struct trace_t trace = {NULL, NULL, 357, LOCATE_parser_nodes___AMainClassdef___n_propdefs__eq};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___AMainClassdef____n_propdefs( self) /*AMainClassdef::_n_propdefs*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___AConcreteClasskind___n_kwclass(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 361, LOCATE_parser_nodes___AConcreteClasskind___n_kwclass};
+  struct trace_t trace = {NULL, NULL, 361, LOCATE_parser_nodes___AConcreteClasskind___n_kwclass};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___AConcreteClasskind____n_kwclass( self) /*AConcreteClasskind::_n_kwclass*/;
 }
 void parser_nodes___AConcreteClasskind___n_kwclass__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 361, LOCATE_parser_nodes___AConcreteClasskind___n_kwclass__eq};
+  struct trace_t trace = {NULL, NULL, 361, LOCATE_parser_nodes___AConcreteClasskind___n_kwclass__eq};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___AConcreteClasskind____n_kwclass( self) /*AConcreteClasskind::_n_kwclass*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___AAbstractClasskind___n_kwabstract(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 365, LOCATE_parser_nodes___AAbstractClasskind___n_kwabstract};
+  struct trace_t trace = {NULL, NULL, 365, LOCATE_parser_nodes___AAbstractClasskind___n_kwabstract};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___AAbstractClasskind____n_kwabstract( self) /*AAbstractClasskind::_n_kwabstract*/;
 }
 void parser_nodes___AAbstractClasskind___n_kwabstract__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 365, LOCATE_parser_nodes___AAbstractClasskind___n_kwabstract__eq};
+  struct trace_t trace = {NULL, NULL, 365, LOCATE_parser_nodes___AAbstractClasskind___n_kwabstract__eq};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___AAbstractClasskind____n_kwabstract( self) /*AAbstractClasskind::_n_kwabstract*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___AAbstractClasskind___n_kwclass(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 366, LOCATE_parser_nodes___AAbstractClasskind___n_kwclass};
+  struct trace_t trace = {NULL, NULL, 366, LOCATE_parser_nodes___AAbstractClasskind___n_kwclass};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___AAbstractClasskind____n_kwclass( self) /*AAbstractClasskind::_n_kwclass*/;
 }
 void parser_nodes___AAbstractClasskind___n_kwclass__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 366, LOCATE_parser_nodes___AAbstractClasskind___n_kwclass__eq};
+  struct trace_t trace = {NULL, NULL, 366, LOCATE_parser_nodes___AAbstractClasskind___n_kwclass__eq};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___AAbstractClasskind____n_kwclass( self) /*AAbstractClasskind::_n_kwclass*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___AInterfaceClasskind___n_kwinterface(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 370, LOCATE_parser_nodes___AInterfaceClasskind___n_kwinterface};
+  struct trace_t trace = {NULL, NULL, 370, LOCATE_parser_nodes___AInterfaceClasskind___n_kwinterface};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___AInterfaceClasskind____n_kwinterface( self) /*AInterfaceClasskind::_n_kwinterface*/;
 }
 void parser_nodes___AInterfaceClasskind___n_kwinterface__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 370, LOCATE_parser_nodes___AInterfaceClasskind___n_kwinterface__eq};
+  struct trace_t trace = {NULL, NULL, 370, LOCATE_parser_nodes___AInterfaceClasskind___n_kwinterface__eq};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___AInterfaceClasskind____n_kwinterface( self) /*AInterfaceClasskind::_n_kwinterface*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___AUniversalClasskind___n_kwuniversal(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 374, LOCATE_parser_nodes___AUniversalClasskind___n_kwuniversal};
+  struct trace_t trace = {NULL, NULL, 374, LOCATE_parser_nodes___AUniversalClasskind___n_kwuniversal};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___AUniversalClasskind____n_kwuniversal( self) /*AUniversalClasskind::_n_kwuniversal*/;
 }
 void parser_nodes___AUniversalClasskind___n_kwuniversal__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 374, LOCATE_parser_nodes___AUniversalClasskind___n_kwuniversal__eq};
+  struct trace_t trace = {NULL, NULL, 374, LOCATE_parser_nodes___AUniversalClasskind___n_kwuniversal__eq};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___AUniversalClasskind____n_kwuniversal( self) /*AUniversalClasskind::_n_kwuniversal*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___AFormaldef___n_id(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 378, LOCATE_parser_nodes___AFormaldef___n_id};
+  struct trace_t trace = {NULL, NULL, 378, LOCATE_parser_nodes___AFormaldef___n_id};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___AFormaldef____n_id( self) /*AFormaldef::_n_id*/;
 }
 void parser_nodes___AFormaldef___n_id__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 378, LOCATE_parser_nodes___AFormaldef___n_id__eq};
+  struct trace_t trace = {NULL, NULL, 378, LOCATE_parser_nodes___AFormaldef___n_id__eq};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___AFormaldef____n_id( self) /*AFormaldef::_n_id*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___AFormaldef___n_type(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 379, LOCATE_parser_nodes___AFormaldef___n_type};
+  struct trace_t trace = {NULL, NULL, 379, LOCATE_parser_nodes___AFormaldef___n_type};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___AFormaldef____n_type( self) /*AFormaldef::_n_type*/;
 }
 void parser_nodes___AFormaldef___n_type__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 379, LOCATE_parser_nodes___AFormaldef___n_type__eq};
+  struct trace_t trace = {NULL, NULL, 379, LOCATE_parser_nodes___AFormaldef___n_type__eq};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___AFormaldef____n_type( self) /*AFormaldef::_n_type*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___ASuperclass___n_kwspecial(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 383, LOCATE_parser_nodes___ASuperclass___n_kwspecial};
+  struct trace_t trace = {NULL, NULL, 383, LOCATE_parser_nodes___ASuperclass___n_kwspecial};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___ASuperclass____n_kwspecial( self) /*ASuperclass::_n_kwspecial*/;
 }
 void parser_nodes___ASuperclass___n_kwspecial__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 383, LOCATE_parser_nodes___ASuperclass___n_kwspecial__eq};
+  struct trace_t trace = {NULL, NULL, 383, LOCATE_parser_nodes___ASuperclass___n_kwspecial__eq};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___ASuperclass____n_kwspecial( self) /*ASuperclass::_n_kwspecial*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___ASuperclass___n_type(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 384, LOCATE_parser_nodes___ASuperclass___n_type};
+  struct trace_t trace = {NULL, NULL, 384, LOCATE_parser_nodes___ASuperclass___n_type};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___ASuperclass____n_type( self) /*ASuperclass::_n_type*/;
 }
 void parser_nodes___ASuperclass___n_type__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 384, LOCATE_parser_nodes___ASuperclass___n_type__eq};
+  struct trace_t trace = {NULL, NULL, 384, LOCATE_parser_nodes___ASuperclass___n_type__eq};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___ASuperclass____n_type( self) /*ASuperclass::_n_type*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___AAttrPropdef___n_kwredef(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 388, LOCATE_parser_nodes___AAttrPropdef___n_kwredef};
+  struct trace_t trace = {NULL, NULL, 388, LOCATE_parser_nodes___AAttrPropdef___n_kwredef};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___AAttrPropdef____n_kwredef( self) /*AAttrPropdef::_n_kwredef*/;
 }
 void parser_nodes___AAttrPropdef___n_kwredef__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 388, LOCATE_parser_nodes___AAttrPropdef___n_kwredef__eq};
+  struct trace_t trace = {NULL, NULL, 388, LOCATE_parser_nodes___AAttrPropdef___n_kwredef__eq};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___AAttrPropdef____n_kwredef( self) /*AAttrPropdef::_n_kwredef*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___AAttrPropdef___n_visibility(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 389, LOCATE_parser_nodes___AAttrPropdef___n_visibility};
+  struct trace_t trace = {NULL, NULL, 389, LOCATE_parser_nodes___AAttrPropdef___n_visibility};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___AAttrPropdef____n_visibility( self) /*AAttrPropdef::_n_visibility*/;
 }
 void parser_nodes___AAttrPropdef___n_visibility__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 389, LOCATE_parser_nodes___AAttrPropdef___n_visibility__eq};
+  struct trace_t trace = {NULL, NULL, 389, LOCATE_parser_nodes___AAttrPropdef___n_visibility__eq};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___AAttrPropdef____n_visibility( self) /*AAttrPropdef::_n_visibility*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___AAttrPropdef___n_kwattr(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 390, LOCATE_parser_nodes___AAttrPropdef___n_kwattr};
+  struct trace_t trace = {NULL, NULL, 390, LOCATE_parser_nodes___AAttrPropdef___n_kwattr};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___AAttrPropdef____n_kwattr( self) /*AAttrPropdef::_n_kwattr*/;
 }
 void parser_nodes___AAttrPropdef___n_kwattr__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 390, LOCATE_parser_nodes___AAttrPropdef___n_kwattr__eq};
+  struct trace_t trace = {NULL, NULL, 390, LOCATE_parser_nodes___AAttrPropdef___n_kwattr__eq};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___AAttrPropdef____n_kwattr( self) /*AAttrPropdef::_n_kwattr*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___AAttrPropdef___n_id(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 391, LOCATE_parser_nodes___AAttrPropdef___n_id};
+  struct trace_t trace = {NULL, NULL, 391, LOCATE_parser_nodes___AAttrPropdef___n_id};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___AAttrPropdef____n_id( self) /*AAttrPropdef::_n_id*/;
 }
 void parser_nodes___AAttrPropdef___n_id__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 391, LOCATE_parser_nodes___AAttrPropdef___n_id__eq};
+  struct trace_t trace = {NULL, NULL, 391, LOCATE_parser_nodes___AAttrPropdef___n_id__eq};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___AAttrPropdef____n_id( self) /*AAttrPropdef::_n_id*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___AAttrPropdef___n_type(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 392, LOCATE_parser_nodes___AAttrPropdef___n_type};
+  struct trace_t trace = {NULL, NULL, 392, LOCATE_parser_nodes___AAttrPropdef___n_type};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___AAttrPropdef____n_type( self) /*AAttrPropdef::_n_type*/;
 }
 void parser_nodes___AAttrPropdef___n_type__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 392, LOCATE_parser_nodes___AAttrPropdef___n_type__eq};
+  struct trace_t trace = {NULL, NULL, 392, LOCATE_parser_nodes___AAttrPropdef___n_type__eq};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___AAttrPropdef____n_type( self) /*AAttrPropdef::_n_type*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___AAttrPropdef___n_readable(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 393, LOCATE_parser_nodes___AAttrPropdef___n_readable};
+  struct trace_t trace = {NULL, NULL, 393, LOCATE_parser_nodes___AAttrPropdef___n_readable};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___AAttrPropdef____n_readable( self) /*AAttrPropdef::_n_readable*/;
 }
 void parser_nodes___AAttrPropdef___n_readable__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 393, LOCATE_parser_nodes___AAttrPropdef___n_readable__eq};
+  struct trace_t trace = {NULL, NULL, 393, LOCATE_parser_nodes___AAttrPropdef___n_readable__eq};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___AAttrPropdef____n_readable( self) /*AAttrPropdef::_n_readable*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___AAttrPropdef___n_writable(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 394, LOCATE_parser_nodes___AAttrPropdef___n_writable};
+  struct trace_t trace = {NULL, NULL, 394, LOCATE_parser_nodes___AAttrPropdef___n_writable};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___AAttrPropdef____n_writable( self) /*AAttrPropdef::_n_writable*/;
 }
 void parser_nodes___AAttrPropdef___n_writable__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 394, LOCATE_parser_nodes___AAttrPropdef___n_writable__eq};
+  struct trace_t trace = {NULL, NULL, 394, LOCATE_parser_nodes___AAttrPropdef___n_writable__eq};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___AAttrPropdef____n_writable( self) /*AAttrPropdef::_n_writable*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___AAttrPropdef___n_expr(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 395, LOCATE_parser_nodes___AAttrPropdef___n_expr};
+  struct trace_t trace = {NULL, NULL, 395, LOCATE_parser_nodes___AAttrPropdef___n_expr};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___AAttrPropdef____n_expr( self) /*AAttrPropdef::_n_expr*/;
 }
 void parser_nodes___AAttrPropdef___n_expr__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 395, LOCATE_parser_nodes___AAttrPropdef___n_expr__eq};
+  struct trace_t trace = {NULL, NULL, 395, LOCATE_parser_nodes___AAttrPropdef___n_expr__eq};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___AAttrPropdef____n_expr( self) /*AAttrPropdef::_n_expr*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___AMethPropdef___n_kwredef(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 399, LOCATE_parser_nodes___AMethPropdef___n_kwredef};
+  struct trace_t trace = {NULL, NULL, 399, LOCATE_parser_nodes___AMethPropdef___n_kwredef};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___AMethPropdef____n_kwredef( self) /*AMethPropdef::_n_kwredef*/;
 }
 void parser_nodes___AMethPropdef___n_kwredef__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 399, LOCATE_parser_nodes___AMethPropdef___n_kwredef__eq};
+  struct trace_t trace = {NULL, NULL, 399, LOCATE_parser_nodes___AMethPropdef___n_kwredef__eq};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___AMethPropdef____n_kwredef( self) /*AMethPropdef::_n_kwredef*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___AMethPropdef___n_visibility(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 400, LOCATE_parser_nodes___AMethPropdef___n_visibility};
+  struct trace_t trace = {NULL, NULL, 400, LOCATE_parser_nodes___AMethPropdef___n_visibility};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___AMethPropdef____n_visibility( self) /*AMethPropdef::_n_visibility*/;
 }
 void parser_nodes___AMethPropdef___n_visibility__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 400, LOCATE_parser_nodes___AMethPropdef___n_visibility__eq};
+  struct trace_t trace = {NULL, NULL, 400, LOCATE_parser_nodes___AMethPropdef___n_visibility__eq};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___AMethPropdef____n_visibility( self) /*AMethPropdef::_n_visibility*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___AMethPropdef___n_methid(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 401, LOCATE_parser_nodes___AMethPropdef___n_methid};
+  struct trace_t trace = {NULL, NULL, 401, LOCATE_parser_nodes___AMethPropdef___n_methid};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___AMethPropdef____n_methid( self) /*AMethPropdef::_n_methid*/;
 }
 void parser_nodes___AMethPropdef___n_methid__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 401, LOCATE_parser_nodes___AMethPropdef___n_methid__eq};
+  struct trace_t trace = {NULL, NULL, 401, LOCATE_parser_nodes___AMethPropdef___n_methid__eq};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___AMethPropdef____n_methid( self) /*AMethPropdef::_n_methid*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___AMethPropdef___n_signature(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 402, LOCATE_parser_nodes___AMethPropdef___n_signature};
+  struct trace_t trace = {NULL, NULL, 402, LOCATE_parser_nodes___AMethPropdef___n_signature};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___AMethPropdef____n_signature( self) /*AMethPropdef::_n_signature*/;
 }
 void parser_nodes___AMethPropdef___n_signature__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 402, LOCATE_parser_nodes___AMethPropdef___n_signature__eq};
+  struct trace_t trace = {NULL, NULL, 402, LOCATE_parser_nodes___AMethPropdef___n_signature__eq};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___AMethPropdef____n_signature( self) /*AMethPropdef::_n_signature*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___ADeferredMethPropdef___n_kwmeth(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 406, LOCATE_parser_nodes___ADeferredMethPropdef___n_kwmeth};
+  struct trace_t trace = {NULL, NULL, 406, LOCATE_parser_nodes___ADeferredMethPropdef___n_kwmeth};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___ADeferredMethPropdef____n_kwmeth( self) /*ADeferredMethPropdef::_n_kwmeth*/;
 }
 void parser_nodes___ADeferredMethPropdef___n_kwmeth__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 406, LOCATE_parser_nodes___ADeferredMethPropdef___n_kwmeth__eq};
+  struct trace_t trace = {NULL, NULL, 406, LOCATE_parser_nodes___ADeferredMethPropdef___n_kwmeth__eq};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___ADeferredMethPropdef____n_kwmeth( self) /*ADeferredMethPropdef::_n_kwmeth*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___AInternMethPropdef___n_kwmeth(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 410, LOCATE_parser_nodes___AInternMethPropdef___n_kwmeth};
+  struct trace_t trace = {NULL, NULL, 410, LOCATE_parser_nodes___AInternMethPropdef___n_kwmeth};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___AInternMethPropdef____n_kwmeth( self) /*AInternMethPropdef::_n_kwmeth*/;
 }
 void parser_nodes___AInternMethPropdef___n_kwmeth__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 410, LOCATE_parser_nodes___AInternMethPropdef___n_kwmeth__eq};
+  struct trace_t trace = {NULL, NULL, 410, LOCATE_parser_nodes___AInternMethPropdef___n_kwmeth__eq};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___AInternMethPropdef____n_kwmeth( self) /*AInternMethPropdef::_n_kwmeth*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___AExternMethPropdef___n_kwmeth(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 414, LOCATE_parser_nodes___AExternMethPropdef___n_kwmeth};
+  struct trace_t trace = {NULL, NULL, 414, LOCATE_parser_nodes___AExternMethPropdef___n_kwmeth};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___AExternMethPropdef____n_kwmeth( self) /*AExternMethPropdef::_n_kwmeth*/;
 }
 void parser_nodes___AExternMethPropdef___n_kwmeth__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 414, LOCATE_parser_nodes___AExternMethPropdef___n_kwmeth__eq};
+  struct trace_t trace = {NULL, NULL, 414, LOCATE_parser_nodes___AExternMethPropdef___n_kwmeth__eq};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___AExternMethPropdef____n_kwmeth( self) /*AExternMethPropdef::_n_kwmeth*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___AExternMethPropdef___n_extern(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 415, LOCATE_parser_nodes___AExternMethPropdef___n_extern};
+  struct trace_t trace = {NULL, NULL, 415, LOCATE_parser_nodes___AExternMethPropdef___n_extern};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___AExternMethPropdef____n_extern( self) /*AExternMethPropdef::_n_extern*/;
 }
 void parser_nodes___AExternMethPropdef___n_extern__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 415, LOCATE_parser_nodes___AExternMethPropdef___n_extern__eq};
+  struct trace_t trace = {NULL, NULL, 415, LOCATE_parser_nodes___AExternMethPropdef___n_extern__eq};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___AExternMethPropdef____n_extern( self) /*AExternMethPropdef::_n_extern*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___AConcreteMethPropdef___n_kwmeth(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 419, LOCATE_parser_nodes___AConcreteMethPropdef___n_kwmeth};
+  struct trace_t trace = {NULL, NULL, 419, LOCATE_parser_nodes___AConcreteMethPropdef___n_kwmeth};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___AConcreteMethPropdef____n_kwmeth( self) /*AConcreteMethPropdef::_n_kwmeth*/;
 }
 void parser_nodes___AConcreteMethPropdef___n_kwmeth__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 419, LOCATE_parser_nodes___AConcreteMethPropdef___n_kwmeth__eq};
+  struct trace_t trace = {NULL, NULL, 419, LOCATE_parser_nodes___AConcreteMethPropdef___n_kwmeth__eq};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___AConcreteMethPropdef____n_kwmeth( self) /*AConcreteMethPropdef::_n_kwmeth*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___AConcreteMethPropdef___n_block(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 420, LOCATE_parser_nodes___AConcreteMethPropdef___n_block};
+  struct trace_t trace = {NULL, NULL, 420, LOCATE_parser_nodes___AConcreteMethPropdef___n_block};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___AConcreteMethPropdef____n_block( self) /*AConcreteMethPropdef::_n_block*/;
 }
 void parser_nodes___AConcreteMethPropdef___n_block__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 420, LOCATE_parser_nodes___AConcreteMethPropdef___n_block__eq};
+  struct trace_t trace = {NULL, NULL, 420, LOCATE_parser_nodes___AConcreteMethPropdef___n_block__eq};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___AConcreteMethPropdef____n_block( self) /*AConcreteMethPropdef::_n_block*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___AConcreteInitPropdef___n_kwinit(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 424, LOCATE_parser_nodes___AConcreteInitPropdef___n_kwinit};
+  struct trace_t trace = {NULL, NULL, 424, LOCATE_parser_nodes___AConcreteInitPropdef___n_kwinit};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___AConcreteInitPropdef____n_kwinit( self) /*AConcreteInitPropdef::_n_kwinit*/;
 }
 void parser_nodes___AConcreteInitPropdef___n_kwinit__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 424, LOCATE_parser_nodes___AConcreteInitPropdef___n_kwinit__eq};
+  struct trace_t trace = {NULL, NULL, 424, LOCATE_parser_nodes___AConcreteInitPropdef___n_kwinit__eq};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___AConcreteInitPropdef____n_kwinit( self) /*AConcreteInitPropdef::_n_kwinit*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___ATypePropdef___n_kwredef(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 431, LOCATE_parser_nodes___ATypePropdef___n_kwredef};
+  struct trace_t trace = {NULL, NULL, 431, LOCATE_parser_nodes___ATypePropdef___n_kwredef};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___ATypePropdef____n_kwredef( self) /*ATypePropdef::_n_kwredef*/;
 }
 void parser_nodes___ATypePropdef___n_kwredef__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 431, LOCATE_parser_nodes___ATypePropdef___n_kwredef__eq};
+  struct trace_t trace = {NULL, NULL, 431, LOCATE_parser_nodes___ATypePropdef___n_kwredef__eq};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___ATypePropdef____n_kwredef( self) /*ATypePropdef::_n_kwredef*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___ATypePropdef___n_visibility(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 432, LOCATE_parser_nodes___ATypePropdef___n_visibility};
+  struct trace_t trace = {NULL, NULL, 432, LOCATE_parser_nodes___ATypePropdef___n_visibility};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___ATypePropdef____n_visibility( self) /*ATypePropdef::_n_visibility*/;
 }
 void parser_nodes___ATypePropdef___n_visibility__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 432, LOCATE_parser_nodes___ATypePropdef___n_visibility__eq};
+  struct trace_t trace = {NULL, NULL, 432, LOCATE_parser_nodes___ATypePropdef___n_visibility__eq};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___ATypePropdef____n_visibility( self) /*ATypePropdef::_n_visibility*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___ATypePropdef___n_kwtype(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 433, LOCATE_parser_nodes___ATypePropdef___n_kwtype};
+  struct trace_t trace = {NULL, NULL, 433, LOCATE_parser_nodes___ATypePropdef___n_kwtype};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___ATypePropdef____n_kwtype( self) /*ATypePropdef::_n_kwtype*/;
 }
 void parser_nodes___ATypePropdef___n_kwtype__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 433, LOCATE_parser_nodes___ATypePropdef___n_kwtype__eq};
+  struct trace_t trace = {NULL, NULL, 433, LOCATE_parser_nodes___ATypePropdef___n_kwtype__eq};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___ATypePropdef____n_kwtype( self) /*ATypePropdef::_n_kwtype*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___ATypePropdef___n_id(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 434, LOCATE_parser_nodes___ATypePropdef___n_id};
+  struct trace_t trace = {NULL, NULL, 434, LOCATE_parser_nodes___ATypePropdef___n_id};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___ATypePropdef____n_id( self) /*ATypePropdef::_n_id*/;
 }
 void parser_nodes___ATypePropdef___n_id__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 434, LOCATE_parser_nodes___ATypePropdef___n_id__eq};
+  struct trace_t trace = {NULL, NULL, 434, LOCATE_parser_nodes___ATypePropdef___n_id__eq};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___ATypePropdef____n_id( self) /*ATypePropdef::_n_id*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___ATypePropdef___n_type(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 435, LOCATE_parser_nodes___ATypePropdef___n_type};
+  struct trace_t trace = {NULL, NULL, 435, LOCATE_parser_nodes___ATypePropdef___n_type};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___ATypePropdef____n_type( self) /*ATypePropdef::_n_type*/;
 }
 void parser_nodes___ATypePropdef___n_type__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 435, LOCATE_parser_nodes___ATypePropdef___n_type__eq};
+  struct trace_t trace = {NULL, NULL, 435, LOCATE_parser_nodes___ATypePropdef___n_type__eq};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___ATypePropdef____n_type( self) /*ATypePropdef::_n_type*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___AReadAble___n_kwreadable(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 439, LOCATE_parser_nodes___AReadAble___n_kwreadable};
+  struct trace_t trace = {NULL, NULL, 439, LOCATE_parser_nodes___AReadAble___n_kwreadable};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___AReadAble____n_kwreadable( self) /*AReadAble::_n_kwreadable*/;
 }
 void parser_nodes___AReadAble___n_kwreadable__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 439, LOCATE_parser_nodes___AReadAble___n_kwreadable__eq};
+  struct trace_t trace = {NULL, NULL, 439, LOCATE_parser_nodes___AReadAble___n_kwreadable__eq};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___AReadAble____n_kwreadable( self) /*AReadAble::_n_kwreadable*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___AWriteAble___n_kwwritable(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 443, LOCATE_parser_nodes___AWriteAble___n_kwwritable};
+  struct trace_t trace = {NULL, NULL, 443, LOCATE_parser_nodes___AWriteAble___n_kwwritable};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___AWriteAble____n_kwwritable( self) /*AWriteAble::_n_kwwritable*/;
 }
 void parser_nodes___AWriteAble___n_kwwritable__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 443, LOCATE_parser_nodes___AWriteAble___n_kwwritable__eq};
+  struct trace_t trace = {NULL, NULL, 443, LOCATE_parser_nodes___AWriteAble___n_kwwritable__eq};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___AWriteAble____n_kwwritable( self) /*AWriteAble::_n_kwwritable*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___AIdMethid___n_id(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 447, LOCATE_parser_nodes___AIdMethid___n_id};
+  struct trace_t trace = {NULL, NULL, 447, LOCATE_parser_nodes___AIdMethid___n_id};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___AIdMethid____n_id( self) /*AIdMethid::_n_id*/;
 }
 void parser_nodes___AIdMethid___n_id__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 447, LOCATE_parser_nodes___AIdMethid___n_id__eq};
+  struct trace_t trace = {NULL, NULL, 447, LOCATE_parser_nodes___AIdMethid___n_id__eq};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___AIdMethid____n_id( self) /*AIdMethid::_n_id*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___APlusMethid___n_plus(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 451, LOCATE_parser_nodes___APlusMethid___n_plus};
+  struct trace_t trace = {NULL, NULL, 451, LOCATE_parser_nodes___APlusMethid___n_plus};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___APlusMethid____n_plus( self) /*APlusMethid::_n_plus*/;
 }
 void parser_nodes___APlusMethid___n_plus__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 451, LOCATE_parser_nodes___APlusMethid___n_plus__eq};
+  struct trace_t trace = {NULL, NULL, 451, LOCATE_parser_nodes___APlusMethid___n_plus__eq};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___APlusMethid____n_plus( self) /*APlusMethid::_n_plus*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___AMinusMethid___n_minus(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 455, LOCATE_parser_nodes___AMinusMethid___n_minus};
+  struct trace_t trace = {NULL, NULL, 455, LOCATE_parser_nodes___AMinusMethid___n_minus};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___AMinusMethid____n_minus( self) /*AMinusMethid::_n_minus*/;
 }
 void parser_nodes___AMinusMethid___n_minus__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 455, LOCATE_parser_nodes___AMinusMethid___n_minus__eq};
+  struct trace_t trace = {NULL, NULL, 455, LOCATE_parser_nodes___AMinusMethid___n_minus__eq};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___AMinusMethid____n_minus( self) /*AMinusMethid::_n_minus*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___AStarMethid___n_star(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 459, LOCATE_parser_nodes___AStarMethid___n_star};
+  struct trace_t trace = {NULL, NULL, 459, LOCATE_parser_nodes___AStarMethid___n_star};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___AStarMethid____n_star( self) /*AStarMethid::_n_star*/;
 }
 void parser_nodes___AStarMethid___n_star__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 459, LOCATE_parser_nodes___AStarMethid___n_star__eq};
+  struct trace_t trace = {NULL, NULL, 459, LOCATE_parser_nodes___AStarMethid___n_star__eq};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___AStarMethid____n_star( self) /*AStarMethid::_n_star*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___ASlashMethid___n_slash(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 463, LOCATE_parser_nodes___ASlashMethid___n_slash};
+  struct trace_t trace = {NULL, NULL, 463, LOCATE_parser_nodes___ASlashMethid___n_slash};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___ASlashMethid____n_slash( self) /*ASlashMethid::_n_slash*/;
 }
 void parser_nodes___ASlashMethid___n_slash__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 463, LOCATE_parser_nodes___ASlashMethid___n_slash__eq};
+  struct trace_t trace = {NULL, NULL, 463, LOCATE_parser_nodes___ASlashMethid___n_slash__eq};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___ASlashMethid____n_slash( self) /*ASlashMethid::_n_slash*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___APercentMethid___n_percent(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 467, LOCATE_parser_nodes___APercentMethid___n_percent};
+  struct trace_t trace = {NULL, NULL, 467, LOCATE_parser_nodes___APercentMethid___n_percent};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___APercentMethid____n_percent( self) /*APercentMethid::_n_percent*/;
 }
 void parser_nodes___APercentMethid___n_percent__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 467, LOCATE_parser_nodes___APercentMethid___n_percent__eq};
+  struct trace_t trace = {NULL, NULL, 467, LOCATE_parser_nodes___APercentMethid___n_percent__eq};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___APercentMethid____n_percent( self) /*APercentMethid::_n_percent*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___AEqMethid___n_eq(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 471, LOCATE_parser_nodes___AEqMethid___n_eq};
+  struct trace_t trace = {NULL, NULL, 471, LOCATE_parser_nodes___AEqMethid___n_eq};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___AEqMethid____n_eq( self) /*AEqMethid::_n_eq*/;
 }
 void parser_nodes___AEqMethid___n_eq__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 471, LOCATE_parser_nodes___AEqMethid___n_eq__eq};
+  struct trace_t trace = {NULL, NULL, 471, LOCATE_parser_nodes___AEqMethid___n_eq__eq};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___AEqMethid____n_eq( self) /*AEqMethid::_n_eq*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___ANeMethid___n_ne(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 475, LOCATE_parser_nodes___ANeMethid___n_ne};
+  struct trace_t trace = {NULL, NULL, 475, LOCATE_parser_nodes___ANeMethid___n_ne};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___ANeMethid____n_ne( self) /*ANeMethid::_n_ne*/;
 }
 void parser_nodes___ANeMethid___n_ne__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 475, LOCATE_parser_nodes___ANeMethid___n_ne__eq};
+  struct trace_t trace = {NULL, NULL, 475, LOCATE_parser_nodes___ANeMethid___n_ne__eq};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___ANeMethid____n_ne( self) /*ANeMethid::_n_ne*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___ALeMethid___n_le(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 479, LOCATE_parser_nodes___ALeMethid___n_le};
+  struct trace_t trace = {NULL, NULL, 479, LOCATE_parser_nodes___ALeMethid___n_le};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___ALeMethid____n_le( self) /*ALeMethid::_n_le*/;
 }
 void parser_nodes___ALeMethid___n_le__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 479, LOCATE_parser_nodes___ALeMethid___n_le__eq};
+  struct trace_t trace = {NULL, NULL, 479, LOCATE_parser_nodes___ALeMethid___n_le__eq};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___ALeMethid____n_le( self) /*ALeMethid::_n_le*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___AGeMethid___n_ge(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 483, LOCATE_parser_nodes___AGeMethid___n_ge};
+  struct trace_t trace = {NULL, NULL, 483, LOCATE_parser_nodes___AGeMethid___n_ge};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___AGeMethid____n_ge( self) /*AGeMethid::_n_ge*/;
 }
 void parser_nodes___AGeMethid___n_ge__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 483, LOCATE_parser_nodes___AGeMethid___n_ge__eq};
+  struct trace_t trace = {NULL, NULL, 483, LOCATE_parser_nodes___AGeMethid___n_ge__eq};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___AGeMethid____n_ge( self) /*AGeMethid::_n_ge*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___ALtMethid___n_lt(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 487, LOCATE_parser_nodes___ALtMethid___n_lt};
+  struct trace_t trace = {NULL, NULL, 487, LOCATE_parser_nodes___ALtMethid___n_lt};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___ALtMethid____n_lt( self) /*ALtMethid::_n_lt*/;
 }
 void parser_nodes___ALtMethid___n_lt__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 487, LOCATE_parser_nodes___ALtMethid___n_lt__eq};
+  struct trace_t trace = {NULL, NULL, 487, LOCATE_parser_nodes___ALtMethid___n_lt__eq};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___ALtMethid____n_lt( self) /*ALtMethid::_n_lt*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___AGtMethid___n_gt(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 491, LOCATE_parser_nodes___AGtMethid___n_gt};
+  struct trace_t trace = {NULL, NULL, 491, LOCATE_parser_nodes___AGtMethid___n_gt};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___AGtMethid____n_gt( self) /*AGtMethid::_n_gt*/;
 }
 void parser_nodes___AGtMethid___n_gt__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 491, LOCATE_parser_nodes___AGtMethid___n_gt__eq};
+  struct trace_t trace = {NULL, NULL, 491, LOCATE_parser_nodes___AGtMethid___n_gt__eq};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___AGtMethid____n_gt( self) /*AGtMethid::_n_gt*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___ABraMethid___n_obra(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 495, LOCATE_parser_nodes___ABraMethid___n_obra};
+  struct trace_t trace = {NULL, NULL, 495, LOCATE_parser_nodes___ABraMethid___n_obra};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___ABraMethid____n_obra( self) /*ABraMethid::_n_obra*/;
 }
 void parser_nodes___ABraMethid___n_obra__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 495, LOCATE_parser_nodes___ABraMethid___n_obra__eq};
+  struct trace_t trace = {NULL, NULL, 495, LOCATE_parser_nodes___ABraMethid___n_obra__eq};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___ABraMethid____n_obra( self) /*ABraMethid::_n_obra*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___ABraMethid___n_cbra(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 496, LOCATE_parser_nodes___ABraMethid___n_cbra};
+  struct trace_t trace = {NULL, NULL, 496, LOCATE_parser_nodes___ABraMethid___n_cbra};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___ABraMethid____n_cbra( self) /*ABraMethid::_n_cbra*/;
 }
 void parser_nodes___ABraMethid___n_cbra__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 496, LOCATE_parser_nodes___ABraMethid___n_cbra__eq};
+  struct trace_t trace = {NULL, NULL, 496, LOCATE_parser_nodes___ABraMethid___n_cbra__eq};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___ABraMethid____n_cbra( self) /*ABraMethid::_n_cbra*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___AStarshipMethid___n_starship(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 500, LOCATE_parser_nodes___AStarshipMethid___n_starship};
+  struct trace_t trace = {NULL, NULL, 500, LOCATE_parser_nodes___AStarshipMethid___n_starship};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___AStarshipMethid____n_starship( self) /*AStarshipMethid::_n_starship*/;
 }
 void parser_nodes___AStarshipMethid___n_starship__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 500, LOCATE_parser_nodes___AStarshipMethid___n_starship__eq};
+  struct trace_t trace = {NULL, NULL, 500, LOCATE_parser_nodes___AStarshipMethid___n_starship__eq};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___AStarshipMethid____n_starship( self) /*AStarshipMethid::_n_starship*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___AAssignMethid___n_id(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 504, LOCATE_parser_nodes___AAssignMethid___n_id};
+  struct trace_t trace = {NULL, NULL, 504, LOCATE_parser_nodes___AAssignMethid___n_id};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___AAssignMethid____n_id( self) /*AAssignMethid::_n_id*/;
 }
 void parser_nodes___AAssignMethid___n_id__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 504, LOCATE_parser_nodes___AAssignMethid___n_id__eq};
+  struct trace_t trace = {NULL, NULL, 504, LOCATE_parser_nodes___AAssignMethid___n_id__eq};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___AAssignMethid____n_id( self) /*AAssignMethid::_n_id*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___AAssignMethid___n_assign(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 505, LOCATE_parser_nodes___AAssignMethid___n_assign};
+  struct trace_t trace = {NULL, NULL, 505, LOCATE_parser_nodes___AAssignMethid___n_assign};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___AAssignMethid____n_assign( self) /*AAssignMethid::_n_assign*/;
 }
 void parser_nodes___AAssignMethid___n_assign__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 505, LOCATE_parser_nodes___AAssignMethid___n_assign__eq};
+  struct trace_t trace = {NULL, NULL, 505, LOCATE_parser_nodes___AAssignMethid___n_assign__eq};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___AAssignMethid____n_assign( self) /*AAssignMethid::_n_assign*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___ABraassignMethid___n_obra(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 509, LOCATE_parser_nodes___ABraassignMethid___n_obra};
+  struct trace_t trace = {NULL, NULL, 509, LOCATE_parser_nodes___ABraassignMethid___n_obra};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___ABraassignMethid____n_obra( self) /*ABraassignMethid::_n_obra*/;
 }
 void parser_nodes___ABraassignMethid___n_obra__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 509, LOCATE_parser_nodes___ABraassignMethid___n_obra__eq};
+  struct trace_t trace = {NULL, NULL, 509, LOCATE_parser_nodes___ABraassignMethid___n_obra__eq};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___ABraassignMethid____n_obra( self) /*ABraassignMethid::_n_obra*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___ABraassignMethid___n_cbra(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 510, LOCATE_parser_nodes___ABraassignMethid___n_cbra};
+  struct trace_t trace = {NULL, NULL, 510, LOCATE_parser_nodes___ABraassignMethid___n_cbra};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___ABraassignMethid____n_cbra( self) /*ABraassignMethid::_n_cbra*/;
 }
 void parser_nodes___ABraassignMethid___n_cbra__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 510, LOCATE_parser_nodes___ABraassignMethid___n_cbra__eq};
+  struct trace_t trace = {NULL, NULL, 510, LOCATE_parser_nodes___ABraassignMethid___n_cbra__eq};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___ABraassignMethid____n_cbra( self) /*ABraassignMethid::_n_cbra*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___ABraassignMethid___n_assign(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 511, LOCATE_parser_nodes___ABraassignMethid___n_assign};
+  struct trace_t trace = {NULL, NULL, 511, LOCATE_parser_nodes___ABraassignMethid___n_assign};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___ABraassignMethid____n_assign( self) /*ABraassignMethid::_n_assign*/;
 }
 void parser_nodes___ABraassignMethid___n_assign__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 511, LOCATE_parser_nodes___ABraassignMethid___n_assign__eq};
+  struct trace_t trace = {NULL, NULL, 511, LOCATE_parser_nodes___ABraassignMethid___n_assign__eq};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___ABraassignMethid____n_assign( self) /*ABraassignMethid::_n_assign*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___ASignature___n_params(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 515, LOCATE_parser_nodes___ASignature___n_params};
+  struct trace_t trace = {NULL, NULL, 515, LOCATE_parser_nodes___ASignature___n_params};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___ASignature____n_params( self) /*ASignature::_n_params*/;
 }
 void parser_nodes___ASignature___n_params__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 515, LOCATE_parser_nodes___ASignature___n_params__eq};
+  struct trace_t trace = {NULL, NULL, 515, LOCATE_parser_nodes___ASignature___n_params__eq};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___ASignature____n_params( self) /*ASignature::_n_params*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___ASignature___n_type(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 516, LOCATE_parser_nodes___ASignature___n_type};
+  struct trace_t trace = {NULL, NULL, 516, LOCATE_parser_nodes___ASignature___n_type};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___ASignature____n_type( self) /*ASignature::_n_type*/;
 }
 void parser_nodes___ASignature___n_type__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 516, LOCATE_parser_nodes___ASignature___n_type__eq};
+  struct trace_t trace = {NULL, NULL, 516, LOCATE_parser_nodes___ASignature___n_type__eq};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___ASignature____n_type( self) /*ASignature::_n_type*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___AParam___n_dotdotdot(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 520, LOCATE_parser_nodes___AParam___n_dotdotdot};
+  struct trace_t trace = {NULL, NULL, 520, LOCATE_parser_nodes___AParam___n_dotdotdot};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___AParam____n_dotdotdot( self) /*AParam::_n_dotdotdot*/;
 }
 void parser_nodes___AParam___n_dotdotdot__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 520, LOCATE_parser_nodes___AParam___n_dotdotdot__eq};
+  struct trace_t trace = {NULL, NULL, 520, LOCATE_parser_nodes___AParam___n_dotdotdot__eq};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___AParam____n_dotdotdot( self) /*AParam::_n_dotdotdot*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___AType___n_id(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 524, LOCATE_parser_nodes___AType___n_id};
+  struct trace_t trace = {NULL, NULL, 524, LOCATE_parser_nodes___AType___n_id};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___AType____n_id( self) /*AType::_n_id*/;
 }
 void parser_nodes___AType___n_id__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 524, LOCATE_parser_nodes___AType___n_id__eq};
+  struct trace_t trace = {NULL, NULL, 524, LOCATE_parser_nodes___AType___n_id__eq};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___AType____n_id( self) /*AType::_n_id*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___AType___n_types(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 525, LOCATE_parser_nodes___AType___n_types};
+  struct trace_t trace = {NULL, NULL, 525, LOCATE_parser_nodes___AType___n_types};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___AType____n_types( self) /*AType::_n_types*/;
 }
 void parser_nodes___AType___n_types__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 525, LOCATE_parser_nodes___AType___n_types__eq};
+  struct trace_t trace = {NULL, NULL, 525, LOCATE_parser_nodes___AType___n_types__eq};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___AType____n_types( self) /*AType::_n_types*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___ABlockExpr___n_expr(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 532, LOCATE_parser_nodes___ABlockExpr___n_expr};
+  struct trace_t trace = {NULL, NULL, 532, LOCATE_parser_nodes___ABlockExpr___n_expr};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___ABlockExpr____n_expr( self) /*ABlockExpr::_n_expr*/;
 }
 void parser_nodes___ABlockExpr___n_expr__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 532, LOCATE_parser_nodes___ABlockExpr___n_expr__eq};
+  struct trace_t trace = {NULL, NULL, 532, LOCATE_parser_nodes___ABlockExpr___n_expr__eq};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___ABlockExpr____n_expr( self) /*ABlockExpr::_n_expr*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___AVardeclExpr___n_kwvar(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 536, LOCATE_parser_nodes___AVardeclExpr___n_kwvar};
+  struct trace_t trace = {NULL, NULL, 536, LOCATE_parser_nodes___AVardeclExpr___n_kwvar};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___AVardeclExpr____n_kwvar( self) /*AVardeclExpr::_n_kwvar*/;
 }
 void parser_nodes___AVardeclExpr___n_kwvar__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 536, LOCATE_parser_nodes___AVardeclExpr___n_kwvar__eq};
+  struct trace_t trace = {NULL, NULL, 536, LOCATE_parser_nodes___AVardeclExpr___n_kwvar__eq};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___AVardeclExpr____n_kwvar( self) /*AVardeclExpr::_n_kwvar*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___AVardeclExpr___n_id(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 537, LOCATE_parser_nodes___AVardeclExpr___n_id};
+  struct trace_t trace = {NULL, NULL, 537, LOCATE_parser_nodes___AVardeclExpr___n_id};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___AVardeclExpr____n_id( self) /*AVardeclExpr::_n_id*/;
 }
 void parser_nodes___AVardeclExpr___n_id__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 537, LOCATE_parser_nodes___AVardeclExpr___n_id__eq};
+  struct trace_t trace = {NULL, NULL, 537, LOCATE_parser_nodes___AVardeclExpr___n_id__eq};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___AVardeclExpr____n_id( self) /*AVardeclExpr::_n_id*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___AVardeclExpr___n_type(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 538, LOCATE_parser_nodes___AVardeclExpr___n_type};
+  struct trace_t trace = {NULL, NULL, 538, LOCATE_parser_nodes___AVardeclExpr___n_type};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___AVardeclExpr____n_type( self) /*AVardeclExpr::_n_type*/;
 }
 void parser_nodes___AVardeclExpr___n_type__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 538, LOCATE_parser_nodes___AVardeclExpr___n_type__eq};
+  struct trace_t trace = {NULL, NULL, 538, LOCATE_parser_nodes___AVardeclExpr___n_type__eq};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___AVardeclExpr____n_type( self) /*AVardeclExpr::_n_type*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___AVardeclExpr___n_assign(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 539, LOCATE_parser_nodes___AVardeclExpr___n_assign};
+  struct trace_t trace = {NULL, NULL, 539, LOCATE_parser_nodes___AVardeclExpr___n_assign};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___AVardeclExpr____n_assign( self) /*AVardeclExpr::_n_assign*/;
 }
 void parser_nodes___AVardeclExpr___n_assign__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 539, LOCATE_parser_nodes___AVardeclExpr___n_assign__eq};
+  struct trace_t trace = {NULL, NULL, 539, LOCATE_parser_nodes___AVardeclExpr___n_assign__eq};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___AVardeclExpr____n_assign( self) /*AVardeclExpr::_n_assign*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___AVardeclExpr___n_expr(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 540, LOCATE_parser_nodes___AVardeclExpr___n_expr};
+  struct trace_t trace = {NULL, NULL, 540, LOCATE_parser_nodes___AVardeclExpr___n_expr};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___AVardeclExpr____n_expr( self) /*AVardeclExpr::_n_expr*/;
 }
 void parser_nodes___AVardeclExpr___n_expr__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 540, LOCATE_parser_nodes___AVardeclExpr___n_expr__eq};
+  struct trace_t trace = {NULL, NULL, 540, LOCATE_parser_nodes___AVardeclExpr___n_expr__eq};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___AVardeclExpr____n_expr( self) /*AVardeclExpr::_n_expr*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___AReturnExpr___n_kwreturn(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 544, LOCATE_parser_nodes___AReturnExpr___n_kwreturn};
+  struct trace_t trace = {NULL, NULL, 544, LOCATE_parser_nodes___AReturnExpr___n_kwreturn};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___AReturnExpr____n_kwreturn( self) /*AReturnExpr::_n_kwreturn*/;
 }
 void parser_nodes___AReturnExpr___n_kwreturn__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 544, LOCATE_parser_nodes___AReturnExpr___n_kwreturn__eq};
+  struct trace_t trace = {NULL, NULL, 544, LOCATE_parser_nodes___AReturnExpr___n_kwreturn__eq};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___AReturnExpr____n_kwreturn( self) /*AReturnExpr::_n_kwreturn*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___AReturnExpr___n_expr(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 545, LOCATE_parser_nodes___AReturnExpr___n_expr};
+  struct trace_t trace = {NULL, NULL, 545, LOCATE_parser_nodes___AReturnExpr___n_expr};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___AReturnExpr____n_expr( self) /*AReturnExpr::_n_expr*/;
 }
 void parser_nodes___AReturnExpr___n_expr__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 545, LOCATE_parser_nodes___AReturnExpr___n_expr__eq};
+  struct trace_t trace = {NULL, NULL, 545, LOCATE_parser_nodes___AReturnExpr___n_expr__eq};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___AReturnExpr____n_expr( self) /*AReturnExpr::_n_expr*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___ABreakExpr___n_kwbreak(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 549, LOCATE_parser_nodes___ABreakExpr___n_kwbreak};
+  struct trace_t trace = {NULL, NULL, 549, LOCATE_parser_nodes___ABreakExpr___n_kwbreak};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___ABreakExpr____n_kwbreak( self) /*ABreakExpr::_n_kwbreak*/;
 }
 void parser_nodes___ABreakExpr___n_kwbreak__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 549, LOCATE_parser_nodes___ABreakExpr___n_kwbreak__eq};
+  struct trace_t trace = {NULL, NULL, 549, LOCATE_parser_nodes___ABreakExpr___n_kwbreak__eq};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___ABreakExpr____n_kwbreak( self) /*ABreakExpr::_n_kwbreak*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___AAbortExpr___n_kwabort(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 553, LOCATE_parser_nodes___AAbortExpr___n_kwabort};
+  struct trace_t trace = {NULL, NULL, 553, LOCATE_parser_nodes___AAbortExpr___n_kwabort};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___AAbortExpr____n_kwabort( self) /*AAbortExpr::_n_kwabort*/;
 }
 void parser_nodes___AAbortExpr___n_kwabort__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 553, LOCATE_parser_nodes___AAbortExpr___n_kwabort__eq};
+  struct trace_t trace = {NULL, NULL, 553, LOCATE_parser_nodes___AAbortExpr___n_kwabort__eq};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___AAbortExpr____n_kwabort( self) /*AAbortExpr::_n_kwabort*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___AContinueExpr___n_kwcontinue(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 557, LOCATE_parser_nodes___AContinueExpr___n_kwcontinue};
+  struct trace_t trace = {NULL, NULL, 557, LOCATE_parser_nodes___AContinueExpr___n_kwcontinue};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___AContinueExpr____n_kwcontinue( self) /*AContinueExpr::_n_kwcontinue*/;
 }
 void parser_nodes___AContinueExpr___n_kwcontinue__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 557, LOCATE_parser_nodes___AContinueExpr___n_kwcontinue__eq};
+  struct trace_t trace = {NULL, NULL, 557, LOCATE_parser_nodes___AContinueExpr___n_kwcontinue__eq};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___AContinueExpr____n_kwcontinue( self) /*AContinueExpr::_n_kwcontinue*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___ADoExpr___n_kwdo(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 561, LOCATE_parser_nodes___ADoExpr___n_kwdo};
+  struct trace_t trace = {NULL, NULL, 561, LOCATE_parser_nodes___ADoExpr___n_kwdo};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___ADoExpr____n_kwdo( self) /*ADoExpr::_n_kwdo*/;
 }
 void parser_nodes___ADoExpr___n_kwdo__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 561, LOCATE_parser_nodes___ADoExpr___n_kwdo__eq};
+  struct trace_t trace = {NULL, NULL, 561, LOCATE_parser_nodes___ADoExpr___n_kwdo__eq};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___ADoExpr____n_kwdo( self) /*ADoExpr::_n_kwdo*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___ADoExpr___n_block(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 562, LOCATE_parser_nodes___ADoExpr___n_block};
+  struct trace_t trace = {NULL, NULL, 562, LOCATE_parser_nodes___ADoExpr___n_block};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___ADoExpr____n_block( self) /*ADoExpr::_n_block*/;
 }
 void parser_nodes___ADoExpr___n_block__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 562, LOCATE_parser_nodes___ADoExpr___n_block__eq};
+  struct trace_t trace = {NULL, NULL, 562, LOCATE_parser_nodes___ADoExpr___n_block__eq};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___ADoExpr____n_block( self) /*ADoExpr::_n_block*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___AIfExpr___n_kwif(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 566, LOCATE_parser_nodes___AIfExpr___n_kwif};
+  struct trace_t trace = {NULL, NULL, 566, LOCATE_parser_nodes___AIfExpr___n_kwif};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___AIfExpr____n_kwif( self) /*AIfExpr::_n_kwif*/;
 }
 void parser_nodes___AIfExpr___n_kwif__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 566, LOCATE_parser_nodes___AIfExpr___n_kwif__eq};
+  struct trace_t trace = {NULL, NULL, 566, LOCATE_parser_nodes___AIfExpr___n_kwif__eq};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___AIfExpr____n_kwif( self) /*AIfExpr::_n_kwif*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___AIfExpr___n_expr(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 567, LOCATE_parser_nodes___AIfExpr___n_expr};
+  struct trace_t trace = {NULL, NULL, 567, LOCATE_parser_nodes___AIfExpr___n_expr};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___AIfExpr____n_expr( self) /*AIfExpr::_n_expr*/;
 }
 void parser_nodes___AIfExpr___n_expr__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 567, LOCATE_parser_nodes___AIfExpr___n_expr__eq};
+  struct trace_t trace = {NULL, NULL, 567, LOCATE_parser_nodes___AIfExpr___n_expr__eq};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___AIfExpr____n_expr( self) /*AIfExpr::_n_expr*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___AIfExpr___n_then(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 568, LOCATE_parser_nodes___AIfExpr___n_then};
+  struct trace_t trace = {NULL, NULL, 568, LOCATE_parser_nodes___AIfExpr___n_then};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___AIfExpr____n_then( self) /*AIfExpr::_n_then*/;
 }
 void parser_nodes___AIfExpr___n_then__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 568, LOCATE_parser_nodes___AIfExpr___n_then__eq};
+  struct trace_t trace = {NULL, NULL, 568, LOCATE_parser_nodes___AIfExpr___n_then__eq};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___AIfExpr____n_then( self) /*AIfExpr::_n_then*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___AIfExpr___n_else(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 569, LOCATE_parser_nodes___AIfExpr___n_else};
+  struct trace_t trace = {NULL, NULL, 569, LOCATE_parser_nodes___AIfExpr___n_else};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___AIfExpr____n_else( self) /*AIfExpr::_n_else*/;
 }
 void parser_nodes___AIfExpr___n_else__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 569, LOCATE_parser_nodes___AIfExpr___n_else__eq};
+  struct trace_t trace = {NULL, NULL, 569, LOCATE_parser_nodes___AIfExpr___n_else__eq};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___AIfExpr____n_else( self) /*AIfExpr::_n_else*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___AIfexprExpr___n_kwif(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 573, LOCATE_parser_nodes___AIfexprExpr___n_kwif};
+  struct trace_t trace = {NULL, NULL, 573, LOCATE_parser_nodes___AIfexprExpr___n_kwif};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___AIfexprExpr____n_kwif( self) /*AIfexprExpr::_n_kwif*/;
 }
 void parser_nodes___AIfexprExpr___n_kwif__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 573, LOCATE_parser_nodes___AIfexprExpr___n_kwif__eq};
+  struct trace_t trace = {NULL, NULL, 573, LOCATE_parser_nodes___AIfexprExpr___n_kwif__eq};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___AIfexprExpr____n_kwif( self) /*AIfexprExpr::_n_kwif*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___AIfexprExpr___n_expr(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 574, LOCATE_parser_nodes___AIfexprExpr___n_expr};
+  struct trace_t trace = {NULL, NULL, 574, LOCATE_parser_nodes___AIfexprExpr___n_expr};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___AIfexprExpr____n_expr( self) /*AIfexprExpr::_n_expr*/;
 }
 void parser_nodes___AIfexprExpr___n_expr__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 574, LOCATE_parser_nodes___AIfexprExpr___n_expr__eq};
+  struct trace_t trace = {NULL, NULL, 574, LOCATE_parser_nodes___AIfexprExpr___n_expr__eq};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___AIfexprExpr____n_expr( self) /*AIfexprExpr::_n_expr*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___AIfexprExpr___n_kwthen(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 575, LOCATE_parser_nodes___AIfexprExpr___n_kwthen};
+  struct trace_t trace = {NULL, NULL, 575, LOCATE_parser_nodes___AIfexprExpr___n_kwthen};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___AIfexprExpr____n_kwthen( self) /*AIfexprExpr::_n_kwthen*/;
 }
 void parser_nodes___AIfexprExpr___n_kwthen__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 575, LOCATE_parser_nodes___AIfexprExpr___n_kwthen__eq};
+  struct trace_t trace = {NULL, NULL, 575, LOCATE_parser_nodes___AIfexprExpr___n_kwthen__eq};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___AIfexprExpr____n_kwthen( self) /*AIfexprExpr::_n_kwthen*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___AIfexprExpr___n_then(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 576, LOCATE_parser_nodes___AIfexprExpr___n_then};
+  struct trace_t trace = {NULL, NULL, 576, LOCATE_parser_nodes___AIfexprExpr___n_then};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___AIfexprExpr____n_then( self) /*AIfexprExpr::_n_then*/;
 }
 void parser_nodes___AIfexprExpr___n_then__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 576, LOCATE_parser_nodes___AIfexprExpr___n_then__eq};
+  struct trace_t trace = {NULL, NULL, 576, LOCATE_parser_nodes___AIfexprExpr___n_then__eq};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___AIfexprExpr____n_then( self) /*AIfexprExpr::_n_then*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___AIfexprExpr___n_kwelse(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 577, LOCATE_parser_nodes___AIfexprExpr___n_kwelse};
+  struct trace_t trace = {NULL, NULL, 577, LOCATE_parser_nodes___AIfexprExpr___n_kwelse};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___AIfexprExpr____n_kwelse( self) /*AIfexprExpr::_n_kwelse*/;
 }
 void parser_nodes___AIfexprExpr___n_kwelse__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 577, LOCATE_parser_nodes___AIfexprExpr___n_kwelse__eq};
+  struct trace_t trace = {NULL, NULL, 577, LOCATE_parser_nodes___AIfexprExpr___n_kwelse__eq};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___AIfexprExpr____n_kwelse( self) /*AIfexprExpr::_n_kwelse*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___AIfexprExpr___n_else(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 578, LOCATE_parser_nodes___AIfexprExpr___n_else};
+  struct trace_t trace = {NULL, NULL, 578, LOCATE_parser_nodes___AIfexprExpr___n_else};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___AIfexprExpr____n_else( self) /*AIfexprExpr::_n_else*/;
 }
 void parser_nodes___AIfexprExpr___n_else__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 578, LOCATE_parser_nodes___AIfexprExpr___n_else__eq};
+  struct trace_t trace = {NULL, NULL, 578, LOCATE_parser_nodes___AIfexprExpr___n_else__eq};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___AIfexprExpr____n_else( self) /*AIfexprExpr::_n_else*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___AWhileExpr___n_kwwhile(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 582, LOCATE_parser_nodes___AWhileExpr___n_kwwhile};
+  struct trace_t trace = {NULL, NULL, 582, LOCATE_parser_nodes___AWhileExpr___n_kwwhile};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___AWhileExpr____n_kwwhile( self) /*AWhileExpr::_n_kwwhile*/;
 }
 void parser_nodes___AWhileExpr___n_kwwhile__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 582, LOCATE_parser_nodes___AWhileExpr___n_kwwhile__eq};
+  struct trace_t trace = {NULL, NULL, 582, LOCATE_parser_nodes___AWhileExpr___n_kwwhile__eq};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___AWhileExpr____n_kwwhile( self) /*AWhileExpr::_n_kwwhile*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___AWhileExpr___n_expr(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 583, LOCATE_parser_nodes___AWhileExpr___n_expr};
+  struct trace_t trace = {NULL, NULL, 583, LOCATE_parser_nodes___AWhileExpr___n_expr};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___AWhileExpr____n_expr( self) /*AWhileExpr::_n_expr*/;
 }
 void parser_nodes___AWhileExpr___n_expr__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 583, LOCATE_parser_nodes___AWhileExpr___n_expr__eq};
+  struct trace_t trace = {NULL, NULL, 583, LOCATE_parser_nodes___AWhileExpr___n_expr__eq};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___AWhileExpr____n_expr( self) /*AWhileExpr::_n_expr*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___AWhileExpr___n_kwdo(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 584, LOCATE_parser_nodes___AWhileExpr___n_kwdo};
+  struct trace_t trace = {NULL, NULL, 584, LOCATE_parser_nodes___AWhileExpr___n_kwdo};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___AWhileExpr____n_kwdo( self) /*AWhileExpr::_n_kwdo*/;
 }
 void parser_nodes___AWhileExpr___n_kwdo__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 584, LOCATE_parser_nodes___AWhileExpr___n_kwdo__eq};
+  struct trace_t trace = {NULL, NULL, 584, LOCATE_parser_nodes___AWhileExpr___n_kwdo__eq};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___AWhileExpr____n_kwdo( self) /*AWhileExpr::_n_kwdo*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___AWhileExpr___n_block(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 585, LOCATE_parser_nodes___AWhileExpr___n_block};
+  struct trace_t trace = {NULL, NULL, 585, LOCATE_parser_nodes___AWhileExpr___n_block};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___AWhileExpr____n_block( self) /*AWhileExpr::_n_block*/;
 }
 void parser_nodes___AWhileExpr___n_block__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 585, LOCATE_parser_nodes___AWhileExpr___n_block__eq};
+  struct trace_t trace = {NULL, NULL, 585, LOCATE_parser_nodes___AWhileExpr___n_block__eq};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___AWhileExpr____n_block( self) /*AWhileExpr::_n_block*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___AForExpr___n_vardecl(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 589, LOCATE_parser_nodes___AForExpr___n_vardecl};
+  struct trace_t trace = {NULL, NULL, 589, LOCATE_parser_nodes___AForExpr___n_vardecl};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___AForExpr____n_vardecl( self) /*AForExpr::_n_vardecl*/;
 }
 void parser_nodes___AForExpr___n_vardecl__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 589, LOCATE_parser_nodes___AForExpr___n_vardecl__eq};
+  struct trace_t trace = {NULL, NULL, 589, LOCATE_parser_nodes___AForExpr___n_vardecl__eq};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___AForExpr____n_vardecl( self) /*AForExpr::_n_vardecl*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___AForExpr___n_kwdo(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 590, LOCATE_parser_nodes___AForExpr___n_kwdo};
+  struct trace_t trace = {NULL, NULL, 590, LOCATE_parser_nodes___AForExpr___n_kwdo};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___AForExpr____n_kwdo( self) /*AForExpr::_n_kwdo*/;
 }
 void parser_nodes___AForExpr___n_kwdo__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 590, LOCATE_parser_nodes___AForExpr___n_kwdo__eq};
+  struct trace_t trace = {NULL, NULL, 590, LOCATE_parser_nodes___AForExpr___n_kwdo__eq};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___AForExpr____n_kwdo( self) /*AForExpr::_n_kwdo*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___AForExpr___n_block(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 591, LOCATE_parser_nodes___AForExpr___n_block};
+  struct trace_t trace = {NULL, NULL, 591, LOCATE_parser_nodes___AForExpr___n_block};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___AForExpr____n_block( self) /*AForExpr::_n_block*/;
 }
 void parser_nodes___AForExpr___n_block__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 591, LOCATE_parser_nodes___AForExpr___n_block__eq};
+  struct trace_t trace = {NULL, NULL, 591, LOCATE_parser_nodes___AForExpr___n_block__eq};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___AForExpr____n_block( self) /*AForExpr::_n_block*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___AForVardeclExpr___n_kwfor(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 595, LOCATE_parser_nodes___AForVardeclExpr___n_kwfor};
+  struct trace_t trace = {NULL, NULL, 595, LOCATE_parser_nodes___AForVardeclExpr___n_kwfor};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___AForVardeclExpr____n_kwfor( self) /*AForVardeclExpr::_n_kwfor*/;
 }
 void parser_nodes___AForVardeclExpr___n_kwfor__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 595, LOCATE_parser_nodes___AForVardeclExpr___n_kwfor__eq};
+  struct trace_t trace = {NULL, NULL, 595, LOCATE_parser_nodes___AForVardeclExpr___n_kwfor__eq};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___AForVardeclExpr____n_kwfor( self) /*AForVardeclExpr::_n_kwfor*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___AForVardeclExpr___n_id(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 596, LOCATE_parser_nodes___AForVardeclExpr___n_id};
+  struct trace_t trace = {NULL, NULL, 596, LOCATE_parser_nodes___AForVardeclExpr___n_id};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___AForVardeclExpr____n_id( self) /*AForVardeclExpr::_n_id*/;
 }
 void parser_nodes___AForVardeclExpr___n_id__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 596, LOCATE_parser_nodes___AForVardeclExpr___n_id__eq};
+  struct trace_t trace = {NULL, NULL, 596, LOCATE_parser_nodes___AForVardeclExpr___n_id__eq};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___AForVardeclExpr____n_id( self) /*AForVardeclExpr::_n_id*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___AForVardeclExpr___n_expr(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 597, LOCATE_parser_nodes___AForVardeclExpr___n_expr};
+  struct trace_t trace = {NULL, NULL, 597, LOCATE_parser_nodes___AForVardeclExpr___n_expr};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___AForVardeclExpr____n_expr( self) /*AForVardeclExpr::_n_expr*/;
 }
 void parser_nodes___AForVardeclExpr___n_expr__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 597, LOCATE_parser_nodes___AForVardeclExpr___n_expr__eq};
+  struct trace_t trace = {NULL, NULL, 597, LOCATE_parser_nodes___AForVardeclExpr___n_expr__eq};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___AForVardeclExpr____n_expr( self) /*AForVardeclExpr::_n_expr*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___AAssertExpr___n_kwassert(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 601, LOCATE_parser_nodes___AAssertExpr___n_kwassert};
+  struct trace_t trace = {NULL, NULL, 601, LOCATE_parser_nodes___AAssertExpr___n_kwassert};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___AAssertExpr____n_kwassert( self) /*AAssertExpr::_n_kwassert*/;
 }
 void parser_nodes___AAssertExpr___n_kwassert__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 601, LOCATE_parser_nodes___AAssertExpr___n_kwassert__eq};
+  struct trace_t trace = {NULL, NULL, 601, LOCATE_parser_nodes___AAssertExpr___n_kwassert__eq};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___AAssertExpr____n_kwassert( self) /*AAssertExpr::_n_kwassert*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___AAssertExpr___n_id(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 602, LOCATE_parser_nodes___AAssertExpr___n_id};
+  struct trace_t trace = {NULL, NULL, 602, LOCATE_parser_nodes___AAssertExpr___n_id};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___AAssertExpr____n_id( self) /*AAssertExpr::_n_id*/;
 }
 void parser_nodes___AAssertExpr___n_id__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 602, LOCATE_parser_nodes___AAssertExpr___n_id__eq};
+  struct trace_t trace = {NULL, NULL, 602, LOCATE_parser_nodes___AAssertExpr___n_id__eq};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___AAssertExpr____n_id( self) /*AAssertExpr::_n_id*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___AAssertExpr___n_expr(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 603, LOCATE_parser_nodes___AAssertExpr___n_expr};
+  struct trace_t trace = {NULL, NULL, 603, LOCATE_parser_nodes___AAssertExpr___n_expr};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___AAssertExpr____n_expr( self) /*AAssertExpr::_n_expr*/;
 }
 void parser_nodes___AAssertExpr___n_expr__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 603, LOCATE_parser_nodes___AAssertExpr___n_expr__eq};
+  struct trace_t trace = {NULL, NULL, 603, LOCATE_parser_nodes___AAssertExpr___n_expr__eq};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___AAssertExpr____n_expr( self) /*AAssertExpr::_n_expr*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___AAssignFormExpr___n_assign(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 607, LOCATE_parser_nodes___AAssignFormExpr___n_assign};
+  struct trace_t trace = {NULL, NULL, 607, LOCATE_parser_nodes___AAssignFormExpr___n_assign};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___AAssignFormExpr____n_assign( self) /*AAssignFormExpr::_n_assign*/;
 }
 void parser_nodes___AAssignFormExpr___n_assign__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 607, LOCATE_parser_nodes___AAssignFormExpr___n_assign__eq};
+  struct trace_t trace = {NULL, NULL, 607, LOCATE_parser_nodes___AAssignFormExpr___n_assign__eq};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___AAssignFormExpr____n_assign( self) /*AAssignFormExpr::_n_assign*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___AAssignFormExpr___n_value(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 608, LOCATE_parser_nodes___AAssignFormExpr___n_value};
+  struct trace_t trace = {NULL, NULL, 608, LOCATE_parser_nodes___AAssignFormExpr___n_value};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___AAssignFormExpr____n_value( self) /*AAssignFormExpr::_n_value*/;
 }
 void parser_nodes___AAssignFormExpr___n_value__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 608, LOCATE_parser_nodes___AAssignFormExpr___n_value__eq};
+  struct trace_t trace = {NULL, NULL, 608, LOCATE_parser_nodes___AAssignFormExpr___n_value__eq};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___AAssignFormExpr____n_value( self) /*AAssignFormExpr::_n_value*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___AReassignFormExpr___n_assign_op(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 612, LOCATE_parser_nodes___AReassignFormExpr___n_assign_op};
+  struct trace_t trace = {NULL, NULL, 612, LOCATE_parser_nodes___AReassignFormExpr___n_assign_op};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___AReassignFormExpr____n_assign_op( self) /*AReassignFormExpr::_n_assign_op*/;
 }
 void parser_nodes___AReassignFormExpr___n_assign_op__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 612, LOCATE_parser_nodes___AReassignFormExpr___n_assign_op__eq};
+  struct trace_t trace = {NULL, NULL, 612, LOCATE_parser_nodes___AReassignFormExpr___n_assign_op__eq};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___AReassignFormExpr____n_assign_op( self) /*AReassignFormExpr::_n_assign_op*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___AReassignFormExpr___n_value(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 613, LOCATE_parser_nodes___AReassignFormExpr___n_value};
+  struct trace_t trace = {NULL, NULL, 613, LOCATE_parser_nodes___AReassignFormExpr___n_value};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___AReassignFormExpr____n_value( self) /*AReassignFormExpr::_n_value*/;
 }
 void parser_nodes___AReassignFormExpr___n_value__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 613, LOCATE_parser_nodes___AReassignFormExpr___n_value__eq};
+  struct trace_t trace = {NULL, NULL, 613, LOCATE_parser_nodes___AReassignFormExpr___n_value__eq};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___AReassignFormExpr____n_value( self) /*AReassignFormExpr::_n_value*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___AOnceExpr___n_kwonce(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 617, LOCATE_parser_nodes___AOnceExpr___n_kwonce};
+  struct trace_t trace = {NULL, NULL, 617, LOCATE_parser_nodes___AOnceExpr___n_kwonce};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___AOnceExpr____n_kwonce( self) /*AOnceExpr::_n_kwonce*/;
 }
 void parser_nodes___AOnceExpr___n_kwonce__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 617, LOCATE_parser_nodes___AOnceExpr___n_kwonce__eq};
+  struct trace_t trace = {NULL, NULL, 617, LOCATE_parser_nodes___AOnceExpr___n_kwonce__eq};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___AOnceExpr____n_kwonce( self) /*AOnceExpr::_n_kwonce*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___ASendExpr___n_expr(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 621, LOCATE_parser_nodes___ASendExpr___n_expr};
+  struct trace_t trace = {NULL, NULL, 621, LOCATE_parser_nodes___ASendExpr___n_expr};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/;
 }
 void parser_nodes___ASendExpr___n_expr__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 621, LOCATE_parser_nodes___ASendExpr___n_expr__eq};
+  struct trace_t trace = {NULL, NULL, 621, LOCATE_parser_nodes___ASendExpr___n_expr__eq};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___ABinopExpr___n_expr2(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 625, LOCATE_parser_nodes___ABinopExpr___n_expr2};
+  struct trace_t trace = {NULL, NULL, 625, LOCATE_parser_nodes___ABinopExpr___n_expr2};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ABinopExpr::_n_expr2*/;
 }
 void parser_nodes___ABinopExpr___n_expr2__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 625, LOCATE_parser_nodes___ABinopExpr___n_expr2__eq};
+  struct trace_t trace = {NULL, NULL, 625, LOCATE_parser_nodes___ABinopExpr___n_expr2__eq};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ABinopExpr::_n_expr2*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___AOrExpr___n_expr(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 632, LOCATE_parser_nodes___AOrExpr___n_expr};
+  struct trace_t trace = {NULL, NULL, 632, LOCATE_parser_nodes___AOrExpr___n_expr};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___AOrExpr____n_expr( self) /*AOrExpr::_n_expr*/;
 }
 void parser_nodes___AOrExpr___n_expr__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 632, LOCATE_parser_nodes___AOrExpr___n_expr__eq};
+  struct trace_t trace = {NULL, NULL, 632, LOCATE_parser_nodes___AOrExpr___n_expr__eq};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___AOrExpr____n_expr( self) /*AOrExpr::_n_expr*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___AOrExpr___n_expr2(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 633, LOCATE_parser_nodes___AOrExpr___n_expr2};
+  struct trace_t trace = {NULL, NULL, 633, LOCATE_parser_nodes___AOrExpr___n_expr2};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___AOrExpr____n_expr2( self) /*AOrExpr::_n_expr2*/;
 }
 void parser_nodes___AOrExpr___n_expr2__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 633, LOCATE_parser_nodes___AOrExpr___n_expr2__eq};
+  struct trace_t trace = {NULL, NULL, 633, LOCATE_parser_nodes___AOrExpr___n_expr2__eq};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___AOrExpr____n_expr2( self) /*AOrExpr::_n_expr2*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___AAndExpr___n_expr(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 637, LOCATE_parser_nodes___AAndExpr___n_expr};
+  struct trace_t trace = {NULL, NULL, 637, LOCATE_parser_nodes___AAndExpr___n_expr};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___AAndExpr____n_expr( self) /*AAndExpr::_n_expr*/;
 }
 void parser_nodes___AAndExpr___n_expr__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 637, LOCATE_parser_nodes___AAndExpr___n_expr__eq};
+  struct trace_t trace = {NULL, NULL, 637, LOCATE_parser_nodes___AAndExpr___n_expr__eq};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___AAndExpr____n_expr( self) /*AAndExpr::_n_expr*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___AAndExpr___n_expr2(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 638, LOCATE_parser_nodes___AAndExpr___n_expr2};
+  struct trace_t trace = {NULL, NULL, 638, LOCATE_parser_nodes___AAndExpr___n_expr2};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___AAndExpr____n_expr2( self) /*AAndExpr::_n_expr2*/;
 }
 void parser_nodes___AAndExpr___n_expr2__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 638, LOCATE_parser_nodes___AAndExpr___n_expr2__eq};
+  struct trace_t trace = {NULL, NULL, 638, LOCATE_parser_nodes___AAndExpr___n_expr2__eq};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___AAndExpr____n_expr2( self) /*AAndExpr::_n_expr2*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___ANotExpr___n_kwnot(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 642, LOCATE_parser_nodes___ANotExpr___n_kwnot};
+  struct trace_t trace = {NULL, NULL, 642, LOCATE_parser_nodes___ANotExpr___n_kwnot};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___ANotExpr____n_kwnot( self) /*ANotExpr::_n_kwnot*/;
 }
 void parser_nodes___ANotExpr___n_kwnot__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 642, LOCATE_parser_nodes___ANotExpr___n_kwnot__eq};
+  struct trace_t trace = {NULL, NULL, 642, LOCATE_parser_nodes___ANotExpr___n_kwnot__eq};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___ANotExpr____n_kwnot( self) /*ANotExpr::_n_kwnot*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___ANotExpr___n_expr(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 643, LOCATE_parser_nodes___ANotExpr___n_expr};
+  struct trace_t trace = {NULL, NULL, 643, LOCATE_parser_nodes___ANotExpr___n_expr};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___ANotExpr____n_expr( self) /*ANotExpr::_n_expr*/;
 }
 void parser_nodes___ANotExpr___n_expr__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 643, LOCATE_parser_nodes___ANotExpr___n_expr__eq};
+  struct trace_t trace = {NULL, NULL, 643, LOCATE_parser_nodes___ANotExpr___n_expr__eq};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___ANotExpr____n_expr( self) /*ANotExpr::_n_expr*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___AEeExpr___n_expr(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 650, LOCATE_parser_nodes___AEeExpr___n_expr};
+  struct trace_t trace = {NULL, NULL, 650, LOCATE_parser_nodes___AEeExpr___n_expr};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___AEeExpr____n_expr( self) /*AEeExpr::_n_expr*/;
 }
 void parser_nodes___AEeExpr___n_expr__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 650, LOCATE_parser_nodes___AEeExpr___n_expr__eq};
+  struct trace_t trace = {NULL, NULL, 650, LOCATE_parser_nodes___AEeExpr___n_expr__eq};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___AEeExpr____n_expr( self) /*AEeExpr::_n_expr*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___AEeExpr___n_expr2(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 651, LOCATE_parser_nodes___AEeExpr___n_expr2};
+  struct trace_t trace = {NULL, NULL, 651, LOCATE_parser_nodes___AEeExpr___n_expr2};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___AEeExpr____n_expr2( self) /*AEeExpr::_n_expr2*/;
 }
 void parser_nodes___AEeExpr___n_expr2__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 651, LOCATE_parser_nodes___AEeExpr___n_expr2__eq};
+  struct trace_t trace = {NULL, NULL, 651, LOCATE_parser_nodes___AEeExpr___n_expr2__eq};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___AEeExpr____n_expr2( self) /*AEeExpr::_n_expr2*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___AIsaExpr___n_expr(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 670, LOCATE_parser_nodes___AIsaExpr___n_expr};
+  struct trace_t trace = {NULL, NULL, 670, LOCATE_parser_nodes___AIsaExpr___n_expr};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___AIsaExpr____n_expr( self) /*AIsaExpr::_n_expr*/;
 }
 void parser_nodes___AIsaExpr___n_expr__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 670, LOCATE_parser_nodes___AIsaExpr___n_expr__eq};
+  struct trace_t trace = {NULL, NULL, 670, LOCATE_parser_nodes___AIsaExpr___n_expr__eq};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___AIsaExpr____n_expr( self) /*AIsaExpr::_n_expr*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___AIsaExpr___n_type(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 671, LOCATE_parser_nodes___AIsaExpr___n_type};
+  struct trace_t trace = {NULL, NULL, 671, LOCATE_parser_nodes___AIsaExpr___n_type};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___AIsaExpr____n_type( self) /*AIsaExpr::_n_type*/;
 }
 void parser_nodes___AIsaExpr___n_type__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 671, LOCATE_parser_nodes___AIsaExpr___n_type__eq};
+  struct trace_t trace = {NULL, NULL, 671, LOCATE_parser_nodes___AIsaExpr___n_type__eq};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___AIsaExpr____n_type( self) /*AIsaExpr::_n_type*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___AUminusExpr___n_minus(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 693, LOCATE_parser_nodes___AUminusExpr___n_minus};
+  struct trace_t trace = {NULL, NULL, 693, LOCATE_parser_nodes___AUminusExpr___n_minus};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___AUminusExpr____n_minus( self) /*AUminusExpr::_n_minus*/;
 }
 void parser_nodes___AUminusExpr___n_minus__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 693, LOCATE_parser_nodes___AUminusExpr___n_minus__eq};
+  struct trace_t trace = {NULL, NULL, 693, LOCATE_parser_nodes___AUminusExpr___n_minus__eq};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___AUminusExpr____n_minus( self) /*AUminusExpr::_n_minus*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___ANewExpr___n_kwnew(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 697, LOCATE_parser_nodes___ANewExpr___n_kwnew};
+  struct trace_t trace = {NULL, NULL, 697, LOCATE_parser_nodes___ANewExpr___n_kwnew};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___ANewExpr____n_kwnew( self) /*ANewExpr::_n_kwnew*/;
 }
 void parser_nodes___ANewExpr___n_kwnew__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 697, LOCATE_parser_nodes___ANewExpr___n_kwnew__eq};
+  struct trace_t trace = {NULL, NULL, 697, LOCATE_parser_nodes___ANewExpr___n_kwnew__eq};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___ANewExpr____n_kwnew( self) /*ANewExpr::_n_kwnew*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___ANewExpr___n_type(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 698, LOCATE_parser_nodes___ANewExpr___n_type};
+  struct trace_t trace = {NULL, NULL, 698, LOCATE_parser_nodes___ANewExpr___n_type};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___ANewExpr____n_type( self) /*ANewExpr::_n_type*/;
 }
 void parser_nodes___ANewExpr___n_type__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 698, LOCATE_parser_nodes___ANewExpr___n_type__eq};
+  struct trace_t trace = {NULL, NULL, 698, LOCATE_parser_nodes___ANewExpr___n_type__eq};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___ANewExpr____n_type( self) /*ANewExpr::_n_type*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___ANewExpr___n_id(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 699, LOCATE_parser_nodes___ANewExpr___n_id};
+  struct trace_t trace = {NULL, NULL, 699, LOCATE_parser_nodes___ANewExpr___n_id};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___ANewExpr____n_id( self) /*ANewExpr::_n_id*/;
 }
 void parser_nodes___ANewExpr___n_id__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 699, LOCATE_parser_nodes___ANewExpr___n_id__eq};
+  struct trace_t trace = {NULL, NULL, 699, LOCATE_parser_nodes___ANewExpr___n_id__eq};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___ANewExpr____n_id( self) /*ANewExpr::_n_id*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___ANewExpr___n_args(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 700, LOCATE_parser_nodes___ANewExpr___n_args};
+  struct trace_t trace = {NULL, NULL, 700, LOCATE_parser_nodes___ANewExpr___n_args};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___ANewExpr____n_args( self) /*ANewExpr::_n_args*/;
 }
 void parser_nodes___ANewExpr___n_args__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 700, LOCATE_parser_nodes___ANewExpr___n_args__eq};
+  struct trace_t trace = {NULL, NULL, 700, LOCATE_parser_nodes___ANewExpr___n_args__eq};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___ANewExpr____n_args( self) /*ANewExpr::_n_args*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___AAttrFormExpr___n_expr(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 704, LOCATE_parser_nodes___AAttrFormExpr___n_expr};
+  struct trace_t trace = {NULL, NULL, 704, LOCATE_parser_nodes___AAttrFormExpr___n_expr};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___AAttrFormExpr____n_expr( self) /*AAttrFormExpr::_n_expr*/;
 }
 void parser_nodes___AAttrFormExpr___n_expr__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 704, LOCATE_parser_nodes___AAttrFormExpr___n_expr__eq};
+  struct trace_t trace = {NULL, NULL, 704, LOCATE_parser_nodes___AAttrFormExpr___n_expr__eq};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___AAttrFormExpr____n_expr( self) /*AAttrFormExpr::_n_expr*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___AAttrFormExpr___n_id(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 705, LOCATE_parser_nodes___AAttrFormExpr___n_id};
+  struct trace_t trace = {NULL, NULL, 705, LOCATE_parser_nodes___AAttrFormExpr___n_id};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___AAttrFormExpr____n_id( self) /*AAttrFormExpr::_n_id*/;
 }
 void parser_nodes___AAttrFormExpr___n_id__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 705, LOCATE_parser_nodes___AAttrFormExpr___n_id__eq};
+  struct trace_t trace = {NULL, NULL, 705, LOCATE_parser_nodes___AAttrFormExpr___n_id__eq};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___AAttrFormExpr____n_id( self) /*AAttrFormExpr::_n_id*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___ACallFormExpr___n_id(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 716, LOCATE_parser_nodes___ACallFormExpr___n_id};
+  struct trace_t trace = {NULL, NULL, 716, LOCATE_parser_nodes___ACallFormExpr___n_id};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___ACallFormExpr____n_id( self) /*ACallFormExpr::_n_id*/;
 }
 void parser_nodes___ACallFormExpr___n_id__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 716, LOCATE_parser_nodes___ACallFormExpr___n_id__eq};
+  struct trace_t trace = {NULL, NULL, 716, LOCATE_parser_nodes___ACallFormExpr___n_id__eq};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___ACallFormExpr____n_id( self) /*ACallFormExpr::_n_id*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___ACallFormExpr___n_args(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 717, LOCATE_parser_nodes___ACallFormExpr___n_args};
+  struct trace_t trace = {NULL, NULL, 717, LOCATE_parser_nodes___ACallFormExpr___n_args};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___ACallFormExpr____n_args( self) /*ACallFormExpr::_n_args*/;
 }
 void parser_nodes___ACallFormExpr___n_args__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 717, LOCATE_parser_nodes___ACallFormExpr___n_args__eq};
+  struct trace_t trace = {NULL, NULL, 717, LOCATE_parser_nodes___ACallFormExpr___n_args__eq};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___ACallFormExpr____n_args( self) /*ACallFormExpr::_n_args*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___ASuperExpr___n_qualified(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 738, LOCATE_parser_nodes___ASuperExpr___n_qualified};
+  struct trace_t trace = {NULL, NULL, 738, LOCATE_parser_nodes___ASuperExpr___n_qualified};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___ASuperExpr____n_qualified( self) /*ASuperExpr::_n_qualified*/;
 }
 void parser_nodes___ASuperExpr___n_qualified__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 738, LOCATE_parser_nodes___ASuperExpr___n_qualified__eq};
+  struct trace_t trace = {NULL, NULL, 738, LOCATE_parser_nodes___ASuperExpr___n_qualified__eq};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___ASuperExpr____n_qualified( self) /*ASuperExpr::_n_qualified*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___ASuperExpr___n_kwsuper(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 739, LOCATE_parser_nodes___ASuperExpr___n_kwsuper};
+  struct trace_t trace = {NULL, NULL, 739, LOCATE_parser_nodes___ASuperExpr___n_kwsuper};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___ASuperExpr____n_kwsuper( self) /*ASuperExpr::_n_kwsuper*/;
 }
 void parser_nodes___ASuperExpr___n_kwsuper__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 739, LOCATE_parser_nodes___ASuperExpr___n_kwsuper__eq};
+  struct trace_t trace = {NULL, NULL, 739, LOCATE_parser_nodes___ASuperExpr___n_kwsuper__eq};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___ASuperExpr____n_kwsuper( self) /*ASuperExpr::_n_kwsuper*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___ASuperExpr___n_args(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 740, LOCATE_parser_nodes___ASuperExpr___n_args};
+  struct trace_t trace = {NULL, NULL, 740, LOCATE_parser_nodes___ASuperExpr___n_args};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___ASuperExpr____n_args( self) /*ASuperExpr::_n_args*/;
 }
 void parser_nodes___ASuperExpr___n_args__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 740, LOCATE_parser_nodes___ASuperExpr___n_args__eq};
+  struct trace_t trace = {NULL, NULL, 740, LOCATE_parser_nodes___ASuperExpr___n_args__eq};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___ASuperExpr____n_args( self) /*ASuperExpr::_n_args*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___AInitExpr___n_kwinit(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 744, LOCATE_parser_nodes___AInitExpr___n_kwinit};
+  struct trace_t trace = {NULL, NULL, 744, LOCATE_parser_nodes___AInitExpr___n_kwinit};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___AInitExpr____n_kwinit( self) /*AInitExpr::_n_kwinit*/;
 }
 void parser_nodes___AInitExpr___n_kwinit__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 744, LOCATE_parser_nodes___AInitExpr___n_kwinit__eq};
+  struct trace_t trace = {NULL, NULL, 744, LOCATE_parser_nodes___AInitExpr___n_kwinit__eq};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___AInitExpr____n_kwinit( self) /*AInitExpr::_n_kwinit*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___AInitExpr___n_args(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 745, LOCATE_parser_nodes___AInitExpr___n_args};
+  struct trace_t trace = {NULL, NULL, 745, LOCATE_parser_nodes___AInitExpr___n_args};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___AInitExpr____n_args( self) /*AInitExpr::_n_args*/;
 }
 void parser_nodes___AInitExpr___n_args__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 745, LOCATE_parser_nodes___AInitExpr___n_args__eq};
+  struct trace_t trace = {NULL, NULL, 745, LOCATE_parser_nodes___AInitExpr___n_args__eq};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___AInitExpr____n_args( self) /*AInitExpr::_n_args*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___ABraFormExpr___n_args(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 749, LOCATE_parser_nodes___ABraFormExpr___n_args};
+  struct trace_t trace = {NULL, NULL, 749, LOCATE_parser_nodes___ABraFormExpr___n_args};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___ABraFormExpr____n_args( self) /*ABraFormExpr::_n_args*/;
 }
 void parser_nodes___ABraFormExpr___n_args__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 749, LOCATE_parser_nodes___ABraFormExpr___n_args__eq};
+  struct trace_t trace = {NULL, NULL, 749, LOCATE_parser_nodes___ABraFormExpr___n_args__eq};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___ABraFormExpr____n_args( self) /*ABraFormExpr::_n_args*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___AVarFormExpr___n_id(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 760, LOCATE_parser_nodes___AVarFormExpr___n_id};
+  struct trace_t trace = {NULL, NULL, 760, LOCATE_parser_nodes___AVarFormExpr___n_id};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___AVarFormExpr____n_id( self) /*AVarFormExpr::_n_id*/;
 }
 void parser_nodes___AVarFormExpr___n_id__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 760, LOCATE_parser_nodes___AVarFormExpr___n_id__eq};
+  struct trace_t trace = {NULL, NULL, 760, LOCATE_parser_nodes___AVarFormExpr___n_id__eq};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___AVarFormExpr____n_id( self) /*AVarFormExpr::_n_id*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___ARangeExpr___n_expr(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 779, LOCATE_parser_nodes___ARangeExpr___n_expr};
+  struct trace_t trace = {NULL, NULL, 779, LOCATE_parser_nodes___ARangeExpr___n_expr};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___ARangeExpr____n_expr( self) /*ARangeExpr::_n_expr*/;
 }
 void parser_nodes___ARangeExpr___n_expr__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 779, LOCATE_parser_nodes___ARangeExpr___n_expr__eq};
+  struct trace_t trace = {NULL, NULL, 779, LOCATE_parser_nodes___ARangeExpr___n_expr__eq};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___ARangeExpr____n_expr( self) /*ARangeExpr::_n_expr*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___ARangeExpr___n_expr2(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 780, LOCATE_parser_nodes___ARangeExpr___n_expr2};
+  struct trace_t trace = {NULL, NULL, 780, LOCATE_parser_nodes___ARangeExpr___n_expr2};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___ARangeExpr____n_expr2( self) /*ARangeExpr::_n_expr2*/;
 }
 void parser_nodes___ARangeExpr___n_expr2__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 780, LOCATE_parser_nodes___ARangeExpr___n_expr2__eq};
+  struct trace_t trace = {NULL, NULL, 780, LOCATE_parser_nodes___ARangeExpr___n_expr2__eq};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___ARangeExpr____n_expr2( self) /*ARangeExpr::_n_expr2*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___AArrayExpr___n_exprs(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 790, LOCATE_parser_nodes___AArrayExpr___n_exprs};
+  struct trace_t trace = {NULL, NULL, 790, LOCATE_parser_nodes___AArrayExpr___n_exprs};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___AArrayExpr____n_exprs( self) /*AArrayExpr::_n_exprs*/;
 }
 void parser_nodes___AArrayExpr___n_exprs__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 790, LOCATE_parser_nodes___AArrayExpr___n_exprs__eq};
+  struct trace_t trace = {NULL, NULL, 790, LOCATE_parser_nodes___AArrayExpr___n_exprs__eq};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___AArrayExpr____n_exprs( self) /*AArrayExpr::_n_exprs*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___ASelfExpr___n_kwself(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 794, LOCATE_parser_nodes___ASelfExpr___n_kwself};
+  struct trace_t trace = {NULL, NULL, 794, LOCATE_parser_nodes___ASelfExpr___n_kwself};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___ASelfExpr____n_kwself( self) /*ASelfExpr::_n_kwself*/;
 }
 void parser_nodes___ASelfExpr___n_kwself__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 794, LOCATE_parser_nodes___ASelfExpr___n_kwself__eq};
+  struct trace_t trace = {NULL, NULL, 794, LOCATE_parser_nodes___ASelfExpr___n_kwself__eq};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___ASelfExpr____n_kwself( self) /*ASelfExpr::_n_kwself*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___ATrueExpr___n_kwtrue(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 801, LOCATE_parser_nodes___ATrueExpr___n_kwtrue};
+  struct trace_t trace = {NULL, NULL, 801, LOCATE_parser_nodes___ATrueExpr___n_kwtrue};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___ATrueExpr____n_kwtrue( self) /*ATrueExpr::_n_kwtrue*/;
 }
 void parser_nodes___ATrueExpr___n_kwtrue__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 801, LOCATE_parser_nodes___ATrueExpr___n_kwtrue__eq};
+  struct trace_t trace = {NULL, NULL, 801, LOCATE_parser_nodes___ATrueExpr___n_kwtrue__eq};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___ATrueExpr____n_kwtrue( self) /*ATrueExpr::_n_kwtrue*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___AFalseExpr___n_kwfalse(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 805, LOCATE_parser_nodes___AFalseExpr___n_kwfalse};
+  struct trace_t trace = {NULL, NULL, 805, LOCATE_parser_nodes___AFalseExpr___n_kwfalse};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___AFalseExpr____n_kwfalse( self) /*AFalseExpr::_n_kwfalse*/;
 }
 void parser_nodes___AFalseExpr___n_kwfalse__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 805, LOCATE_parser_nodes___AFalseExpr___n_kwfalse__eq};
+  struct trace_t trace = {NULL, NULL, 805, LOCATE_parser_nodes___AFalseExpr___n_kwfalse__eq};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___AFalseExpr____n_kwfalse( self) /*AFalseExpr::_n_kwfalse*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___ANullExpr___n_kwnull(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 809, LOCATE_parser_nodes___ANullExpr___n_kwnull};
+  struct trace_t trace = {NULL, NULL, 809, LOCATE_parser_nodes___ANullExpr___n_kwnull};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___ANullExpr____n_kwnull( self) /*ANullExpr::_n_kwnull*/;
 }
 void parser_nodes___ANullExpr___n_kwnull__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 809, LOCATE_parser_nodes___ANullExpr___n_kwnull__eq};
+  struct trace_t trace = {NULL, NULL, 809, LOCATE_parser_nodes___ANullExpr___n_kwnull__eq};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___ANullExpr____n_kwnull( self) /*ANullExpr::_n_kwnull*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___AIntExpr___n_number(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 813, LOCATE_parser_nodes___AIntExpr___n_number};
+  struct trace_t trace = {NULL, NULL, 813, LOCATE_parser_nodes___AIntExpr___n_number};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___AIntExpr____n_number( self) /*AIntExpr::_n_number*/;
 }
 void parser_nodes___AIntExpr___n_number__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 813, LOCATE_parser_nodes___AIntExpr___n_number__eq};
+  struct trace_t trace = {NULL, NULL, 813, LOCATE_parser_nodes___AIntExpr___n_number__eq};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___AIntExpr____n_number( self) /*AIntExpr::_n_number*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___AFloatExpr___n_float(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 817, LOCATE_parser_nodes___AFloatExpr___n_float};
+  struct trace_t trace = {NULL, NULL, 817, LOCATE_parser_nodes___AFloatExpr___n_float};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___AFloatExpr____n_float( self) /*AFloatExpr::_n_float*/;
 }
 void parser_nodes___AFloatExpr___n_float__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 817, LOCATE_parser_nodes___AFloatExpr___n_float__eq};
+  struct trace_t trace = {NULL, NULL, 817, LOCATE_parser_nodes___AFloatExpr___n_float__eq};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___AFloatExpr____n_float( self) /*AFloatExpr::_n_float*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___ACharExpr___n_char(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 821, LOCATE_parser_nodes___ACharExpr___n_char};
+  struct trace_t trace = {NULL, NULL, 821, LOCATE_parser_nodes___ACharExpr___n_char};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___ACharExpr____n_char( self) /*ACharExpr::_n_char*/;
 }
 void parser_nodes___ACharExpr___n_char__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 821, LOCATE_parser_nodes___ACharExpr___n_char__eq};
+  struct trace_t trace = {NULL, NULL, 821, LOCATE_parser_nodes___ACharExpr___n_char__eq};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___ACharExpr____n_char( self) /*ACharExpr::_n_char*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___AStringExpr___n_string(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 828, LOCATE_parser_nodes___AStringExpr___n_string};
+  struct trace_t trace = {NULL, NULL, 828, LOCATE_parser_nodes___AStringExpr___n_string};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___AStringExpr____n_string( self) /*AStringExpr::_n_string*/;
 }
 void parser_nodes___AStringExpr___n_string__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 828, LOCATE_parser_nodes___AStringExpr___n_string__eq};
+  struct trace_t trace = {NULL, NULL, 828, LOCATE_parser_nodes___AStringExpr___n_string__eq};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___AStringExpr____n_string( self) /*AStringExpr::_n_string*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___AStartStringExpr___n_string(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 832, LOCATE_parser_nodes___AStartStringExpr___n_string};
+  struct trace_t trace = {NULL, NULL, 832, LOCATE_parser_nodes___AStartStringExpr___n_string};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___AStartStringExpr____n_string( self) /*AStartStringExpr::_n_string*/;
 }
 void parser_nodes___AStartStringExpr___n_string__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 832, LOCATE_parser_nodes___AStartStringExpr___n_string__eq};
+  struct trace_t trace = {NULL, NULL, 832, LOCATE_parser_nodes___AStartStringExpr___n_string__eq};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___AStartStringExpr____n_string( self) /*AStartStringExpr::_n_string*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___AMidStringExpr___n_string(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 836, LOCATE_parser_nodes___AMidStringExpr___n_string};
+  struct trace_t trace = {NULL, NULL, 836, LOCATE_parser_nodes___AMidStringExpr___n_string};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___AMidStringExpr____n_string( self) /*AMidStringExpr::_n_string*/;
 }
 void parser_nodes___AMidStringExpr___n_string__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 836, LOCATE_parser_nodes___AMidStringExpr___n_string__eq};
+  struct trace_t trace = {NULL, NULL, 836, LOCATE_parser_nodes___AMidStringExpr___n_string__eq};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___AMidStringExpr____n_string( self) /*AMidStringExpr::_n_string*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___AEndStringExpr___n_string(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 840, LOCATE_parser_nodes___AEndStringExpr___n_string};
+  struct trace_t trace = {NULL, NULL, 840, LOCATE_parser_nodes___AEndStringExpr___n_string};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___AEndStringExpr____n_string( self) /*AEndStringExpr::_n_string*/;
 }
 void parser_nodes___AEndStringExpr___n_string__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 840, LOCATE_parser_nodes___AEndStringExpr___n_string__eq};
+  struct trace_t trace = {NULL, NULL, 840, LOCATE_parser_nodes___AEndStringExpr___n_string__eq};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___AEndStringExpr____n_string( self) /*AEndStringExpr::_n_string*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___ASuperstringExpr___n_exprs(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 844, LOCATE_parser_nodes___ASuperstringExpr___n_exprs};
+  struct trace_t trace = {NULL, NULL, 844, LOCATE_parser_nodes___ASuperstringExpr___n_exprs};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___ASuperstringExpr____n_exprs( self) /*ASuperstringExpr::_n_exprs*/;
 }
 void parser_nodes___ASuperstringExpr___n_exprs__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 844, LOCATE_parser_nodes___ASuperstringExpr___n_exprs__eq};
+  struct trace_t trace = {NULL, NULL, 844, LOCATE_parser_nodes___ASuperstringExpr___n_exprs__eq};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___ASuperstringExpr____n_exprs( self) /*ASuperstringExpr::_n_exprs*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___AProxyExpr___n_expr(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 851, LOCATE_parser_nodes___AProxyExpr___n_expr};
+  struct trace_t trace = {NULL, NULL, 851, LOCATE_parser_nodes___AProxyExpr___n_expr};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___AProxyExpr____n_expr( self) /*AProxyExpr::_n_expr*/;
 }
 void parser_nodes___AProxyExpr___n_expr__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 851, LOCATE_parser_nodes___AProxyExpr___n_expr__eq};
+  struct trace_t trace = {NULL, NULL, 851, LOCATE_parser_nodes___AProxyExpr___n_expr__eq};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___AProxyExpr____n_expr( self) /*AProxyExpr::_n_expr*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___AAsCastExpr___n_expr(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 855, LOCATE_parser_nodes___AAsCastExpr___n_expr};
+  struct trace_t trace = {NULL, NULL, 855, LOCATE_parser_nodes___AAsCastExpr___n_expr};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___AAsCastExpr____n_expr( self) /*AAsCastExpr::_n_expr*/;
 }
 void parser_nodes___AAsCastExpr___n_expr__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 855, LOCATE_parser_nodes___AAsCastExpr___n_expr__eq};
+  struct trace_t trace = {NULL, NULL, 855, LOCATE_parser_nodes___AAsCastExpr___n_expr__eq};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___AAsCastExpr____n_expr( self) /*AAsCastExpr::_n_expr*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___AAsCastExpr___n_kwas(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 856, LOCATE_parser_nodes___AAsCastExpr___n_kwas};
+  struct trace_t trace = {NULL, NULL, 856, LOCATE_parser_nodes___AAsCastExpr___n_kwas};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___AAsCastExpr____n_kwas( self) /*AAsCastExpr::_n_kwas*/;
 }
 void parser_nodes___AAsCastExpr___n_kwas__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 856, LOCATE_parser_nodes___AAsCastExpr___n_kwas__eq};
+  struct trace_t trace = {NULL, NULL, 856, LOCATE_parser_nodes___AAsCastExpr___n_kwas__eq};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___AAsCastExpr____n_kwas( self) /*AAsCastExpr::_n_kwas*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___AAsCastExpr___n_type(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 857, LOCATE_parser_nodes___AAsCastExpr___n_type};
+  struct trace_t trace = {NULL, NULL, 857, LOCATE_parser_nodes___AAsCastExpr___n_type};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___AAsCastExpr____n_type( self) /*AAsCastExpr::_n_type*/;
 }
 void parser_nodes___AAsCastExpr___n_type__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 857, LOCATE_parser_nodes___AAsCastExpr___n_type__eq};
+  struct trace_t trace = {NULL, NULL, 857, LOCATE_parser_nodes___AAsCastExpr___n_type__eq};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___AAsCastExpr____n_type( self) /*AAsCastExpr::_n_type*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___APlusAssignOp___n_pluseq(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 861, LOCATE_parser_nodes___APlusAssignOp___n_pluseq};
+  struct trace_t trace = {NULL, NULL, 861, LOCATE_parser_nodes___APlusAssignOp___n_pluseq};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___APlusAssignOp____n_pluseq( self) /*APlusAssignOp::_n_pluseq*/;
 }
 void parser_nodes___APlusAssignOp___n_pluseq__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 861, LOCATE_parser_nodes___APlusAssignOp___n_pluseq__eq};
+  struct trace_t trace = {NULL, NULL, 861, LOCATE_parser_nodes___APlusAssignOp___n_pluseq__eq};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___APlusAssignOp____n_pluseq( self) /*APlusAssignOp::_n_pluseq*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___AMinusAssignOp___n_minuseq(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 865, LOCATE_parser_nodes___AMinusAssignOp___n_minuseq};
+  struct trace_t trace = {NULL, NULL, 865, LOCATE_parser_nodes___AMinusAssignOp___n_minuseq};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___AMinusAssignOp____n_minuseq( self) /*AMinusAssignOp::_n_minuseq*/;
 }
 void parser_nodes___AMinusAssignOp___n_minuseq__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 865, LOCATE_parser_nodes___AMinusAssignOp___n_minuseq__eq};
+  struct trace_t trace = {NULL, NULL, 865, LOCATE_parser_nodes___AMinusAssignOp___n_minuseq__eq};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___AMinusAssignOp____n_minuseq( self) /*AMinusAssignOp::_n_minuseq*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___AQualified___n_id(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 869, LOCATE_parser_nodes___AQualified___n_id};
+  struct trace_t trace = {NULL, NULL, 869, LOCATE_parser_nodes___AQualified___n_id};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___AQualified____n_id( self) /*AQualified::_n_id*/;
 }
 void parser_nodes___AQualified___n_id__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 869, LOCATE_parser_nodes___AQualified___n_id__eq};
+  struct trace_t trace = {NULL, NULL, 869, LOCATE_parser_nodes___AQualified___n_id__eq};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___AQualified____n_id( self) /*AQualified::_n_id*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___AQualified___n_classid(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 870, LOCATE_parser_nodes___AQualified___n_classid};
+  struct trace_t trace = {NULL, NULL, 870, LOCATE_parser_nodes___AQualified___n_classid};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___AQualified____n_classid( self) /*AQualified::_n_classid*/;
 }
 void parser_nodes___AQualified___n_classid__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 870, LOCATE_parser_nodes___AQualified___n_classid__eq};
+  struct trace_t trace = {NULL, NULL, 870, LOCATE_parser_nodes___AQualified___n_classid__eq};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___AQualified____n_classid( self) /*AQualified::_n_classid*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___ADoc___n_comment(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 874, LOCATE_parser_nodes___ADoc___n_comment};
+  struct trace_t trace = {NULL, NULL, 874, LOCATE_parser_nodes___ADoc___n_comment};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___ADoc____n_comment( self) /*ADoc::_n_comment*/;
 }
 void parser_nodes___ADoc___n_comment__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 874, LOCATE_parser_nodes___ADoc___n_comment__eq};
+  struct trace_t trace = {NULL, NULL, 874, LOCATE_parser_nodes___ADoc___n_comment__eq};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___ADoc____n_comment( self) /*ADoc::_n_comment*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___Start___n_base(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 879, LOCATE_parser_nodes___Start___n_base};
+  struct trace_t trace = {NULL, NULL, 879, LOCATE_parser_nodes___Start___n_base};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___Start____n_base( self) /*Start::_n_base*/;
 }
 void parser_nodes___Start___n_base__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 879, LOCATE_parser_nodes___Start___n_base__eq};
+  struct trace_t trace = {NULL, NULL, 879, LOCATE_parser_nodes___Start___n_base__eq};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___Start____n_base( self) /*Start::_n_base*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___Start___n_eof(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 880, LOCATE_parser_nodes___Start___n_eof};
+  struct trace_t trace = {NULL, NULL, 880, LOCATE_parser_nodes___Start___n_eof};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   tracehead = trace.prev;
   return ATTR_parser_nodes___Start____n_eof( self) /*Start::_n_eof*/;
 }
 void parser_nodes___Start___n_eof__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes, 880, LOCATE_parser_nodes___Start___n_eof__eq};
+  struct trace_t trace = {NULL, NULL, 880, LOCATE_parser_nodes___Start___n_eof__eq};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_nodes;
   ATTR_parser_nodes___Start____n_eof( self) /*Start::_n_eof*/ =  param0;
   tracehead = trace.prev;
   return;
index b24d47e..b240391 100644 (file)
@@ -1,6 +1,6 @@
 /* This C header file is generated by NIT to compile modules and programs that requires parser_nodes. */
-#ifndef parser_nodes_2_sep
-#define parser_nodes_2_sep
+#ifndef parser_nodes_sep
+#define parser_nodes_sep
 #include "standard._sep.h"
 #include <nit_common.h>
 
@@ -473,7 +473,7 @@ extern const classtable_elt_t VFT_AQualified[];
 extern const classtable_elt_t VFT_ADoc[];
 
 extern const classtable_elt_t VFT_Start[];
-#define LOCATE_parser_nodes "./parser//parser_nodes.nit"
+extern const char *LOCATE_parser_nodes;
 extern const int SFT_parser_nodes[];
 #define ID_PNode SFT_parser_nodes[0]
 #define COLOR_PNode SFT_parser_nodes[1]
index 073910f..e0a94e4 100644 (file)
@@ -1,30 +1,34 @@
 /* This C file is generated by NIT to compile module parser_prod. */
 #include "parser_prod._sep.h"
 val_t parser_prod___PNode___parent(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 9, LOCATE_parser_prod___PNode___parent};
+  struct trace_t trace = {NULL, NULL, 9, LOCATE_parser_prod___PNode___parent};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   tracehead = trace.prev;
   return ATTR_parser_prod___PNode____parent( self) /*PNode::_parent*/;
 }
 void parser_prod___PNode___parent__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 9, LOCATE_parser_prod___PNode___parent__eq};
+  struct trace_t trace = {NULL, NULL, 9, LOCATE_parser_prod___PNode___parent__eq};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   ATTR_parser_prod___PNode____parent( self) /*PNode::_parent*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 void parser_prod___PNode___remove_child(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 12, LOCATE_parser_prod___PNode___remove_child};
+  struct trace_t trace = {NULL, NULL, 12, LOCATE_parser_prod___PNode___remove_child};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   ((parser_prod___PNode___replace_child_t)CALL( self,COLOR_parser_prod___PNode___replace_child))( self,  variable0 /*child*/,  NIT_NULL /*null*/) /*PNode::replace_child*/;
   tracehead = trace.prev;
   return;
 }
 void parser_prod___PNode___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 18, LOCATE_parser_prod___PNode___replace_child};
+  struct trace_t trace = {NULL, NULL, 18, LOCATE_parser_prod___PNode___replace_child};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   fprintf(stderr, "Deferred method %s called");
   fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___PNode___remove_child, LOCATE_parser_prod, 18);
   nit_exit(1);
@@ -32,10 +36,11 @@ void parser_prod___PNode___replace_child(val_t  self, val_t  param0, val_t  para
   return;
 }
 void parser_prod___PNode___replace_with(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 21, LOCATE_parser_prod___PNode___replace_with};
+  struct trace_t trace = {NULL, NULL, 21, LOCATE_parser_prod___PNode___replace_with};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 = ATTR_parser_prod___PNode____parent( self) /*PNode::_parent*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 ==  NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -47,8 +52,9 @@ void parser_prod___PNode___replace_with(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___PNode___visit_all(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 29, LOCATE_parser_prod___PNode___visit_all};
+  struct trace_t trace = {NULL, NULL, 29, LOCATE_parser_prod___PNode___visit_all};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   fprintf(stderr, "Deferred method %s called");
   fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___PNode___replace_with, LOCATE_parser_prod, 29);
   nit_exit(1);
@@ -56,8 +62,9 @@ void parser_prod___PNode___visit_all(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___PNode___visit_all_reverse(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 33, LOCATE_parser_prod___PNode___visit_all_reverse};
+  struct trace_t trace = {NULL, NULL, 33, LOCATE_parser_prod___PNode___visit_all_reverse};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   fprintf(stderr, "Deferred method %s called");
   fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___PNode___replace_with, LOCATE_parser_prod, 33);
   nit_exit(1);
@@ -65,8 +72,9 @@ void parser_prod___PNode___visit_all_reverse(val_t  self, val_t  param0) {
   return;
 }
 val_t parser_prod___PNode___locate(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 37, LOCATE_parser_prod___PNode___locate};
+  struct trace_t trace = {NULL, NULL, 37, LOCATE_parser_prod___PNode___locate};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   fprintf(stderr, "Deferred method %s called");
   fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___PNode___replace_with, LOCATE_parser_prod, 37);
   nit_exit(1);
@@ -74,8 +82,9 @@ val_t parser_prod___PNode___locate(val_t  self) {
   return NIT_NULL;
 }
 val_t parser_prod___PNode___line_number(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 40, LOCATE_parser_prod___PNode___line_number};
+  struct trace_t trace = {NULL, NULL, 40, LOCATE_parser_prod___PNode___line_number};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   fprintf(stderr, "Deferred method %s called");
   fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___PNode___replace_with, LOCATE_parser_prod, 40);
   nit_exit(1);
@@ -83,7 +92,7 @@ val_t parser_prod___PNode___line_number(val_t  self) {
   return NIT_NULL;
 }
 void parser_prod___PNode___printl(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 43, LOCATE_parser_prod___PNode___printl};
+  struct trace_t trace = {NULL, NULL, 43, LOCATE_parser_prod___PNode___printl};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -96,6 +105,7 @@ void parser_prod___PNode___printl(val_t  self, val_t  param0) {
   val_t variable9;
   val_t variable10;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 = NEW_string___String___init(); /*new String*/
   variable2 = NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
@@ -117,33 +127,36 @@ void parser_prod___PNode___printl(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___Token___visit_all(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 51, LOCATE_parser_prod___Token___visit_all};
+  struct trace_t trace = {NULL, NULL, 51, LOCATE_parser_prod___Token___visit_all};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   tracehead = trace.prev;
   return;
 }
 void parser_prod___Token___visit_all_reverse(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 52, LOCATE_parser_prod___Token___visit_all_reverse};
+  struct trace_t trace = {NULL, NULL, 52, LOCATE_parser_prod___Token___visit_all_reverse};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   tracehead = trace.prev;
   return;
 }
 void parser_prod___Token___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 53, LOCATE_parser_prod___Token___replace_child};
+  struct trace_t trace = {NULL, NULL, 53, LOCATE_parser_prod___Token___replace_child};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 =  param1;
   tracehead = trace.prev;
   return;
 }
 val_t parser_prod___Token___locate(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 55, LOCATE_parser_prod___Token___locate};
+  struct trace_t trace = {NULL, NULL, 55, LOCATE_parser_prod___Token___locate};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -160,6 +173,7 @@ val_t parser_prod___Token___locate(val_t  self) {
   val_t variable13;
   val_t variable14;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 = NEW_string___String___init(); /*new String*/
   variable1 = NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
   variable2 = variable1;
@@ -190,9 +204,10 @@ val_t parser_prod___Token___locate(val_t  self) {
   return variable0;
 }
 val_t parser_prod___Token___line_number(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 60, LOCATE_parser_prod___Token___line_number};
+  struct trace_t trace = {NULL, NULL, 60, LOCATE_parser_prod___Token___line_number};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 = ((lexer___Token___line_t)CALL( self,COLOR_lexer___Token___line))( self) /*Token::line*/;
   goto return_label7;
   return_label7: while(false);
@@ -200,33 +215,37 @@ val_t parser_prod___Token___line_number(val_t  self) {
   return variable0;
 }
 val_t parser_prod___Prod___first_token(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 64, LOCATE_parser_prod___Prod___first_token};
+  struct trace_t trace = {NULL, NULL, 64, LOCATE_parser_prod___Prod___first_token};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   tracehead = trace.prev;
   return ATTR_parser_prod___Prod____first_token( self) /*Prod::_first_token*/;
 }
 void parser_prod___Prod___first_token__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 64, LOCATE_parser_prod___Prod___first_token__eq};
+  struct trace_t trace = {NULL, NULL, 64, LOCATE_parser_prod___Prod___first_token__eq};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   ATTR_parser_prod___Prod____first_token( self) /*Prod::_first_token*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_prod___Prod___last_token(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 67, LOCATE_parser_prod___Prod___last_token};
+  struct trace_t trace = {NULL, NULL, 67, LOCATE_parser_prod___Prod___last_token};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   tracehead = trace.prev;
   return ATTR_parser_prod___Prod____last_token( self) /*Prod::_last_token*/;
 }
 void parser_prod___Prod___last_token__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 67, LOCATE_parser_prod___Prod___last_token__eq};
+  struct trace_t trace = {NULL, NULL, 67, LOCATE_parser_prod___Prod___last_token__eq};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   ATTR_parser_prod___Prod____last_token( self) /*Prod::_last_token*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_prod___Prod___locate(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 70, LOCATE_parser_prod___Prod___locate};
+  struct trace_t trace = {NULL, NULL, 70, LOCATE_parser_prod___Prod___locate};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -243,6 +262,7 @@ val_t parser_prod___Prod___locate(val_t  self) {
     val_t variable13;
     val_t variable14;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 = ((parser_prod___Prod___first_token_t)CALL( self,COLOR_parser_prod___Prod___first_token))( self) /*Prod::first_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::==*/)))));
   if (UNTAG_Bool(variable0)) { /*if*/
@@ -316,10 +336,11 @@ val_t parser_prod___Prod___locate(val_t  self) {
   return variable0;
 }
 void parser_prod___Prod___replace_with(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 83, LOCATE_parser_prod___Prod___replace_with};
+  struct trace_t trace = {NULL, NULL, 83, LOCATE_parser_prod___Prod___replace_with};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   ((parser_prod___Prod___replace_with_t)CALL( self,COLOR_SUPER_parser_prod___Prod___replace_with))( self,  param0) /*super Prod::replace_with*/;
   variable1 = TAG_Bool(( variable0 /*n*/==NIT_NULL) || VAL_ISA( variable0 /*n*/, COLOR_Prod, ID_Prod)) /*cast Prod*/;
@@ -332,9 +353,10 @@ void parser_prod___Prod___replace_with(val_t  self, val_t  param0) {
   return;
 }
 val_t parser_prod___Prod___line_number(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 91, LOCATE_parser_prod___Prod___line_number};
+  struct trace_t trace = {NULL, NULL, 91, LOCATE_parser_prod___Prod___line_number};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 = ((parser_prod___Prod___first_token_t)CALL( self,COLOR_parser_prod___Prod___first_token))( self) /*Prod::first_token*/;
   variable0 = TAG_Bool(!UNTAG_Bool(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::==*/)))))));
   if (UNTAG_Bool(variable0)) { /*if*/
@@ -350,8 +372,9 @@ val_t parser_prod___Prod___line_number(val_t  self) {
   return variable0;
 }
 void parser_prod___Visitor___visit(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 103, LOCATE_parser_prod___Visitor___visit};
+  struct trace_t trace = {NULL, NULL, 103, LOCATE_parser_prod___Visitor___visit};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   fprintf(stderr, "Deferred method %s called");
   fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___Prod___line_number, LOCATE_parser_prod, 103);
   nit_exit(1);
@@ -359,10 +382,11 @@ void parser_prod___Visitor___visit(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AModule___n_packagedecl__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 110, LOCATE_parser_prod___AModule___n_packagedecl__eq};
+  struct trace_t trace = {NULL, NULL, 110, LOCATE_parser_prod___AModule___n_packagedecl__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   ATTR_parser_nodes___AModule____n_packagedecl( self) /*AModule::_n_packagedecl*/ =  variable0 /*n*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ ==  NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -373,15 +397,16 @@ void parser_prod___AModule___n_packagedecl__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AModule___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 118, LOCATE_parser_prod___AModule___empty_init};
+  struct trace_t trace = {NULL, NULL, 118, LOCATE_parser_prod___AModule___empty_init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AModule].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AModule].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AModule___init_amodule(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 120, LOCATE_parser_prod___AModule___init_amodule};
+  struct trace_t trace = {NULL, NULL, 120, LOCATE_parser_prod___AModule___init_amodule};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -389,6 +414,7 @@ void parser_prod___AModule___init_amodule(val_t  self, val_t  param0, val_t  par
     val_t variable4;
     val_t variable5;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 =  param1;
   variable2 =  param2;
@@ -435,13 +461,14 @@ void parser_prod___AModule___init_amodule(val_t  self, val_t  param0, val_t  par
   return;
 }
 void parser_prod___AModule___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 144, LOCATE_parser_prod___AModule___replace_child};
+  struct trace_t trace = {NULL, NULL, 144, LOCATE_parser_prod___AModule___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   val_t variable3;
     val_t variable4;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 =  param1;
   variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ ==  NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -525,11 +552,12 @@ void parser_prod___AModule___replace_child(val_t  self, val_t  param0, val_t  pa
   return;
 }
 void parser_prod___AModule___visit_all(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 183, LOCATE_parser_prod___AModule___visit_all};
+  struct trace_t trace = {NULL, NULL, 183, LOCATE_parser_prod___AModule___visit_all};
   val_t variable0;
   val_t variable1;
     val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___AModule____n_packagedecl( self) /*AModule::_n_packagedecl*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 ==  NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -563,11 +591,12 @@ void parser_prod___AModule___visit_all(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AModule___visit_all_reverse(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 196, LOCATE_parser_prod___AModule___visit_all_reverse};
+  struct trace_t trace = {NULL, NULL, 196, LOCATE_parser_prod___AModule___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___AModule____n_packagedecl( self) /*AModule::_n_packagedecl*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 ==  NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -607,10 +636,11 @@ void parser_prod___AModule___visit_all_reverse(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___APackagedecl___n_doc__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 218, LOCATE_parser_prod___APackagedecl___n_doc__eq};
+  struct trace_t trace = {NULL, NULL, 218, LOCATE_parser_prod___APackagedecl___n_doc__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   ATTR_parser_nodes___APackagedecl____n_doc( self) /*APackagedecl::_n_doc*/ =  variable0 /*n*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ ==  NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -621,10 +651,11 @@ void parser_prod___APackagedecl___n_doc__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___APackagedecl___n_kwpackage__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 225, LOCATE_parser_prod___APackagedecl___n_kwpackage__eq};
+  struct trace_t trace = {NULL, NULL, 225, LOCATE_parser_prod___APackagedecl___n_kwpackage__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   ATTR_parser_nodes___APackagedecl____n_kwpackage( self) /*APackagedecl::_n_kwpackage*/ =  variable0 /*n*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ ==  NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -635,10 +666,11 @@ void parser_prod___APackagedecl___n_kwpackage__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___APackagedecl___n_id__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 232, LOCATE_parser_prod___APackagedecl___n_id__eq};
+  struct trace_t trace = {NULL, NULL, 232, LOCATE_parser_prod___APackagedecl___n_id__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   ATTR_parser_nodes___APackagedecl____n_id( self) /*APackagedecl::_n_id*/ =  variable0 /*n*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ ==  NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -649,20 +681,22 @@ void parser_prod___APackagedecl___n_id__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___APackagedecl___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 240, LOCATE_parser_prod___APackagedecl___empty_init};
+  struct trace_t trace = {NULL, NULL, 240, LOCATE_parser_prod___APackagedecl___empty_init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_APackagedecl].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_APackagedecl].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser_prod___APackagedecl___init_apackagedecl(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 242, LOCATE_parser_prod___APackagedecl___init_apackagedecl};
+  struct trace_t trace = {NULL, NULL, 242, LOCATE_parser_prod___APackagedecl___init_apackagedecl};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   val_t variable3;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 =  param1;
   variable2 =  param2;
@@ -687,11 +721,12 @@ void parser_prod___APackagedecl___init_apackagedecl(val_t  self, val_t  param0,
   return;
 }
 void parser_prod___APackagedecl___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 262, LOCATE_parser_prod___APackagedecl___replace_child};
+  struct trace_t trace = {NULL, NULL, 262, LOCATE_parser_prod___APackagedecl___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 =  param1;
   variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ ==  NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -743,10 +778,11 @@ void parser_prod___APackagedecl___replace_child(val_t  self, val_t  param0, val_
   return;
 }
 void parser_prod___APackagedecl___visit_all(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 297, LOCATE_parser_prod___APackagedecl___visit_all};
+  struct trace_t trace = {NULL, NULL, 297, LOCATE_parser_prod___APackagedecl___visit_all};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___APackagedecl____n_doc( self) /*APackagedecl::_n_doc*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 ==  NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -770,10 +806,11 @@ void parser_prod___APackagedecl___visit_all(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___APackagedecl___visit_all_reverse(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 310, LOCATE_parser_prod___APackagedecl___visit_all_reverse};
+  struct trace_t trace = {NULL, NULL, 310, LOCATE_parser_prod___APackagedecl___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___APackagedecl____n_doc( self) /*APackagedecl::_n_doc*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 ==  NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -797,10 +834,11 @@ void parser_prod___APackagedecl___visit_all_reverse(val_t  self, val_t  param0)
   return;
 }
 void parser_prod___AImport___n_visibility__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 324, LOCATE_parser_prod___AImport___n_visibility__eq};
+  struct trace_t trace = {NULL, NULL, 324, LOCATE_parser_prod___AImport___n_visibility__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   ATTR_parser_nodes___AImport____n_visibility( self) /*AImport::_n_visibility*/ =  variable0 /*n*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ ==  NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -811,10 +849,11 @@ void parser_prod___AImport___n_visibility__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AImport___n_kwimport__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 331, LOCATE_parser_prod___AImport___n_kwimport__eq};
+  struct trace_t trace = {NULL, NULL, 331, LOCATE_parser_prod___AImport___n_kwimport__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   ATTR_parser_nodes___AImport____n_kwimport( self) /*AImport::_n_kwimport*/ =  variable0 /*n*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ ==  NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -825,10 +864,11 @@ void parser_prod___AImport___n_kwimport__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AImport___n_id__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 338, LOCATE_parser_prod___AImport___n_id__eq};
+  struct trace_t trace = {NULL, NULL, 338, LOCATE_parser_prod___AImport___n_id__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   ATTR_parser_nodes___AImport____n_id( self) /*AImport::_n_id*/ =  variable0 /*n*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ ==  NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -839,20 +879,22 @@ void parser_prod___AImport___n_id__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AImport___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 346, LOCATE_parser_prod___AImport___empty_init};
+  struct trace_t trace = {NULL, NULL, 346, LOCATE_parser_prod___AImport___empty_init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AImport].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AImport].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AImport___init_aimport(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 348, LOCATE_parser_prod___AImport___init_aimport};
+  struct trace_t trace = {NULL, NULL, 348, LOCATE_parser_prod___AImport___init_aimport};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   val_t variable3;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 =  param1;
   variable2 =  param2;
@@ -877,11 +919,12 @@ void parser_prod___AImport___init_aimport(val_t  self, val_t  param0, val_t  par
   return;
 }
 void parser_prod___AImport___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 368, LOCATE_parser_prod___AImport___replace_child};
+  struct trace_t trace = {NULL, NULL, 368, LOCATE_parser_prod___AImport___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 =  param1;
   variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ ==  NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -933,10 +976,11 @@ void parser_prod___AImport___replace_child(val_t  self, val_t  param0, val_t  pa
   return;
 }
 void parser_prod___AImport___visit_all(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 403, LOCATE_parser_prod___AImport___visit_all};
+  struct trace_t trace = {NULL, NULL, 403, LOCATE_parser_prod___AImport___visit_all};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___AImport____n_visibility( self) /*AImport::_n_visibility*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 ==  NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -960,10 +1004,11 @@ void parser_prod___AImport___visit_all(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AImport___visit_all_reverse(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 416, LOCATE_parser_prod___AImport___visit_all_reverse};
+  struct trace_t trace = {NULL, NULL, 416, LOCATE_parser_prod___AImport___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___AImport____n_visibility( self) /*AImport::_n_visibility*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 ==  NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -987,10 +1032,11 @@ void parser_prod___AImport___visit_all_reverse(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___ANoImport___n_visibility__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 430, LOCATE_parser_prod___ANoImport___n_visibility__eq};
+  struct trace_t trace = {NULL, NULL, 430, LOCATE_parser_prod___ANoImport___n_visibility__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   ATTR_parser_nodes___ANoImport____n_visibility( self) /*ANoImport::_n_visibility*/ =  variable0 /*n*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ ==  NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -1001,10 +1047,11 @@ void parser_prod___ANoImport___n_visibility__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___ANoImport___n_kwimport__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 437, LOCATE_parser_prod___ANoImport___n_kwimport__eq};
+  struct trace_t trace = {NULL, NULL, 437, LOCATE_parser_prod___ANoImport___n_kwimport__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   ATTR_parser_nodes___ANoImport____n_kwimport( self) /*ANoImport::_n_kwimport*/ =  variable0 /*n*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ ==  NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -1015,10 +1062,11 @@ void parser_prod___ANoImport___n_kwimport__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___ANoImport___n_kwend__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 444, LOCATE_parser_prod___ANoImport___n_kwend__eq};
+  struct trace_t trace = {NULL, NULL, 444, LOCATE_parser_prod___ANoImport___n_kwend__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   ATTR_parser_nodes___ANoImport____n_kwend( self) /*ANoImport::_n_kwend*/ =  variable0 /*n*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ ==  NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -1029,20 +1077,22 @@ void parser_prod___ANoImport___n_kwend__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___ANoImport___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 452, LOCATE_parser_prod___ANoImport___empty_init};
+  struct trace_t trace = {NULL, NULL, 452, LOCATE_parser_prod___ANoImport___empty_init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ANoImport].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ANoImport].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser_prod___ANoImport___init_anoimport(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 454, LOCATE_parser_prod___ANoImport___init_anoimport};
+  struct trace_t trace = {NULL, NULL, 454, LOCATE_parser_prod___ANoImport___init_anoimport};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   val_t variable3;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 =  param1;
   variable2 =  param2;
@@ -1067,11 +1117,12 @@ void parser_prod___ANoImport___init_anoimport(val_t  self, val_t  param0, val_t
   return;
 }
 void parser_prod___ANoImport___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 474, LOCATE_parser_prod___ANoImport___replace_child};
+  struct trace_t trace = {NULL, NULL, 474, LOCATE_parser_prod___ANoImport___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 =  param1;
   variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ ==  NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -1123,10 +1174,11 @@ void parser_prod___ANoImport___replace_child(val_t  self, val_t  param0, val_t
   return;
 }
 void parser_prod___ANoImport___visit_all(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 509, LOCATE_parser_prod___ANoImport___visit_all};
+  struct trace_t trace = {NULL, NULL, 509, LOCATE_parser_prod___ANoImport___visit_all};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___ANoImport____n_visibility( self) /*ANoImport::_n_visibility*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 ==  NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -1150,10 +1202,11 @@ void parser_prod___ANoImport___visit_all(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___ANoImport___visit_all_reverse(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 522, LOCATE_parser_prod___ANoImport___visit_all_reverse};
+  struct trace_t trace = {NULL, NULL, 522, LOCATE_parser_prod___ANoImport___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___ANoImport____n_visibility( self) /*ANoImport::_n_visibility*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 ==  NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -1177,27 +1230,30 @@ void parser_prod___ANoImport___visit_all_reverse(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___APublicVisibility___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 537, LOCATE_parser_prod___APublicVisibility___empty_init};
+  struct trace_t trace = {NULL, NULL, 537, LOCATE_parser_prod___APublicVisibility___empty_init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_APublicVisibility].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_APublicVisibility].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser_prod___APublicVisibility___init_apublicvisibility(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 539, LOCATE_parser_prod___APublicVisibility___init_apublicvisibility};
+  struct trace_t trace = {NULL, NULL, 539, LOCATE_parser_prod___APublicVisibility___init_apublicvisibility};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_APublicVisibility].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_APublicVisibility].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser_prod___APublicVisibility___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 543, LOCATE_parser_prod___APublicVisibility___replace_child};
+  struct trace_t trace = {NULL, NULL, 543, LOCATE_parser_prod___APublicVisibility___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 =  param1;
   variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ ==  NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -1206,26 +1262,29 @@ void parser_prod___APublicVisibility___replace_child(val_t  self, val_t  param0,
   return;
 }
 void parser_prod___APublicVisibility___visit_all(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 548, LOCATE_parser_prod___APublicVisibility___visit_all};
+  struct trace_t trace = {NULL, NULL, 548, LOCATE_parser_prod___APublicVisibility___visit_all};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   tracehead = trace.prev;
   return;
 }
 void parser_prod___APublicVisibility___visit_all_reverse(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 552, LOCATE_parser_prod___APublicVisibility___visit_all_reverse};
+  struct trace_t trace = {NULL, NULL, 552, LOCATE_parser_prod___APublicVisibility___visit_all_reverse};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   tracehead = trace.prev;
   return;
 }
 void parser_prod___APrivateVisibility___n_kwprivate__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 557, LOCATE_parser_prod___APrivateVisibility___n_kwprivate__eq};
+  struct trace_t trace = {NULL, NULL, 557, LOCATE_parser_prod___APrivateVisibility___n_kwprivate__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   ATTR_parser_nodes___APrivateVisibility____n_kwprivate( self) /*APrivateVisibility::_n_kwprivate*/ =  variable0 /*n*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ ==  NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -1236,18 +1295,20 @@ void parser_prod___APrivateVisibility___n_kwprivate__eq(val_t  self, val_t  para
   return;
 }
 void parser_prod___APrivateVisibility___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 565, LOCATE_parser_prod___APrivateVisibility___empty_init};
+  struct trace_t trace = {NULL, NULL, 565, LOCATE_parser_prod___APrivateVisibility___empty_init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_APrivateVisibility].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_APrivateVisibility].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser_prod___APrivateVisibility___init_aprivatevisibility(val_t  self, val_t  param0, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 567, LOCATE_parser_prod___APrivateVisibility___init_aprivatevisibility};
+  struct trace_t trace = {NULL, NULL, 567, LOCATE_parser_prod___APrivateVisibility___init_aprivatevisibility};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_APrivateVisibility].i]) return;
   ATTR_parser_nodes___APrivateVisibility____n_kwprivate( self) /*APrivateVisibility::_n_kwprivate*/ =  variable0 /*n_kwprivate*/;
@@ -1260,11 +1321,12 @@ void parser_prod___APrivateVisibility___init_aprivatevisibility(val_t  self, val
   return;
 }
 void parser_prod___APrivateVisibility___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 577, LOCATE_parser_prod___APrivateVisibility___replace_child};
+  struct trace_t trace = {NULL, NULL, 577, LOCATE_parser_prod___APrivateVisibility___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 =  param1;
   variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ ==  NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -1288,10 +1350,11 @@ void parser_prod___APrivateVisibility___replace_child(val_t  self, val_t  param0
   return;
 }
 void parser_prod___APrivateVisibility___visit_all(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 592, LOCATE_parser_prod___APrivateVisibility___visit_all};
+  struct trace_t trace = {NULL, NULL, 592, LOCATE_parser_prod___APrivateVisibility___visit_all};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___APrivateVisibility____n_kwprivate( self) /*APrivateVisibility::_n_kwprivate*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 ==  NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -1303,10 +1366,11 @@ void parser_prod___APrivateVisibility___visit_all(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___APrivateVisibility___visit_all_reverse(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 599, LOCATE_parser_prod___APrivateVisibility___visit_all_reverse};
+  struct trace_t trace = {NULL, NULL, 599, LOCATE_parser_prod___APrivateVisibility___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___APrivateVisibility____n_kwprivate( self) /*APrivateVisibility::_n_kwprivate*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 ==  NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -1318,10 +1382,11 @@ void parser_prod___APrivateVisibility___visit_all_reverse(val_t  self, val_t  pa
   return;
 }
 void parser_prod___AProtectedVisibility___n_kwprotected__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 607, LOCATE_parser_prod___AProtectedVisibility___n_kwprotected__eq};
+  struct trace_t trace = {NULL, NULL, 607, LOCATE_parser_prod___AProtectedVisibility___n_kwprotected__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   ATTR_parser_nodes___AProtectedVisibility____n_kwprotected( self) /*AProtectedVisibility::_n_kwprotected*/ =  variable0 /*n*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ ==  NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -1332,18 +1397,20 @@ void parser_prod___AProtectedVisibility___n_kwprotected__eq(val_t  self, val_t
   return;
 }
 void parser_prod___AProtectedVisibility___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 615, LOCATE_parser_prod___AProtectedVisibility___empty_init};
+  struct trace_t trace = {NULL, NULL, 615, LOCATE_parser_prod___AProtectedVisibility___empty_init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AProtectedVisibility].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AProtectedVisibility].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AProtectedVisibility___init_aprotectedvisibility(val_t  self, val_t  param0, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 617, LOCATE_parser_prod___AProtectedVisibility___init_aprotectedvisibility};
+  struct trace_t trace = {NULL, NULL, 617, LOCATE_parser_prod___AProtectedVisibility___init_aprotectedvisibility};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AProtectedVisibility].i]) return;
   ATTR_parser_nodes___AProtectedVisibility____n_kwprotected( self) /*AProtectedVisibility::_n_kwprotected*/ =  variable0 /*n_kwprotected*/;
@@ -1356,11 +1423,12 @@ void parser_prod___AProtectedVisibility___init_aprotectedvisibility(val_t  self,
   return;
 }
 void parser_prod___AProtectedVisibility___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 627, LOCATE_parser_prod___AProtectedVisibility___replace_child};
+  struct trace_t trace = {NULL, NULL, 627, LOCATE_parser_prod___AProtectedVisibility___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 =  param1;
   variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ ==  NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -1384,10 +1452,11 @@ void parser_prod___AProtectedVisibility___replace_child(val_t  self, val_t  para
   return;
 }
 void parser_prod___AProtectedVisibility___visit_all(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 642, LOCATE_parser_prod___AProtectedVisibility___visit_all};
+  struct trace_t trace = {NULL, NULL, 642, LOCATE_parser_prod___AProtectedVisibility___visit_all};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___AProtectedVisibility____n_kwprotected( self) /*AProtectedVisibility::_n_kwprotected*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 ==  NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -1399,10 +1468,11 @@ void parser_prod___AProtectedVisibility___visit_all(val_t  self, val_t  param0)
   return;
 }
 void parser_prod___AProtectedVisibility___visit_all_reverse(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 649, LOCATE_parser_prod___AProtectedVisibility___visit_all_reverse};
+  struct trace_t trace = {NULL, NULL, 649, LOCATE_parser_prod___AProtectedVisibility___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___AProtectedVisibility____n_kwprotected( self) /*AProtectedVisibility::_n_kwprotected*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 ==  NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -1414,10 +1484,11 @@ void parser_prod___AProtectedVisibility___visit_all_reverse(val_t  self, val_t
   return;
 }
 void parser_prod___AIntrudeVisibility___n_kwintrude__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 657, LOCATE_parser_prod___AIntrudeVisibility___n_kwintrude__eq};
+  struct trace_t trace = {NULL, NULL, 657, LOCATE_parser_prod___AIntrudeVisibility___n_kwintrude__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   ATTR_parser_nodes___AIntrudeVisibility____n_kwintrude( self) /*AIntrudeVisibility::_n_kwintrude*/ =  variable0 /*n*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ ==  NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -1428,18 +1499,20 @@ void parser_prod___AIntrudeVisibility___n_kwintrude__eq(val_t  self, val_t  para
   return;
 }
 void parser_prod___AIntrudeVisibility___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 665, LOCATE_parser_prod___AIntrudeVisibility___empty_init};
+  struct trace_t trace = {NULL, NULL, 665, LOCATE_parser_prod___AIntrudeVisibility___empty_init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AIntrudeVisibility].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AIntrudeVisibility].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AIntrudeVisibility___init_aintrudevisibility(val_t  self, val_t  param0, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 667, LOCATE_parser_prod___AIntrudeVisibility___init_aintrudevisibility};
+  struct trace_t trace = {NULL, NULL, 667, LOCATE_parser_prod___AIntrudeVisibility___init_aintrudevisibility};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AIntrudeVisibility].i]) return;
   ATTR_parser_nodes___AIntrudeVisibility____n_kwintrude( self) /*AIntrudeVisibility::_n_kwintrude*/ =  variable0 /*n_kwintrude*/;
@@ -1452,11 +1525,12 @@ void parser_prod___AIntrudeVisibility___init_aintrudevisibility(val_t  self, val
   return;
 }
 void parser_prod___AIntrudeVisibility___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 677, LOCATE_parser_prod___AIntrudeVisibility___replace_child};
+  struct trace_t trace = {NULL, NULL, 677, LOCATE_parser_prod___AIntrudeVisibility___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 =  param1;
   variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ ==  NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -1480,10 +1554,11 @@ void parser_prod___AIntrudeVisibility___replace_child(val_t  self, val_t  param0
   return;
 }
 void parser_prod___AIntrudeVisibility___visit_all(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 692, LOCATE_parser_prod___AIntrudeVisibility___visit_all};
+  struct trace_t trace = {NULL, NULL, 692, LOCATE_parser_prod___AIntrudeVisibility___visit_all};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___AIntrudeVisibility____n_kwintrude( self) /*AIntrudeVisibility::_n_kwintrude*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 ==  NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -1495,10 +1570,11 @@ void parser_prod___AIntrudeVisibility___visit_all(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AIntrudeVisibility___visit_all_reverse(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 699, LOCATE_parser_prod___AIntrudeVisibility___visit_all_reverse};
+  struct trace_t trace = {NULL, NULL, 699, LOCATE_parser_prod___AIntrudeVisibility___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___AIntrudeVisibility____n_kwintrude( self) /*AIntrudeVisibility::_n_kwintrude*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 ==  NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -1510,10 +1586,11 @@ void parser_prod___AIntrudeVisibility___visit_all_reverse(val_t  self, val_t  pa
   return;
 }
 void parser_prod___AClassdef___n_doc__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 707, LOCATE_parser_prod___AClassdef___n_doc__eq};
+  struct trace_t trace = {NULL, NULL, 707, LOCATE_parser_prod___AClassdef___n_doc__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   ATTR_parser_nodes___AClassdef____n_doc( self) /*AClassdef::_n_doc*/ =  variable0 /*n*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ ==  NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -1524,10 +1601,11 @@ void parser_prod___AClassdef___n_doc__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AClassdef___n_kwredef__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 714, LOCATE_parser_prod___AClassdef___n_kwredef__eq};
+  struct trace_t trace = {NULL, NULL, 714, LOCATE_parser_prod___AClassdef___n_kwredef__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   ATTR_parser_nodes___AClassdef____n_kwredef( self) /*AClassdef::_n_kwredef*/ =  variable0 /*n*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ ==  NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -1538,10 +1616,11 @@ void parser_prod___AClassdef___n_kwredef__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AClassdef___n_visibility__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 721, LOCATE_parser_prod___AClassdef___n_visibility__eq};
+  struct trace_t trace = {NULL, NULL, 721, LOCATE_parser_prod___AClassdef___n_visibility__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   ATTR_parser_nodes___AClassdef____n_visibility( self) /*AClassdef::_n_visibility*/ =  variable0 /*n*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ ==  NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -1552,10 +1631,11 @@ void parser_prod___AClassdef___n_visibility__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AClassdef___n_classkind__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 728, LOCATE_parser_prod___AClassdef___n_classkind__eq};
+  struct trace_t trace = {NULL, NULL, 728, LOCATE_parser_prod___AClassdef___n_classkind__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   ATTR_parser_nodes___AClassdef____n_classkind( self) /*AClassdef::_n_classkind*/ =  variable0 /*n*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ ==  NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -1566,10 +1646,11 @@ void parser_prod___AClassdef___n_classkind__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AClassdef___n_id__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 735, LOCATE_parser_prod___AClassdef___n_id__eq};
+  struct trace_t trace = {NULL, NULL, 735, LOCATE_parser_prod___AClassdef___n_id__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   ATTR_parser_nodes___AClassdef____n_id( self) /*AClassdef::_n_id*/ =  variable0 /*n*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ ==  NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -1580,15 +1661,16 @@ void parser_prod___AClassdef___n_id__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AClassdef___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 743, LOCATE_parser_prod___AClassdef___empty_init};
+  struct trace_t trace = {NULL, NULL, 743, LOCATE_parser_prod___AClassdef___empty_init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AClassdef].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AClassdef].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AClassdef___init_aclassdef(val_t  self, val_t  param0, val_t  param1, val_t  param2, val_t  param3, val_t  param4, val_t  param5, val_t  param6, val_t  param7, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 745, LOCATE_parser_prod___AClassdef___init_aclassdef};
+  struct trace_t trace = {NULL, NULL, 745, LOCATE_parser_prod___AClassdef___init_aclassdef};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -1601,6 +1683,7 @@ void parser_prod___AClassdef___init_aclassdef(val_t  self, val_t  param0, val_t
     val_t variable9;
     val_t variable10;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 =  param1;
   variable2 =  param2;
@@ -1688,13 +1771,14 @@ void parser_prod___AClassdef___init_aclassdef(val_t  self, val_t  param0, val_t
   return;
 }
 void parser_prod___AClassdef___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 796, LOCATE_parser_prod___AClassdef___replace_child};
+  struct trace_t trace = {NULL, NULL, 796, LOCATE_parser_prod___AClassdef___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   val_t variable3;
     val_t variable4;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 =  param1;
   variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ ==  NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -1864,11 +1948,12 @@ void parser_prod___AClassdef___replace_child(val_t  self, val_t  param0, val_t
   return;
 }
 void parser_prod___AClassdef___visit_all(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 887, LOCATE_parser_prod___AClassdef___visit_all};
+  struct trace_t trace = {NULL, NULL, 887, LOCATE_parser_prod___AClassdef___visit_all};
   val_t variable0;
   val_t variable1;
     val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___AClassdef____n_doc( self) /*AClassdef::_n_doc*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 ==  NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -1937,11 +2022,12 @@ void parser_prod___AClassdef___visit_all(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AClassdef___visit_all_reverse(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 915, LOCATE_parser_prod___AClassdef___visit_all_reverse};
+  struct trace_t trace = {NULL, NULL, 915, LOCATE_parser_prod___AClassdef___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___AClassdef____n_doc( self) /*AClassdef::_n_doc*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 ==  NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -2019,20 +2105,22 @@ void parser_prod___AClassdef___visit_all_reverse(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___ATopClassdef___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 957, LOCATE_parser_prod___ATopClassdef___empty_init};
+  struct trace_t trace = {NULL, NULL, 957, LOCATE_parser_prod___ATopClassdef___empty_init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ATopClassdef].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ATopClassdef].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser_prod___ATopClassdef___init_atopclassdef(val_t  self, val_t  param0, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 959, LOCATE_parser_prod___ATopClassdef___init_atopclassdef};
+  struct trace_t trace = {NULL, NULL, 959, LOCATE_parser_prod___ATopClassdef___init_atopclassdef};
   val_t variable0;
   val_t variable1;
     val_t variable2;
     val_t variable3;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ATopClassdef].i]) return;
   variable1 = NEW_list___List___init(); /*new List[E]*/
@@ -2056,13 +2144,14 @@ void parser_prod___ATopClassdef___init_atopclassdef(val_t  self, val_t  param0,
   return;
 }
 void parser_prod___ATopClassdef___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 971, LOCATE_parser_prod___ATopClassdef___replace_child};
+  struct trace_t trace = {NULL, NULL, 971, LOCATE_parser_prod___ATopClassdef___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   val_t variable3;
     val_t variable4;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 =  param1;
   variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ ==  NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -2102,11 +2191,12 @@ void parser_prod___ATopClassdef___replace_child(val_t  self, val_t  param0, val_
   return;
 }
 void parser_prod___ATopClassdef___visit_all(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 988, LOCATE_parser_prod___ATopClassdef___visit_all};
+  struct trace_t trace = {NULL, NULL, 988, LOCATE_parser_prod___ATopClassdef___visit_all};
   val_t variable0;
   val_t variable1;
     val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___ATopClassdef____n_propdefs( self) /*ATopClassdef::_n_propdefs*/;
   variable1 = ((list___List___iterator_t)CALL(variable1,COLOR_abstract_collection___Collection___iterator))(variable1) /*List::iterator*/;
@@ -2123,11 +2213,12 @@ void parser_prod___ATopClassdef___visit_all(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___ATopClassdef___visit_all_reverse(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 995, LOCATE_parser_prod___ATopClassdef___visit_all_reverse};
+  struct trace_t trace = {NULL, NULL, 995, LOCATE_parser_prod___ATopClassdef___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable2 = ATTR_parser_nodes___ATopClassdef____n_propdefs( self) /*ATopClassdef::_n_propdefs*/;
   variable2 = ((list___List___length_t)CALL(variable2,COLOR_abstract_collection___Collection___length))(variable2) /*List::length*/;
@@ -2147,20 +2238,22 @@ void parser_prod___ATopClassdef___visit_all_reverse(val_t  self, val_t  param0)
   return;
 }
 void parser_prod___AMainClassdef___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 1008, LOCATE_parser_prod___AMainClassdef___empty_init};
+  struct trace_t trace = {NULL, NULL, 1008, LOCATE_parser_prod___AMainClassdef___empty_init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AMainClassdef].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AMainClassdef].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AMainClassdef___init_amainclassdef(val_t  self, val_t  param0, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 1010, LOCATE_parser_prod___AMainClassdef___init_amainclassdef};
+  struct trace_t trace = {NULL, NULL, 1010, LOCATE_parser_prod___AMainClassdef___init_amainclassdef};
   val_t variable0;
   val_t variable1;
     val_t variable2;
     val_t variable3;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AMainClassdef].i]) return;
   variable1 = NEW_list___List___init(); /*new List[E]*/
@@ -2184,13 +2277,14 @@ void parser_prod___AMainClassdef___init_amainclassdef(val_t  self, val_t  param0
   return;
 }
 void parser_prod___AMainClassdef___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 1022, LOCATE_parser_prod___AMainClassdef___replace_child};
+  struct trace_t trace = {NULL, NULL, 1022, LOCATE_parser_prod___AMainClassdef___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   val_t variable3;
     val_t variable4;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 =  param1;
   variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ ==  NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -2230,11 +2324,12 @@ void parser_prod___AMainClassdef___replace_child(val_t  self, val_t  param0, val
   return;
 }
 void parser_prod___AMainClassdef___visit_all(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 1039, LOCATE_parser_prod___AMainClassdef___visit_all};
+  struct trace_t trace = {NULL, NULL, 1039, LOCATE_parser_prod___AMainClassdef___visit_all};
   val_t variable0;
   val_t variable1;
     val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___AMainClassdef____n_propdefs( self) /*AMainClassdef::_n_propdefs*/;
   variable1 = ((list___List___iterator_t)CALL(variable1,COLOR_abstract_collection___Collection___iterator))(variable1) /*List::iterator*/;
@@ -2251,11 +2346,12 @@ void parser_prod___AMainClassdef___visit_all(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AMainClassdef___visit_all_reverse(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 1046, LOCATE_parser_prod___AMainClassdef___visit_all_reverse};
+  struct trace_t trace = {NULL, NULL, 1046, LOCATE_parser_prod___AMainClassdef___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable2 = ATTR_parser_nodes___AMainClassdef____n_propdefs( self) /*AMainClassdef::_n_propdefs*/;
   variable2 = ((list___List___length_t)CALL(variable2,COLOR_abstract_collection___Collection___length))(variable2) /*List::length*/;
@@ -2275,10 +2371,11 @@ void parser_prod___AMainClassdef___visit_all_reverse(val_t  self, val_t  param0)
   return;
 }
 void parser_prod___AConcreteClasskind___n_kwclass__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 1058, LOCATE_parser_prod___AConcreteClasskind___n_kwclass__eq};
+  struct trace_t trace = {NULL, NULL, 1058, LOCATE_parser_prod___AConcreteClasskind___n_kwclass__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   ATTR_parser_nodes___AConcreteClasskind____n_kwclass( self) /*AConcreteClasskind::_n_kwclass*/ =  variable0 /*n*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ ==  NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -2289,18 +2386,20 @@ void parser_prod___AConcreteClasskind___n_kwclass__eq(val_t  self, val_t  param0
   return;
 }
 void parser_prod___AConcreteClasskind___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 1066, LOCATE_parser_prod___AConcreteClasskind___empty_init};
+  struct trace_t trace = {NULL, NULL, 1066, LOCATE_parser_prod___AConcreteClasskind___empty_init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AConcreteClasskind].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AConcreteClasskind].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AConcreteClasskind___init_aconcreteclasskind(val_t  self, val_t  param0, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 1068, LOCATE_parser_prod___AConcreteClasskind___init_aconcreteclasskind};
+  struct trace_t trace = {NULL, NULL, 1068, LOCATE_parser_prod___AConcreteClasskind___init_aconcreteclasskind};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AConcreteClasskind].i]) return;
   ATTR_parser_nodes___AConcreteClasskind____n_kwclass( self) /*AConcreteClasskind::_n_kwclass*/ =  variable0 /*n_kwclass*/;
@@ -2313,11 +2412,12 @@ void parser_prod___AConcreteClasskind___init_aconcreteclasskind(val_t  self, val
   return;
 }
 void parser_prod___AConcreteClasskind___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 1078, LOCATE_parser_prod___AConcreteClasskind___replace_child};
+  struct trace_t trace = {NULL, NULL, 1078, LOCATE_parser_prod___AConcreteClasskind___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 =  param1;
   variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ ==  NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -2341,10 +2441,11 @@ void parser_prod___AConcreteClasskind___replace_child(val_t  self, val_t  param0
   return;
 }
 void parser_prod___AConcreteClasskind___visit_all(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 1093, LOCATE_parser_prod___AConcreteClasskind___visit_all};
+  struct trace_t trace = {NULL, NULL, 1093, LOCATE_parser_prod___AConcreteClasskind___visit_all};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___AConcreteClasskind____n_kwclass( self) /*AConcreteClasskind::_n_kwclass*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 ==  NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -2356,10 +2457,11 @@ void parser_prod___AConcreteClasskind___visit_all(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AConcreteClasskind___visit_all_reverse(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 1100, LOCATE_parser_prod___AConcreteClasskind___visit_all_reverse};
+  struct trace_t trace = {NULL, NULL, 1100, LOCATE_parser_prod___AConcreteClasskind___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___AConcreteClasskind____n_kwclass( self) /*AConcreteClasskind::_n_kwclass*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 ==  NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -2371,10 +2473,11 @@ void parser_prod___AConcreteClasskind___visit_all_reverse(val_t  self, val_t  pa
   return;
 }
 void parser_prod___AAbstractClasskind___n_kwabstract__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 1108, LOCATE_parser_prod___AAbstractClasskind___n_kwabstract__eq};
+  struct trace_t trace = {NULL, NULL, 1108, LOCATE_parser_prod___AAbstractClasskind___n_kwabstract__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   ATTR_parser_nodes___AAbstractClasskind____n_kwabstract( self) /*AAbstractClasskind::_n_kwabstract*/ =  variable0 /*n*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ ==  NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -2385,10 +2488,11 @@ void parser_prod___AAbstractClasskind___n_kwabstract__eq(val_t  self, val_t  par
   return;
 }
 void parser_prod___AAbstractClasskind___n_kwclass__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 1115, LOCATE_parser_prod___AAbstractClasskind___n_kwclass__eq};
+  struct trace_t trace = {NULL, NULL, 1115, LOCATE_parser_prod___AAbstractClasskind___n_kwclass__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   ATTR_parser_nodes___AAbstractClasskind____n_kwclass( self) /*AAbstractClasskind::_n_kwclass*/ =  variable0 /*n*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ ==  NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -2399,19 +2503,21 @@ void parser_prod___AAbstractClasskind___n_kwclass__eq(val_t  self, val_t  param0
   return;
 }
 void parser_prod___AAbstractClasskind___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 1123, LOCATE_parser_prod___AAbstractClasskind___empty_init};
+  struct trace_t trace = {NULL, NULL, 1123, LOCATE_parser_prod___AAbstractClasskind___empty_init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AAbstractClasskind].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AAbstractClasskind].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AAbstractClasskind___init_aabstractclasskind(val_t  self, val_t  param0, val_t  param1, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 1125, LOCATE_parser_prod___AAbstractClasskind___init_aabstractclasskind};
+  struct trace_t trace = {NULL, NULL, 1125, LOCATE_parser_prod___AAbstractClasskind___init_aabstractclasskind};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 =  param1;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AAbstractClasskind].i]) return;
@@ -2430,11 +2536,12 @@ void parser_prod___AAbstractClasskind___init_aabstractclasskind(val_t  self, val
   return;
 }
 void parser_prod___AAbstractClasskind___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 1140, LOCATE_parser_prod___AAbstractClasskind___replace_child};
+  struct trace_t trace = {NULL, NULL, 1140, LOCATE_parser_prod___AAbstractClasskind___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 =  param1;
   variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ ==  NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -2472,10 +2579,11 @@ void parser_prod___AAbstractClasskind___replace_child(val_t  self, val_t  param0
   return;
 }
 void parser_prod___AAbstractClasskind___visit_all(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 1165, LOCATE_parser_prod___AAbstractClasskind___visit_all};
+  struct trace_t trace = {NULL, NULL, 1165, LOCATE_parser_prod___AAbstractClasskind___visit_all};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___AAbstractClasskind____n_kwabstract( self) /*AAbstractClasskind::_n_kwabstract*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 ==  NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -2493,10 +2601,11 @@ void parser_prod___AAbstractClasskind___visit_all(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AAbstractClasskind___visit_all_reverse(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 1175, LOCATE_parser_prod___AAbstractClasskind___visit_all_reverse};
+  struct trace_t trace = {NULL, NULL, 1175, LOCATE_parser_prod___AAbstractClasskind___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___AAbstractClasskind____n_kwabstract( self) /*AAbstractClasskind::_n_kwabstract*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 ==  NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -2514,10 +2623,11 @@ void parser_prod___AAbstractClasskind___visit_all_reverse(val_t  self, val_t  pa
   return;
 }
 void parser_prod___AInterfaceClasskind___n_kwinterface__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 1186, LOCATE_parser_prod___AInterfaceClasskind___n_kwinterface__eq};
+  struct trace_t trace = {NULL, NULL, 1186, LOCATE_parser_prod___AInterfaceClasskind___n_kwinterface__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   ATTR_parser_nodes___AInterfaceClasskind____n_kwinterface( self) /*AInterfaceClasskind::_n_kwinterface*/ =  variable0 /*n*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ ==  NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -2528,18 +2638,20 @@ void parser_prod___AInterfaceClasskind___n_kwinterface__eq(val_t  self, val_t  p
   return;
 }
 void parser_prod___AInterfaceClasskind___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 1194, LOCATE_parser_prod___AInterfaceClasskind___empty_init};
+  struct trace_t trace = {NULL, NULL, 1194, LOCATE_parser_prod___AInterfaceClasskind___empty_init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AInterfaceClasskind].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AInterfaceClasskind].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AInterfaceClasskind___init_ainterfaceclasskind(val_t  self, val_t  param0, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 1196, LOCATE_parser_prod___AInterfaceClasskind___init_ainterfaceclasskind};
+  struct trace_t trace = {NULL, NULL, 1196, LOCATE_parser_prod___AInterfaceClasskind___init_ainterfaceclasskind};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AInterfaceClasskind].i]) return;
   ATTR_parser_nodes___AInterfaceClasskind____n_kwinterface( self) /*AInterfaceClasskind::_n_kwinterface*/ =  variable0 /*n_kwinterface*/;
@@ -2552,11 +2664,12 @@ void parser_prod___AInterfaceClasskind___init_ainterfaceclasskind(val_t  self, v
   return;
 }
 void parser_prod___AInterfaceClasskind___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 1206, LOCATE_parser_prod___AInterfaceClasskind___replace_child};
+  struct trace_t trace = {NULL, NULL, 1206, LOCATE_parser_prod___AInterfaceClasskind___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 =  param1;
   variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ ==  NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -2580,10 +2693,11 @@ void parser_prod___AInterfaceClasskind___replace_child(val_t  self, val_t  param
   return;
 }
 void parser_prod___AInterfaceClasskind___visit_all(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 1221, LOCATE_parser_prod___AInterfaceClasskind___visit_all};
+  struct trace_t trace = {NULL, NULL, 1221, LOCATE_parser_prod___AInterfaceClasskind___visit_all};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___AInterfaceClasskind____n_kwinterface( self) /*AInterfaceClasskind::_n_kwinterface*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 ==  NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -2595,10 +2709,11 @@ void parser_prod___AInterfaceClasskind___visit_all(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AInterfaceClasskind___visit_all_reverse(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 1228, LOCATE_parser_prod___AInterfaceClasskind___visit_all_reverse};
+  struct trace_t trace = {NULL, NULL, 1228, LOCATE_parser_prod___AInterfaceClasskind___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___AInterfaceClasskind____n_kwinterface( self) /*AInterfaceClasskind::_n_kwinterface*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 ==  NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -2610,10 +2725,11 @@ void parser_prod___AInterfaceClasskind___visit_all_reverse(val_t  self, val_t  p
   return;
 }
 void parser_prod___AUniversalClasskind___n_kwuniversal__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 1236, LOCATE_parser_prod___AUniversalClasskind___n_kwuniversal__eq};
+  struct trace_t trace = {NULL, NULL, 1236, LOCATE_parser_prod___AUniversalClasskind___n_kwuniversal__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   ATTR_parser_nodes___AUniversalClasskind____n_kwuniversal( self) /*AUniversalClasskind::_n_kwuniversal*/ =  variable0 /*n*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ ==  NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -2624,18 +2740,20 @@ void parser_prod___AUniversalClasskind___n_kwuniversal__eq(val_t  self, val_t  p
   return;
 }
 void parser_prod___AUniversalClasskind___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 1244, LOCATE_parser_prod___AUniversalClasskind___empty_init};
+  struct trace_t trace = {NULL, NULL, 1244, LOCATE_parser_prod___AUniversalClasskind___empty_init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AUniversalClasskind].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AUniversalClasskind].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AUniversalClasskind___init_auniversalclasskind(val_t  self, val_t  param0, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 1246, LOCATE_parser_prod___AUniversalClasskind___init_auniversalclasskind};
+  struct trace_t trace = {NULL, NULL, 1246, LOCATE_parser_prod___AUniversalClasskind___init_auniversalclasskind};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AUniversalClasskind].i]) return;
   ATTR_parser_nodes___AUniversalClasskind____n_kwuniversal( self) /*AUniversalClasskind::_n_kwuniversal*/ =  variable0 /*n_kwuniversal*/;
@@ -2648,11 +2766,12 @@ void parser_prod___AUniversalClasskind___init_auniversalclasskind(val_t  self, v
   return;
 }
 void parser_prod___AUniversalClasskind___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 1256, LOCATE_parser_prod___AUniversalClasskind___replace_child};
+  struct trace_t trace = {NULL, NULL, 1256, LOCATE_parser_prod___AUniversalClasskind___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 =  param1;
   variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ ==  NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -2676,10 +2795,11 @@ void parser_prod___AUniversalClasskind___replace_child(val_t  self, val_t  param
   return;
 }
 void parser_prod___AUniversalClasskind___visit_all(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 1271, LOCATE_parser_prod___AUniversalClasskind___visit_all};
+  struct trace_t trace = {NULL, NULL, 1271, LOCATE_parser_prod___AUniversalClasskind___visit_all};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___AUniversalClasskind____n_kwuniversal( self) /*AUniversalClasskind::_n_kwuniversal*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 ==  NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -2691,10 +2811,11 @@ void parser_prod___AUniversalClasskind___visit_all(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AUniversalClasskind___visit_all_reverse(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 1278, LOCATE_parser_prod___AUniversalClasskind___visit_all_reverse};
+  struct trace_t trace = {NULL, NULL, 1278, LOCATE_parser_prod___AUniversalClasskind___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___AUniversalClasskind____n_kwuniversal( self) /*AUniversalClasskind::_n_kwuniversal*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 ==  NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -2706,10 +2827,11 @@ void parser_prod___AUniversalClasskind___visit_all_reverse(val_t  self, val_t  p
   return;
 }
 void parser_prod___AFormaldef___n_id__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 1286, LOCATE_parser_prod___AFormaldef___n_id__eq};
+  struct trace_t trace = {NULL, NULL, 1286, LOCATE_parser_prod___AFormaldef___n_id__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   ATTR_parser_nodes___AFormaldef____n_id( self) /*AFormaldef::_n_id*/ =  variable0 /*n*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ ==  NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -2720,10 +2842,11 @@ void parser_prod___AFormaldef___n_id__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AFormaldef___n_type__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 1293, LOCATE_parser_prod___AFormaldef___n_type__eq};
+  struct trace_t trace = {NULL, NULL, 1293, LOCATE_parser_prod___AFormaldef___n_type__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   ATTR_parser_nodes___AFormaldef____n_type( self) /*AFormaldef::_n_type*/ =  variable0 /*n*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ ==  NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -2734,19 +2857,21 @@ void parser_prod___AFormaldef___n_type__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AFormaldef___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 1301, LOCATE_parser_prod___AFormaldef___empty_init};
+  struct trace_t trace = {NULL, NULL, 1301, LOCATE_parser_prod___AFormaldef___empty_init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AFormaldef].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AFormaldef].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AFormaldef___init_aformaldef(val_t  self, val_t  param0, val_t  param1, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 1303, LOCATE_parser_prod___AFormaldef___init_aformaldef};
+  struct trace_t trace = {NULL, NULL, 1303, LOCATE_parser_prod___AFormaldef___init_aformaldef};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 =  param1;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AFormaldef].i]) return;
@@ -2765,11 +2890,12 @@ void parser_prod___AFormaldef___init_aformaldef(val_t  self, val_t  param0, val_
   return;
 }
 void parser_prod___AFormaldef___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 1318, LOCATE_parser_prod___AFormaldef___replace_child};
+  struct trace_t trace = {NULL, NULL, 1318, LOCATE_parser_prod___AFormaldef___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 =  param1;
   variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ ==  NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -2807,10 +2933,11 @@ void parser_prod___AFormaldef___replace_child(val_t  self, val_t  param0, val_t
   return;
 }
 void parser_prod___AFormaldef___visit_all(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 1343, LOCATE_parser_prod___AFormaldef___visit_all};
+  struct trace_t trace = {NULL, NULL, 1343, LOCATE_parser_prod___AFormaldef___visit_all};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___AFormaldef____n_id( self) /*AFormaldef::_n_id*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 ==  NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -2828,10 +2955,11 @@ void parser_prod___AFormaldef___visit_all(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AFormaldef___visit_all_reverse(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 1353, LOCATE_parser_prod___AFormaldef___visit_all_reverse};
+  struct trace_t trace = {NULL, NULL, 1353, LOCATE_parser_prod___AFormaldef___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___AFormaldef____n_id( self) /*AFormaldef::_n_id*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 ==  NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -2849,10 +2977,11 @@ void parser_prod___AFormaldef___visit_all_reverse(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___ASuperclass___n_kwspecial__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 1364, LOCATE_parser_prod___ASuperclass___n_kwspecial__eq};
+  struct trace_t trace = {NULL, NULL, 1364, LOCATE_parser_prod___ASuperclass___n_kwspecial__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   ATTR_parser_nodes___ASuperclass____n_kwspecial( self) /*ASuperclass::_n_kwspecial*/ =  variable0 /*n*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ ==  NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -2863,10 +2992,11 @@ void parser_prod___ASuperclass___n_kwspecial__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___ASuperclass___n_type__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 1371, LOCATE_parser_prod___ASuperclass___n_type__eq};
+  struct trace_t trace = {NULL, NULL, 1371, LOCATE_parser_prod___ASuperclass___n_type__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   ATTR_parser_nodes___ASuperclass____n_type( self) /*ASuperclass::_n_type*/ =  variable0 /*n*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ ==  NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -2877,19 +3007,21 @@ void parser_prod___ASuperclass___n_type__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___ASuperclass___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 1379, LOCATE_parser_prod___ASuperclass___empty_init};
+  struct trace_t trace = {NULL, NULL, 1379, LOCATE_parser_prod___ASuperclass___empty_init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ASuperclass].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ASuperclass].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser_prod___ASuperclass___init_asuperclass(val_t  self, val_t  param0, val_t  param1, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 1381, LOCATE_parser_prod___ASuperclass___init_asuperclass};
+  struct trace_t trace = {NULL, NULL, 1381, LOCATE_parser_prod___ASuperclass___init_asuperclass};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 =  param1;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ASuperclass].i]) return;
@@ -2908,11 +3040,12 @@ void parser_prod___ASuperclass___init_asuperclass(val_t  self, val_t  param0, va
   return;
 }
 void parser_prod___ASuperclass___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 1396, LOCATE_parser_prod___ASuperclass___replace_child};
+  struct trace_t trace = {NULL, NULL, 1396, LOCATE_parser_prod___ASuperclass___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 =  param1;
   variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ ==  NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -2950,10 +3083,11 @@ void parser_prod___ASuperclass___replace_child(val_t  self, val_t  param0, val_t
   return;
 }
 void parser_prod___ASuperclass___visit_all(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 1421, LOCATE_parser_prod___ASuperclass___visit_all};
+  struct trace_t trace = {NULL, NULL, 1421, LOCATE_parser_prod___ASuperclass___visit_all};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___ASuperclass____n_kwspecial( self) /*ASuperclass::_n_kwspecial*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 ==  NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -2971,10 +3105,11 @@ void parser_prod___ASuperclass___visit_all(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___ASuperclass___visit_all_reverse(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 1431, LOCATE_parser_prod___ASuperclass___visit_all_reverse};
+  struct trace_t trace = {NULL, NULL, 1431, LOCATE_parser_prod___ASuperclass___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___ASuperclass____n_kwspecial( self) /*ASuperclass::_n_kwspecial*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 ==  NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -2992,10 +3127,11 @@ void parser_prod___ASuperclass___visit_all_reverse(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AAttrPropdef___n_doc__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 1442, LOCATE_parser_prod___AAttrPropdef___n_doc__eq};
+  struct trace_t trace = {NULL, NULL, 1442, LOCATE_parser_prod___AAttrPropdef___n_doc__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   ATTR_parser_nodes___PPropdef____n_doc( self) /*PPropdef::_n_doc*/ =  variable0 /*n*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ ==  NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -3006,10 +3142,11 @@ void parser_prod___AAttrPropdef___n_doc__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AAttrPropdef___n_readable__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 1449, LOCATE_parser_prod___AAttrPropdef___n_readable__eq};
+  struct trace_t trace = {NULL, NULL, 1449, LOCATE_parser_prod___AAttrPropdef___n_readable__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   ATTR_parser_nodes___AAttrPropdef____n_readable( self) /*AAttrPropdef::_n_readable*/ =  variable0 /*n*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ ==  NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -3020,10 +3157,11 @@ void parser_prod___AAttrPropdef___n_readable__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AAttrPropdef___n_writable__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 1456, LOCATE_parser_prod___AAttrPropdef___n_writable__eq};
+  struct trace_t trace = {NULL, NULL, 1456, LOCATE_parser_prod___AAttrPropdef___n_writable__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   ATTR_parser_nodes___AAttrPropdef____n_writable( self) /*AAttrPropdef::_n_writable*/ =  variable0 /*n*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ ==  NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -3034,10 +3172,11 @@ void parser_prod___AAttrPropdef___n_writable__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AAttrPropdef___n_kwredef__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 1463, LOCATE_parser_prod___AAttrPropdef___n_kwredef__eq};
+  struct trace_t trace = {NULL, NULL, 1463, LOCATE_parser_prod___AAttrPropdef___n_kwredef__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   ATTR_parser_nodes___AAttrPropdef____n_kwredef( self) /*AAttrPropdef::_n_kwredef*/ =  variable0 /*n*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ ==  NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -3048,10 +3187,11 @@ void parser_prod___AAttrPropdef___n_kwredef__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AAttrPropdef___n_visibility__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 1470, LOCATE_parser_prod___AAttrPropdef___n_visibility__eq};
+  struct trace_t trace = {NULL, NULL, 1470, LOCATE_parser_prod___AAttrPropdef___n_visibility__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   ATTR_parser_nodes___AAttrPropdef____n_visibility( self) /*AAttrPropdef::_n_visibility*/ =  variable0 /*n*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ ==  NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -3062,10 +3202,11 @@ void parser_prod___AAttrPropdef___n_visibility__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AAttrPropdef___n_kwattr__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 1477, LOCATE_parser_prod___AAttrPropdef___n_kwattr__eq};
+  struct trace_t trace = {NULL, NULL, 1477, LOCATE_parser_prod___AAttrPropdef___n_kwattr__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   ATTR_parser_nodes___AAttrPropdef____n_kwattr( self) /*AAttrPropdef::_n_kwattr*/ =  variable0 /*n*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ ==  NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -3076,10 +3217,11 @@ void parser_prod___AAttrPropdef___n_kwattr__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AAttrPropdef___n_id__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 1484, LOCATE_parser_prod___AAttrPropdef___n_id__eq};
+  struct trace_t trace = {NULL, NULL, 1484, LOCATE_parser_prod___AAttrPropdef___n_id__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   ATTR_parser_nodes___AAttrPropdef____n_id( self) /*AAttrPropdef::_n_id*/ =  variable0 /*n*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ ==  NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -3090,10 +3232,11 @@ void parser_prod___AAttrPropdef___n_id__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AAttrPropdef___n_type__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 1491, LOCATE_parser_prod___AAttrPropdef___n_type__eq};
+  struct trace_t trace = {NULL, NULL, 1491, LOCATE_parser_prod___AAttrPropdef___n_type__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   ATTR_parser_nodes___AAttrPropdef____n_type( self) /*AAttrPropdef::_n_type*/ =  variable0 /*n*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ ==  NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -3104,10 +3247,11 @@ void parser_prod___AAttrPropdef___n_type__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AAttrPropdef___n_expr__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 1498, LOCATE_parser_prod___AAttrPropdef___n_expr__eq};
+  struct trace_t trace = {NULL, NULL, 1498, LOCATE_parser_prod___AAttrPropdef___n_expr__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   ATTR_parser_nodes___AAttrPropdef____n_expr( self) /*AAttrPropdef::_n_expr*/ =  variable0 /*n*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ ==  NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -3118,15 +3262,16 @@ void parser_prod___AAttrPropdef___n_expr__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AAttrPropdef___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 1506, LOCATE_parser_prod___AAttrPropdef___empty_init};
+  struct trace_t trace = {NULL, NULL, 1506, LOCATE_parser_prod___AAttrPropdef___empty_init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AAttrPropdef].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AAttrPropdef].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AAttrPropdef___init_aattrpropdef(val_t  self, val_t  param0, val_t  param1, val_t  param2, val_t  param3, val_t  param4, val_t  param5, val_t  param6, val_t  param7, val_t  param8, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 1508, LOCATE_parser_prod___AAttrPropdef___init_aattrpropdef};
+  struct trace_t trace = {NULL, NULL, 1508, LOCATE_parser_prod___AAttrPropdef___init_aattrpropdef};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -3138,6 +3283,7 @@ void parser_prod___AAttrPropdef___init_aattrpropdef(val_t  self, val_t  param0,
   val_t variable8;
   val_t variable9;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 =  param1;
   variable2 =  param2;
@@ -3198,11 +3344,12 @@ void parser_prod___AAttrPropdef___init_aattrpropdef(val_t  self, val_t  param0,
   return;
 }
 void parser_prod___AAttrPropdef___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 1558, LOCATE_parser_prod___AAttrPropdef___replace_child};
+  struct trace_t trace = {NULL, NULL, 1558, LOCATE_parser_prod___AAttrPropdef___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 =  param1;
   variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ ==  NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -3338,10 +3485,11 @@ void parser_prod___AAttrPropdef___replace_child(val_t  self, val_t  param0, val_
   return;
 }
 void parser_prod___AAttrPropdef___visit_all(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 1653, LOCATE_parser_prod___AAttrPropdef___visit_all};
+  struct trace_t trace = {NULL, NULL, 1653, LOCATE_parser_prod___AAttrPropdef___visit_all};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___PPropdef____n_doc( self) /*PPropdef::_n_doc*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 ==  NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -3401,10 +3549,11 @@ void parser_prod___AAttrPropdef___visit_all(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AAttrPropdef___visit_all_reverse(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 1684, LOCATE_parser_prod___AAttrPropdef___visit_all_reverse};
+  struct trace_t trace = {NULL, NULL, 1684, LOCATE_parser_prod___AAttrPropdef___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___PPropdef____n_doc( self) /*PPropdef::_n_doc*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 ==  NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -3464,10 +3613,11 @@ void parser_prod___AAttrPropdef___visit_all_reverse(val_t  self, val_t  param0)
   return;
 }
 void parser_prod___AMethPropdef___n_doc__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 1716, LOCATE_parser_prod___AMethPropdef___n_doc__eq};
+  struct trace_t trace = {NULL, NULL, 1716, LOCATE_parser_prod___AMethPropdef___n_doc__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   ATTR_parser_nodes___PPropdef____n_doc( self) /*PPropdef::_n_doc*/ =  variable0 /*n*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ ==  NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -3478,10 +3628,11 @@ void parser_prod___AMethPropdef___n_doc__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AMethPropdef___n_kwredef__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 1723, LOCATE_parser_prod___AMethPropdef___n_kwredef__eq};
+  struct trace_t trace = {NULL, NULL, 1723, LOCATE_parser_prod___AMethPropdef___n_kwredef__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   ATTR_parser_nodes___AMethPropdef____n_kwredef( self) /*AMethPropdef::_n_kwredef*/ =  variable0 /*n*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ ==  NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -3492,10 +3643,11 @@ void parser_prod___AMethPropdef___n_kwredef__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AMethPropdef___n_visibility__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 1730, LOCATE_parser_prod___AMethPropdef___n_visibility__eq};
+  struct trace_t trace = {NULL, NULL, 1730, LOCATE_parser_prod___AMethPropdef___n_visibility__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   ATTR_parser_nodes___AMethPropdef____n_visibility( self) /*AMethPropdef::_n_visibility*/ =  variable0 /*n*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ ==  NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -3506,10 +3658,11 @@ void parser_prod___AMethPropdef___n_visibility__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AMethPropdef___n_methid__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 1737, LOCATE_parser_prod___AMethPropdef___n_methid__eq};
+  struct trace_t trace = {NULL, NULL, 1737, LOCATE_parser_prod___AMethPropdef___n_methid__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   ATTR_parser_nodes___AMethPropdef____n_methid( self) /*AMethPropdef::_n_methid*/ =  variable0 /*n*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ ==  NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -3520,10 +3673,11 @@ void parser_prod___AMethPropdef___n_methid__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AMethPropdef___n_signature__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 1744, LOCATE_parser_prod___AMethPropdef___n_signature__eq};
+  struct trace_t trace = {NULL, NULL, 1744, LOCATE_parser_prod___AMethPropdef___n_signature__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   ATTR_parser_nodes___AMethPropdef____n_signature( self) /*AMethPropdef::_n_signature*/ =  variable0 /*n*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ ==  NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -3534,15 +3688,16 @@ void parser_prod___AMethPropdef___n_signature__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AMethPropdef___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 1752, LOCATE_parser_prod___AMethPropdef___empty_init};
+  struct trace_t trace = {NULL, NULL, 1752, LOCATE_parser_prod___AMethPropdef___empty_init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AMethPropdef].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AMethPropdef].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AMethPropdef___init_amethpropdef(val_t  self, val_t  param0, val_t  param1, val_t  param2, val_t  param3, val_t  param4, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 1754, LOCATE_parser_prod___AMethPropdef___init_amethpropdef};
+  struct trace_t trace = {NULL, NULL, 1754, LOCATE_parser_prod___AMethPropdef___init_amethpropdef};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -3550,6 +3705,7 @@ void parser_prod___AMethPropdef___init_amethpropdef(val_t  self, val_t  param0,
   val_t variable4;
   val_t variable5;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 =  param1;
   variable2 =  param2;
@@ -3586,11 +3742,12 @@ void parser_prod___AMethPropdef___init_amethpropdef(val_t  self, val_t  param0,
   return;
 }
 void parser_prod___AMethPropdef___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 1784, LOCATE_parser_prod___AMethPropdef___replace_child};
+  struct trace_t trace = {NULL, NULL, 1784, LOCATE_parser_prod___AMethPropdef___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 =  param1;
   variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ ==  NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -3670,10 +3827,11 @@ void parser_prod___AMethPropdef___replace_child(val_t  self, val_t  param0, val_
   return;
 }
 void parser_prod___AMethPropdef___visit_all(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 1839, LOCATE_parser_prod___AMethPropdef___visit_all};
+  struct trace_t trace = {NULL, NULL, 1839, LOCATE_parser_prod___AMethPropdef___visit_all};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___PPropdef____n_doc( self) /*PPropdef::_n_doc*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 ==  NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -3709,10 +3867,11 @@ void parser_prod___AMethPropdef___visit_all(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AMethPropdef___visit_all_reverse(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 1858, LOCATE_parser_prod___AMethPropdef___visit_all_reverse};
+  struct trace_t trace = {NULL, NULL, 1858, LOCATE_parser_prod___AMethPropdef___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___PPropdef____n_doc( self) /*PPropdef::_n_doc*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 ==  NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -3748,10 +3907,11 @@ void parser_prod___AMethPropdef___visit_all_reverse(val_t  self, val_t  param0)
   return;
 }
 void parser_prod___ADeferredMethPropdef___n_doc__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 1878, LOCATE_parser_prod___ADeferredMethPropdef___n_doc__eq};
+  struct trace_t trace = {NULL, NULL, 1878, LOCATE_parser_prod___ADeferredMethPropdef___n_doc__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   ATTR_parser_nodes___PPropdef____n_doc( self) /*PPropdef::_n_doc*/ =  variable0 /*n*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ ==  NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -3762,10 +3922,11 @@ void parser_prod___ADeferredMethPropdef___n_doc__eq(val_t  self, val_t  param0)
   return;
 }
 void parser_prod___ADeferredMethPropdef___n_kwredef__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 1885, LOCATE_parser_prod___ADeferredMethPropdef___n_kwredef__eq};
+  struct trace_t trace = {NULL, NULL, 1885, LOCATE_parser_prod___ADeferredMethPropdef___n_kwredef__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   ATTR_parser_nodes___AMethPropdef____n_kwredef( self) /*AMethPropdef::_n_kwredef*/ =  variable0 /*n*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ ==  NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -3776,10 +3937,11 @@ void parser_prod___ADeferredMethPropdef___n_kwredef__eq(val_t  self, val_t  para
   return;
 }
 void parser_prod___ADeferredMethPropdef___n_visibility__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 1892, LOCATE_parser_prod___ADeferredMethPropdef___n_visibility__eq};
+  struct trace_t trace = {NULL, NULL, 1892, LOCATE_parser_prod___ADeferredMethPropdef___n_visibility__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   ATTR_parser_nodes___AMethPropdef____n_visibility( self) /*AMethPropdef::_n_visibility*/ =  variable0 /*n*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ ==  NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -3790,10 +3952,11 @@ void parser_prod___ADeferredMethPropdef___n_visibility__eq(val_t  self, val_t  p
   return;
 }
 void parser_prod___ADeferredMethPropdef___n_kwmeth__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 1899, LOCATE_parser_prod___ADeferredMethPropdef___n_kwmeth__eq};
+  struct trace_t trace = {NULL, NULL, 1899, LOCATE_parser_prod___ADeferredMethPropdef___n_kwmeth__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   ATTR_parser_nodes___ADeferredMethPropdef____n_kwmeth( self) /*ADeferredMethPropdef::_n_kwmeth*/ =  variable0 /*n*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ ==  NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -3804,10 +3967,11 @@ void parser_prod___ADeferredMethPropdef___n_kwmeth__eq(val_t  self, val_t  param
   return;
 }
 void parser_prod___ADeferredMethPropdef___n_methid__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 1906, LOCATE_parser_prod___ADeferredMethPropdef___n_methid__eq};
+  struct trace_t trace = {NULL, NULL, 1906, LOCATE_parser_prod___ADeferredMethPropdef___n_methid__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   ATTR_parser_nodes___AMethPropdef____n_methid( self) /*AMethPropdef::_n_methid*/ =  variable0 /*n*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ ==  NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -3818,10 +3982,11 @@ void parser_prod___ADeferredMethPropdef___n_methid__eq(val_t  self, val_t  param
   return;
 }
 void parser_prod___ADeferredMethPropdef___n_signature__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 1913, LOCATE_parser_prod___ADeferredMethPropdef___n_signature__eq};
+  struct trace_t trace = {NULL, NULL, 1913, LOCATE_parser_prod___ADeferredMethPropdef___n_signature__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   ATTR_parser_nodes___AMethPropdef____n_signature( self) /*AMethPropdef::_n_signature*/ =  variable0 /*n*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ ==  NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -3832,8 +3997,9 @@ void parser_prod___ADeferredMethPropdef___n_signature__eq(val_t  self, val_t  pa
   return;
 }
 void parser_prod___ADeferredMethPropdef___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 1921, LOCATE_parser_prod___ADeferredMethPropdef___empty_init};
+  struct trace_t trace = {NULL, NULL, 1921, LOCATE_parser_prod___ADeferredMethPropdef___empty_init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ADeferredMethPropdef].i]) return;
   ((parser_prod___AMethPropdef___empty_init_t)CALL( self,COLOR_parser_prod___AMethPropdef___empty_init))( self, init_table /*YYY*/) /*AMethPropdef::empty_init*/;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ADeferredMethPropdef].i] = 1;
@@ -3841,7 +4007,7 @@ void parser_prod___ADeferredMethPropdef___empty_init(val_t  self, int* init_tabl
   return;
 }
 void parser_prod___ADeferredMethPropdef___init_adeferredmethpropdef(val_t  self, val_t  param0, val_t  param1, val_t  param2, val_t  param3, val_t  param4, val_t  param5, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 1923, LOCATE_parser_prod___ADeferredMethPropdef___init_adeferredmethpropdef};
+  struct trace_t trace = {NULL, NULL, 1923, LOCATE_parser_prod___ADeferredMethPropdef___init_adeferredmethpropdef};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -3850,6 +4016,7 @@ void parser_prod___ADeferredMethPropdef___init_adeferredmethpropdef(val_t  self,
   val_t variable5;
   val_t variable6;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 =  param1;
   variable2 =  param2;
@@ -3893,11 +4060,12 @@ void parser_prod___ADeferredMethPropdef___init_adeferredmethpropdef(val_t  self,
   return;
 }
 void parser_prod___ADeferredMethPropdef___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 1958, LOCATE_parser_prod___ADeferredMethPropdef___replace_child};
+  struct trace_t trace = {NULL, NULL, 1958, LOCATE_parser_prod___ADeferredMethPropdef___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 =  param1;
   variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ ==  NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -3991,10 +4159,11 @@ void parser_prod___ADeferredMethPropdef___replace_child(val_t  self, val_t  para
   return;
 }
 void parser_prod___ADeferredMethPropdef___visit_all(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 2023, LOCATE_parser_prod___ADeferredMethPropdef___visit_all};
+  struct trace_t trace = {NULL, NULL, 2023, LOCATE_parser_prod___ADeferredMethPropdef___visit_all};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___PPropdef____n_doc( self) /*PPropdef::_n_doc*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 ==  NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -4036,10 +4205,11 @@ void parser_prod___ADeferredMethPropdef___visit_all(val_t  self, val_t  param0)
   return;
 }
 void parser_prod___ADeferredMethPropdef___visit_all_reverse(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 2045, LOCATE_parser_prod___ADeferredMethPropdef___visit_all_reverse};
+  struct trace_t trace = {NULL, NULL, 2045, LOCATE_parser_prod___ADeferredMethPropdef___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___PPropdef____n_doc( self) /*PPropdef::_n_doc*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 ==  NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -4081,10 +4251,11 @@ void parser_prod___ADeferredMethPropdef___visit_all_reverse(val_t  self, val_t
   return;
 }
 void parser_prod___AInternMethPropdef___n_doc__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 2068, LOCATE_parser_prod___AInternMethPropdef___n_doc__eq};
+  struct trace_t trace = {NULL, NULL, 2068, LOCATE_parser_prod___AInternMethPropdef___n_doc__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   ATTR_parser_nodes___PPropdef____n_doc( self) /*PPropdef::_n_doc*/ =  variable0 /*n*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ ==  NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -4095,10 +4266,11 @@ void parser_prod___AInternMethPropdef___n_doc__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AInternMethPropdef___n_kwredef__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 2075, LOCATE_parser_prod___AInternMethPropdef___n_kwredef__eq};
+  struct trace_t trace = {NULL, NULL, 2075, LOCATE_parser_prod___AInternMethPropdef___n_kwredef__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   ATTR_parser_nodes___AMethPropdef____n_kwredef( self) /*AMethPropdef::_n_kwredef*/ =  variable0 /*n*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ ==  NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -4109,10 +4281,11 @@ void parser_prod___AInternMethPropdef___n_kwredef__eq(val_t  self, val_t  param0
   return;
 }
 void parser_prod___AInternMethPropdef___n_visibility__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 2082, LOCATE_parser_prod___AInternMethPropdef___n_visibility__eq};
+  struct trace_t trace = {NULL, NULL, 2082, LOCATE_parser_prod___AInternMethPropdef___n_visibility__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   ATTR_parser_nodes___AMethPropdef____n_visibility( self) /*AMethPropdef::_n_visibility*/ =  variable0 /*n*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ ==  NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -4123,10 +4296,11 @@ void parser_prod___AInternMethPropdef___n_visibility__eq(val_t  self, val_t  par
   return;
 }
 void parser_prod___AInternMethPropdef___n_kwmeth__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 2089, LOCATE_parser_prod___AInternMethPropdef___n_kwmeth__eq};
+  struct trace_t trace = {NULL, NULL, 2089, LOCATE_parser_prod___AInternMethPropdef___n_kwmeth__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   ATTR_parser_nodes___AInternMethPropdef____n_kwmeth( self) /*AInternMethPropdef::_n_kwmeth*/ =  variable0 /*n*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ ==  NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -4137,10 +4311,11 @@ void parser_prod___AInternMethPropdef___n_kwmeth__eq(val_t  self, val_t  param0)
   return;
 }
 void parser_prod___AInternMethPropdef___n_methid__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 2096, LOCATE_parser_prod___AInternMethPropdef___n_methid__eq};
+  struct trace_t trace = {NULL, NULL, 2096, LOCATE_parser_prod___AInternMethPropdef___n_methid__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   ATTR_parser_nodes___AMethPropdef____n_methid( self) /*AMethPropdef::_n_methid*/ =  variable0 /*n*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ ==  NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -4151,10 +4326,11 @@ void parser_prod___AInternMethPropdef___n_methid__eq(val_t  self, val_t  param0)
   return;
 }
 void parser_prod___AInternMethPropdef___n_signature__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 2103, LOCATE_parser_prod___AInternMethPropdef___n_signature__eq};
+  struct trace_t trace = {NULL, NULL, 2103, LOCATE_parser_prod___AInternMethPropdef___n_signature__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   ATTR_parser_nodes___AMethPropdef____n_signature( self) /*AMethPropdef::_n_signature*/ =  variable0 /*n*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ ==  NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -4165,8 +4341,9 @@ void parser_prod___AInternMethPropdef___n_signature__eq(val_t  self, val_t  para
   return;
 }
 void parser_prod___AInternMethPropdef___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 2111, LOCATE_parser_prod___AInternMethPropdef___empty_init};
+  struct trace_t trace = {NULL, NULL, 2111, LOCATE_parser_prod___AInternMethPropdef___empty_init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AInternMethPropdef].i]) return;
   ((parser_prod___AMethPropdef___empty_init_t)CALL( self,COLOR_parser_prod___AMethPropdef___empty_init))( self, init_table /*YYY*/) /*AMethPropdef::empty_init*/;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AInternMethPropdef].i] = 1;
@@ -4174,7 +4351,7 @@ void parser_prod___AInternMethPropdef___empty_init(val_t  self, int* init_table)
   return;
 }
 void parser_prod___AInternMethPropdef___init_ainternmethpropdef(val_t  self, val_t  param0, val_t  param1, val_t  param2, val_t  param3, val_t  param4, val_t  param5, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 2113, LOCATE_parser_prod___AInternMethPropdef___init_ainternmethpropdef};
+  struct trace_t trace = {NULL, NULL, 2113, LOCATE_parser_prod___AInternMethPropdef___init_ainternmethpropdef};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -4183,6 +4360,7 @@ void parser_prod___AInternMethPropdef___init_ainternmethpropdef(val_t  self, val
   val_t variable5;
   val_t variable6;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 =  param1;
   variable2 =  param2;
@@ -4226,11 +4404,12 @@ void parser_prod___AInternMethPropdef___init_ainternmethpropdef(val_t  self, val
   return;
 }
 void parser_prod___AInternMethPropdef___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 2148, LOCATE_parser_prod___AInternMethPropdef___replace_child};
+  struct trace_t trace = {NULL, NULL, 2148, LOCATE_parser_prod___AInternMethPropdef___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 =  param1;
   variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ ==  NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -4324,10 +4503,11 @@ void parser_prod___AInternMethPropdef___replace_child(val_t  self, val_t  param0
   return;
 }
 void parser_prod___AInternMethPropdef___visit_all(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 2213, LOCATE_parser_prod___AInternMethPropdef___visit_all};
+  struct trace_t trace = {NULL, NULL, 2213, LOCATE_parser_prod___AInternMethPropdef___visit_all};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___PPropdef____n_doc( self) /*PPropdef::_n_doc*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 ==  NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -4369,10 +4549,11 @@ void parser_prod___AInternMethPropdef___visit_all(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AInternMethPropdef___visit_all_reverse(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 2235, LOCATE_parser_prod___AInternMethPropdef___visit_all_reverse};
+  struct trace_t trace = {NULL, NULL, 2235, LOCATE_parser_prod___AInternMethPropdef___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___PPropdef____n_doc( self) /*PPropdef::_n_doc*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 ==  NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -4414,10 +4595,11 @@ void parser_prod___AInternMethPropdef___visit_all_reverse(val_t  self, val_t  pa
   return;
 }
 void parser_prod___AExternMethPropdef___n_doc__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 2258, LOCATE_parser_prod___AExternMethPropdef___n_doc__eq};
+  struct trace_t trace = {NULL, NULL, 2258, LOCATE_parser_prod___AExternMethPropdef___n_doc__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   ATTR_parser_nodes___PPropdef____n_doc( self) /*PPropdef::_n_doc*/ =  variable0 /*n*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ ==  NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -4428,10 +4610,11 @@ void parser_prod___AExternMethPropdef___n_doc__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AExternMethPropdef___n_kwredef__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 2265, LOCATE_parser_prod___AExternMethPropdef___n_kwredef__eq};
+  struct trace_t trace = {NULL, NULL, 2265, LOCATE_parser_prod___AExternMethPropdef___n_kwredef__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   ATTR_parser_nodes___AMethPropdef____n_kwredef( self) /*AMethPropdef::_n_kwredef*/ =  variable0 /*n*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ ==  NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -4442,10 +4625,11 @@ void parser_prod___AExternMethPropdef___n_kwredef__eq(val_t  self, val_t  param0
   return;
 }
 void parser_prod___AExternMethPropdef___n_visibility__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 2272, LOCATE_parser_prod___AExternMethPropdef___n_visibility__eq};
+  struct trace_t trace = {NULL, NULL, 2272, LOCATE_parser_prod___AExternMethPropdef___n_visibility__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   ATTR_parser_nodes___AMethPropdef____n_visibility( self) /*AMethPropdef::_n_visibility*/ =  variable0 /*n*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ ==  NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -4456,10 +4640,11 @@ void parser_prod___AExternMethPropdef___n_visibility__eq(val_t  self, val_t  par
   return;
 }
 void parser_prod___AExternMethPropdef___n_kwmeth__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 2279, LOCATE_parser_prod___AExternMethPropdef___n_kwmeth__eq};
+  struct trace_t trace = {NULL, NULL, 2279, LOCATE_parser_prod___AExternMethPropdef___n_kwmeth__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   ATTR_parser_nodes___AExternMethPropdef____n_kwmeth( self) /*AExternMethPropdef::_n_kwmeth*/ =  variable0 /*n*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ ==  NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -4470,10 +4655,11 @@ void parser_prod___AExternMethPropdef___n_kwmeth__eq(val_t  self, val_t  param0)
   return;
 }
 void parser_prod___AExternMethPropdef___n_methid__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 2286, LOCATE_parser_prod___AExternMethPropdef___n_methid__eq};
+  struct trace_t trace = {NULL, NULL, 2286, LOCATE_parser_prod___AExternMethPropdef___n_methid__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   ATTR_parser_nodes___AMethPropdef____n_methid( self) /*AMethPropdef::_n_methid*/ =  variable0 /*n*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ ==  NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -4484,10 +4670,11 @@ void parser_prod___AExternMethPropdef___n_methid__eq(val_t  self, val_t  param0)
   return;
 }
 void parser_prod___AExternMethPropdef___n_signature__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 2293, LOCATE_parser_prod___AExternMethPropdef___n_signature__eq};
+  struct trace_t trace = {NULL, NULL, 2293, LOCATE_parser_prod___AExternMethPropdef___n_signature__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   ATTR_parser_nodes___AMethPropdef____n_signature( self) /*AMethPropdef::_n_signature*/ =  variable0 /*n*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ ==  NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -4498,10 +4685,11 @@ void parser_prod___AExternMethPropdef___n_signature__eq(val_t  self, val_t  para
   return;
 }
 void parser_prod___AExternMethPropdef___n_extern__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 2300, LOCATE_parser_prod___AExternMethPropdef___n_extern__eq};
+  struct trace_t trace = {NULL, NULL, 2300, LOCATE_parser_prod___AExternMethPropdef___n_extern__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   ATTR_parser_nodes___AExternMethPropdef____n_extern( self) /*AExternMethPropdef::_n_extern*/ =  variable0 /*n*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ ==  NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -4512,8 +4700,9 @@ void parser_prod___AExternMethPropdef___n_extern__eq(val_t  self, val_t  param0)
   return;
 }
 void parser_prod___AExternMethPropdef___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 2308, LOCATE_parser_prod___AExternMethPropdef___empty_init};
+  struct trace_t trace = {NULL, NULL, 2308, LOCATE_parser_prod___AExternMethPropdef___empty_init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AExternMethPropdef].i]) return;
   ((parser_prod___AMethPropdef___empty_init_t)CALL( self,COLOR_parser_prod___AMethPropdef___empty_init))( self, init_table /*YYY*/) /*AMethPropdef::empty_init*/;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AExternMethPropdef].i] = 1;
@@ -4521,7 +4710,7 @@ void parser_prod___AExternMethPropdef___empty_init(val_t  self, int* init_table)
   return;
 }
 void parser_prod___AExternMethPropdef___init_aexternmethpropdef(val_t  self, val_t  param0, val_t  param1, val_t  param2, val_t  param3, val_t  param4, val_t  param5, val_t  param6, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 2310, LOCATE_parser_prod___AExternMethPropdef___init_aexternmethpropdef};
+  struct trace_t trace = {NULL, NULL, 2310, LOCATE_parser_prod___AExternMethPropdef___init_aexternmethpropdef};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -4531,6 +4720,7 @@ void parser_prod___AExternMethPropdef___init_aexternmethpropdef(val_t  self, val
   val_t variable6;
   val_t variable7;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 =  param1;
   variable2 =  param2;
@@ -4580,11 +4770,12 @@ void parser_prod___AExternMethPropdef___init_aexternmethpropdef(val_t  self, val
   return;
 }
 void parser_prod___AExternMethPropdef___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 2350, LOCATE_parser_prod___AExternMethPropdef___replace_child};
+  struct trace_t trace = {NULL, NULL, 2350, LOCATE_parser_prod___AExternMethPropdef___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 =  param1;
   variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ ==  NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -4692,10 +4883,11 @@ void parser_prod___AExternMethPropdef___replace_child(val_t  self, val_t  param0
   return;
 }
 void parser_prod___AExternMethPropdef___visit_all(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 2425, LOCATE_parser_prod___AExternMethPropdef___visit_all};
+  struct trace_t trace = {NULL, NULL, 2425, LOCATE_parser_prod___AExternMethPropdef___visit_all};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___PPropdef____n_doc( self) /*PPropdef::_n_doc*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 ==  NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -4743,10 +4935,11 @@ void parser_prod___AExternMethPropdef___visit_all(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AExternMethPropdef___visit_all_reverse(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 2450, LOCATE_parser_prod___AExternMethPropdef___visit_all_reverse};
+  struct trace_t trace = {NULL, NULL, 2450, LOCATE_parser_prod___AExternMethPropdef___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___PPropdef____n_doc( self) /*PPropdef::_n_doc*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 ==  NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -4794,10 +4987,11 @@ void parser_prod___AExternMethPropdef___visit_all_reverse(val_t  self, val_t  pa
   return;
 }
 void parser_prod___AConcreteMethPropdef___n_doc__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 2476, LOCATE_parser_prod___AConcreteMethPropdef___n_doc__eq};
+  struct trace_t trace = {NULL, NULL, 2476, LOCATE_parser_prod___AConcreteMethPropdef___n_doc__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   ATTR_parser_nodes___PPropdef____n_doc( self) /*PPropdef::_n_doc*/ =  variable0 /*n*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ ==  NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -4808,10 +5002,11 @@ void parser_prod___AConcreteMethPropdef___n_doc__eq(val_t  self, val_t  param0)
   return;
 }
 void parser_prod___AConcreteMethPropdef___n_kwredef__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 2483, LOCATE_parser_prod___AConcreteMethPropdef___n_kwredef__eq};
+  struct trace_t trace = {NULL, NULL, 2483, LOCATE_parser_prod___AConcreteMethPropdef___n_kwredef__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   ATTR_parser_nodes___AMethPropdef____n_kwredef( self) /*AMethPropdef::_n_kwredef*/ =  variable0 /*n*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ ==  NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -4822,10 +5017,11 @@ void parser_prod___AConcreteMethPropdef___n_kwredef__eq(val_t  self, val_t  para
   return;
 }
 void parser_prod___AConcreteMethPropdef___n_visibility__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 2490, LOCATE_parser_prod___AConcreteMethPropdef___n_visibility__eq};
+  struct trace_t trace = {NULL, NULL, 2490, LOCATE_parser_prod___AConcreteMethPropdef___n_visibility__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   ATTR_parser_nodes___AMethPropdef____n_visibility( self) /*AMethPropdef::_n_visibility*/ =  variable0 /*n*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ ==  NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -4836,10 +5032,11 @@ void parser_prod___AConcreteMethPropdef___n_visibility__eq(val_t  self, val_t  p
   return;
 }
 void parser_prod___AConcreteMethPropdef___n_kwmeth__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 2497, LOCATE_parser_prod___AConcreteMethPropdef___n_kwmeth__eq};
+  struct trace_t trace = {NULL, NULL, 2497, LOCATE_parser_prod___AConcreteMethPropdef___n_kwmeth__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   ATTR_parser_nodes___AConcreteMethPropdef____n_kwmeth( self) /*AConcreteMethPropdef::_n_kwmeth*/ =  variable0 /*n*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ ==  NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -4850,10 +5047,11 @@ void parser_prod___AConcreteMethPropdef___n_kwmeth__eq(val_t  self, val_t  param
   return;
 }
 void parser_prod___AConcreteMethPropdef___n_methid__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 2504, LOCATE_parser_prod___AConcreteMethPropdef___n_methid__eq};
+  struct trace_t trace = {NULL, NULL, 2504, LOCATE_parser_prod___AConcreteMethPropdef___n_methid__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   ATTR_parser_nodes___AMethPropdef____n_methid( self) /*AMethPropdef::_n_methid*/ =  variable0 /*n*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ ==  NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -4864,10 +5062,11 @@ void parser_prod___AConcreteMethPropdef___n_methid__eq(val_t  self, val_t  param
   return;
 }
 void parser_prod___AConcreteMethPropdef___n_signature__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 2511, LOCATE_parser_prod___AConcreteMethPropdef___n_signature__eq};
+  struct trace_t trace = {NULL, NULL, 2511, LOCATE_parser_prod___AConcreteMethPropdef___n_signature__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   ATTR_parser_nodes___AMethPropdef____n_signature( self) /*AMethPropdef::_n_signature*/ =  variable0 /*n*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ ==  NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -4878,10 +5077,11 @@ void parser_prod___AConcreteMethPropdef___n_signature__eq(val_t  self, val_t  pa
   return;
 }
 void parser_prod___AConcreteMethPropdef___n_block__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 2518, LOCATE_parser_prod___AConcreteMethPropdef___n_block__eq};
+  struct trace_t trace = {NULL, NULL, 2518, LOCATE_parser_prod___AConcreteMethPropdef___n_block__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   ATTR_parser_nodes___AConcreteMethPropdef____n_block( self) /*AConcreteMethPropdef::_n_block*/ =  variable0 /*n*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ ==  NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -4892,8 +5092,9 @@ void parser_prod___AConcreteMethPropdef___n_block__eq(val_t  self, val_t  param0
   return;
 }
 void parser_prod___AConcreteMethPropdef___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 2526, LOCATE_parser_prod___AConcreteMethPropdef___empty_init};
+  struct trace_t trace = {NULL, NULL, 2526, LOCATE_parser_prod___AConcreteMethPropdef___empty_init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AConcreteMethPropdef].i]) return;
   ((parser_prod___AMethPropdef___empty_init_t)CALL( self,COLOR_parser_prod___AMethPropdef___empty_init))( self, init_table /*YYY*/) /*AMethPropdef::empty_init*/;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AConcreteMethPropdef].i] = 1;
@@ -4901,7 +5102,7 @@ void parser_prod___AConcreteMethPropdef___empty_init(val_t  self, int* init_tabl
   return;
 }
 void parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(val_t  self, val_t  param0, val_t  param1, val_t  param2, val_t  param3, val_t  param4, val_t  param5, val_t  param6, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 2528, LOCATE_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef};
+  struct trace_t trace = {NULL, NULL, 2528, LOCATE_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -4911,6 +5112,7 @@ void parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(val_t  self,
   val_t variable6;
   val_t variable7;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 =  param1;
   variable2 =  param2;
@@ -4960,11 +5162,12 @@ void parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(val_t  self,
   return;
 }
 void parser_prod___AConcreteMethPropdef___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 2568, LOCATE_parser_prod___AConcreteMethPropdef___replace_child};
+  struct trace_t trace = {NULL, NULL, 2568, LOCATE_parser_prod___AConcreteMethPropdef___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 =  param1;
   variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ ==  NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -5072,10 +5275,11 @@ void parser_prod___AConcreteMethPropdef___replace_child(val_t  self, val_t  para
   return;
 }
 void parser_prod___AConcreteMethPropdef___visit_all(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 2643, LOCATE_parser_prod___AConcreteMethPropdef___visit_all};
+  struct trace_t trace = {NULL, NULL, 2643, LOCATE_parser_prod___AConcreteMethPropdef___visit_all};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___PPropdef____n_doc( self) /*PPropdef::_n_doc*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 ==  NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -5123,10 +5327,11 @@ void parser_prod___AConcreteMethPropdef___visit_all(val_t  self, val_t  param0)
   return;
 }
 void parser_prod___AConcreteMethPropdef___visit_all_reverse(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 2668, LOCATE_parser_prod___AConcreteMethPropdef___visit_all_reverse};
+  struct trace_t trace = {NULL, NULL, 2668, LOCATE_parser_prod___AConcreteMethPropdef___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___PPropdef____n_doc( self) /*PPropdef::_n_doc*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 ==  NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -5174,10 +5379,11 @@ void parser_prod___AConcreteMethPropdef___visit_all_reverse(val_t  self, val_t
   return;
 }
 void parser_prod___AConcreteInitPropdef___n_doc__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 2694, LOCATE_parser_prod___AConcreteInitPropdef___n_doc__eq};
+  struct trace_t trace = {NULL, NULL, 2694, LOCATE_parser_prod___AConcreteInitPropdef___n_doc__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   ATTR_parser_nodes___PPropdef____n_doc( self) /*PPropdef::_n_doc*/ =  variable0 /*n*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ ==  NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -5188,10 +5394,11 @@ void parser_prod___AConcreteInitPropdef___n_doc__eq(val_t  self, val_t  param0)
   return;
 }
 void parser_prod___AConcreteInitPropdef___n_kwredef__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 2701, LOCATE_parser_prod___AConcreteInitPropdef___n_kwredef__eq};
+  struct trace_t trace = {NULL, NULL, 2701, LOCATE_parser_prod___AConcreteInitPropdef___n_kwredef__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   ATTR_parser_nodes___AMethPropdef____n_kwredef( self) /*AMethPropdef::_n_kwredef*/ =  variable0 /*n*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ ==  NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -5202,10 +5409,11 @@ void parser_prod___AConcreteInitPropdef___n_kwredef__eq(val_t  self, val_t  para
   return;
 }
 void parser_prod___AConcreteInitPropdef___n_visibility__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 2708, LOCATE_parser_prod___AConcreteInitPropdef___n_visibility__eq};
+  struct trace_t trace = {NULL, NULL, 2708, LOCATE_parser_prod___AConcreteInitPropdef___n_visibility__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   ATTR_parser_nodes___AMethPropdef____n_visibility( self) /*AMethPropdef::_n_visibility*/ =  variable0 /*n*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ ==  NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -5216,10 +5424,11 @@ void parser_prod___AConcreteInitPropdef___n_visibility__eq(val_t  self, val_t  p
   return;
 }
 void parser_prod___AConcreteInitPropdef___n_kwinit__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 2715, LOCATE_parser_prod___AConcreteInitPropdef___n_kwinit__eq};
+  struct trace_t trace = {NULL, NULL, 2715, LOCATE_parser_prod___AConcreteInitPropdef___n_kwinit__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   ATTR_parser_nodes___AConcreteInitPropdef____n_kwinit( self) /*AConcreteInitPropdef::_n_kwinit*/ =  variable0 /*n*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ ==  NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -5230,10 +5439,11 @@ void parser_prod___AConcreteInitPropdef___n_kwinit__eq(val_t  self, val_t  param
   return;
 }
 void parser_prod___AConcreteInitPropdef___n_methid__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 2722, LOCATE_parser_prod___AConcreteInitPropdef___n_methid__eq};
+  struct trace_t trace = {NULL, NULL, 2722, LOCATE_parser_prod___AConcreteInitPropdef___n_methid__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   ATTR_parser_nodes___AMethPropdef____n_methid( self) /*AMethPropdef::_n_methid*/ =  variable0 /*n*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ ==  NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -5244,10 +5454,11 @@ void parser_prod___AConcreteInitPropdef___n_methid__eq(val_t  self, val_t  param
   return;
 }
 void parser_prod___AConcreteInitPropdef___n_signature__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 2729, LOCATE_parser_prod___AConcreteInitPropdef___n_signature__eq};
+  struct trace_t trace = {NULL, NULL, 2729, LOCATE_parser_prod___AConcreteInitPropdef___n_signature__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   ATTR_parser_nodes___AMethPropdef____n_signature( self) /*AMethPropdef::_n_signature*/ =  variable0 /*n*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ ==  NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -5258,10 +5469,11 @@ void parser_prod___AConcreteInitPropdef___n_signature__eq(val_t  self, val_t  pa
   return;
 }
 void parser_prod___AConcreteInitPropdef___n_block__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 2736, LOCATE_parser_prod___AConcreteInitPropdef___n_block__eq};
+  struct trace_t trace = {NULL, NULL, 2736, LOCATE_parser_prod___AConcreteInitPropdef___n_block__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   ATTR_parser_nodes___AConcreteMethPropdef____n_block( self) /*AConcreteMethPropdef::_n_block*/ =  variable0 /*n*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ ==  NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -5272,8 +5484,9 @@ void parser_prod___AConcreteInitPropdef___n_block__eq(val_t  self, val_t  param0
   return;
 }
 void parser_prod___AConcreteInitPropdef___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 2744, LOCATE_parser_prod___AConcreteInitPropdef___empty_init};
+  struct trace_t trace = {NULL, NULL, 2744, LOCATE_parser_prod___AConcreteInitPropdef___empty_init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AConcreteInitPropdef].i]) return;
   ((parser_prod___AConcreteMethPropdef___empty_init_t)CALL( self,COLOR_parser_prod___AConcreteMethPropdef___empty_init))( self, init_table /*YYY*/) /*AConcreteMethPropdef::empty_init*/;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AConcreteInitPropdef].i] = 1;
@@ -5281,7 +5494,7 @@ void parser_prod___AConcreteInitPropdef___empty_init(val_t  self, int* init_tabl
   return;
 }
 void parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef(val_t  self, val_t  param0, val_t  param1, val_t  param2, val_t  param3, val_t  param4, val_t  param5, val_t  param6, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 2746, LOCATE_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef};
+  struct trace_t trace = {NULL, NULL, 2746, LOCATE_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -5291,6 +5504,7 @@ void parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef(val_t  self,
   val_t variable6;
   val_t variable7;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 =  param1;
   variable2 =  param2;
@@ -5340,11 +5554,12 @@ void parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef(val_t  self,
   return;
 }
 void parser_prod___AConcreteInitPropdef___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 2786, LOCATE_parser_prod___AConcreteInitPropdef___replace_child};
+  struct trace_t trace = {NULL, NULL, 2786, LOCATE_parser_prod___AConcreteInitPropdef___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 =  param1;
   variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ ==  NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -5452,10 +5667,11 @@ void parser_prod___AConcreteInitPropdef___replace_child(val_t  self, val_t  para
   return;
 }
 void parser_prod___AConcreteInitPropdef___visit_all(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 2861, LOCATE_parser_prod___AConcreteInitPropdef___visit_all};
+  struct trace_t trace = {NULL, NULL, 2861, LOCATE_parser_prod___AConcreteInitPropdef___visit_all};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___PPropdef____n_doc( self) /*PPropdef::_n_doc*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 ==  NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -5503,10 +5719,11 @@ void parser_prod___AConcreteInitPropdef___visit_all(val_t  self, val_t  param0)
   return;
 }
 void parser_prod___AConcreteInitPropdef___visit_all_reverse(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 2886, LOCATE_parser_prod___AConcreteInitPropdef___visit_all_reverse};
+  struct trace_t trace = {NULL, NULL, 2886, LOCATE_parser_prod___AConcreteInitPropdef___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___PPropdef____n_doc( self) /*PPropdef::_n_doc*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 ==  NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -5554,10 +5771,11 @@ void parser_prod___AConcreteInitPropdef___visit_all_reverse(val_t  self, val_t
   return;
 }
 void parser_prod___AMainMethPropdef___n_kwredef__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 2912, LOCATE_parser_prod___AMainMethPropdef___n_kwredef__eq};
+  struct trace_t trace = {NULL, NULL, 2912, LOCATE_parser_prod___AMainMethPropdef___n_kwredef__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   ATTR_parser_nodes___AMethPropdef____n_kwredef( self) /*AMethPropdef::_n_kwredef*/ =  variable0 /*n*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ ==  NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -5568,10 +5786,11 @@ void parser_prod___AMainMethPropdef___n_kwredef__eq(val_t  self, val_t  param0)
   return;
 }
 void parser_prod___AMainMethPropdef___n_block__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 2919, LOCATE_parser_prod___AMainMethPropdef___n_block__eq};
+  struct trace_t trace = {NULL, NULL, 2919, LOCATE_parser_prod___AMainMethPropdef___n_block__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   ATTR_parser_nodes___AConcreteMethPropdef____n_block( self) /*AConcreteMethPropdef::_n_block*/ =  variable0 /*n*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ ==  NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -5582,8 +5801,9 @@ void parser_prod___AMainMethPropdef___n_block__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AMainMethPropdef___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 2927, LOCATE_parser_prod___AMainMethPropdef___empty_init};
+  struct trace_t trace = {NULL, NULL, 2927, LOCATE_parser_prod___AMainMethPropdef___empty_init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AMainMethPropdef].i]) return;
   ((parser_prod___AConcreteMethPropdef___empty_init_t)CALL( self,COLOR_parser_prod___AConcreteMethPropdef___empty_init))( self, init_table /*YYY*/) /*AConcreteMethPropdef::empty_init*/;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AMainMethPropdef].i] = 1;
@@ -5591,11 +5811,12 @@ void parser_prod___AMainMethPropdef___empty_init(val_t  self, int* init_table) {
   return;
 }
 void parser_prod___AMainMethPropdef___init_amainmethpropdef(val_t  self, val_t  param0, val_t  param1, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 2929, LOCATE_parser_prod___AMainMethPropdef___init_amainmethpropdef};
+  struct trace_t trace = {NULL, NULL, 2929, LOCATE_parser_prod___AMainMethPropdef___init_amainmethpropdef};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 =  param1;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AMainMethPropdef].i]) return;
@@ -5615,11 +5836,12 @@ void parser_prod___AMainMethPropdef___init_amainmethpropdef(val_t  self, val_t
   return;
 }
 void parser_prod___AMainMethPropdef___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 2944, LOCATE_parser_prod___AMainMethPropdef___replace_child};
+  struct trace_t trace = {NULL, NULL, 2944, LOCATE_parser_prod___AMainMethPropdef___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 =  param1;
   variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ ==  NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -5657,10 +5879,11 @@ void parser_prod___AMainMethPropdef___replace_child(val_t  self, val_t  param0,
   return;
 }
 void parser_prod___AMainMethPropdef___visit_all(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 2969, LOCATE_parser_prod___AMainMethPropdef___visit_all};
+  struct trace_t trace = {NULL, NULL, 2969, LOCATE_parser_prod___AMainMethPropdef___visit_all};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___AMethPropdef____n_kwredef( self) /*AMethPropdef::_n_kwredef*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 ==  NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -5678,10 +5901,11 @@ void parser_prod___AMainMethPropdef___visit_all(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AMainMethPropdef___visit_all_reverse(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 2979, LOCATE_parser_prod___AMainMethPropdef___visit_all_reverse};
+  struct trace_t trace = {NULL, NULL, 2979, LOCATE_parser_prod___AMainMethPropdef___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___AMethPropdef____n_kwredef( self) /*AMethPropdef::_n_kwredef*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 ==  NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -5699,10 +5923,11 @@ void parser_prod___AMainMethPropdef___visit_all_reverse(val_t  self, val_t  para
   return;
 }
 void parser_prod___ATypePropdef___n_doc__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 2990, LOCATE_parser_prod___ATypePropdef___n_doc__eq};
+  struct trace_t trace = {NULL, NULL, 2990, LOCATE_parser_prod___ATypePropdef___n_doc__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   ATTR_parser_nodes___PPropdef____n_doc( self) /*PPropdef::_n_doc*/ =  variable0 /*n*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ ==  NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -5713,10 +5938,11 @@ void parser_prod___ATypePropdef___n_doc__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___ATypePropdef___n_kwredef__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 2997, LOCATE_parser_prod___ATypePropdef___n_kwredef__eq};
+  struct trace_t trace = {NULL, NULL, 2997, LOCATE_parser_prod___ATypePropdef___n_kwredef__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   ATTR_parser_nodes___ATypePropdef____n_kwredef( self) /*ATypePropdef::_n_kwredef*/ =  variable0 /*n*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ ==  NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -5727,10 +5953,11 @@ void parser_prod___ATypePropdef___n_kwredef__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___ATypePropdef___n_visibility__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 3004, LOCATE_parser_prod___ATypePropdef___n_visibility__eq};
+  struct trace_t trace = {NULL, NULL, 3004, LOCATE_parser_prod___ATypePropdef___n_visibility__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   ATTR_parser_nodes___ATypePropdef____n_visibility( self) /*ATypePropdef::_n_visibility*/ =  variable0 /*n*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ ==  NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -5741,10 +5968,11 @@ void parser_prod___ATypePropdef___n_visibility__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___ATypePropdef___n_kwtype__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 3011, LOCATE_parser_prod___ATypePropdef___n_kwtype__eq};
+  struct trace_t trace = {NULL, NULL, 3011, LOCATE_parser_prod___ATypePropdef___n_kwtype__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   ATTR_parser_nodes___ATypePropdef____n_kwtype( self) /*ATypePropdef::_n_kwtype*/ =  variable0 /*n*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ ==  NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -5755,10 +5983,11 @@ void parser_prod___ATypePropdef___n_kwtype__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___ATypePropdef___n_id__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 3018, LOCATE_parser_prod___ATypePropdef___n_id__eq};
+  struct trace_t trace = {NULL, NULL, 3018, LOCATE_parser_prod___ATypePropdef___n_id__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   ATTR_parser_nodes___ATypePropdef____n_id( self) /*ATypePropdef::_n_id*/ =  variable0 /*n*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ ==  NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -5769,10 +5998,11 @@ void parser_prod___ATypePropdef___n_id__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___ATypePropdef___n_type__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 3025, LOCATE_parser_prod___ATypePropdef___n_type__eq};
+  struct trace_t trace = {NULL, NULL, 3025, LOCATE_parser_prod___ATypePropdef___n_type__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   ATTR_parser_nodes___ATypePropdef____n_type( self) /*ATypePropdef::_n_type*/ =  variable0 /*n*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ ==  NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -5783,15 +6013,16 @@ void parser_prod___ATypePropdef___n_type__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___ATypePropdef___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 3033, LOCATE_parser_prod___ATypePropdef___empty_init};
+  struct trace_t trace = {NULL, NULL, 3033, LOCATE_parser_prod___ATypePropdef___empty_init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ATypePropdef].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ATypePropdef].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser_prod___ATypePropdef___init_atypepropdef(val_t  self, val_t  param0, val_t  param1, val_t  param2, val_t  param3, val_t  param4, val_t  param5, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 3035, LOCATE_parser_prod___ATypePropdef___init_atypepropdef};
+  struct trace_t trace = {NULL, NULL, 3035, LOCATE_parser_prod___ATypePropdef___init_atypepropdef};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -5800,6 +6031,7 @@ void parser_prod___ATypePropdef___init_atypepropdef(val_t  self, val_t  param0,
   val_t variable5;
   val_t variable6;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 =  param1;
   variable2 =  param2;
@@ -5842,11 +6074,12 @@ void parser_prod___ATypePropdef___init_atypepropdef(val_t  self, val_t  param0,
   return;
 }
 void parser_prod___ATypePropdef___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 3070, LOCATE_parser_prod___ATypePropdef___replace_child};
+  struct trace_t trace = {NULL, NULL, 3070, LOCATE_parser_prod___ATypePropdef___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 =  param1;
   variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ ==  NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -5940,10 +6173,11 @@ void parser_prod___ATypePropdef___replace_child(val_t  self, val_t  param0, val_
   return;
 }
 void parser_prod___ATypePropdef___visit_all(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 3135, LOCATE_parser_prod___ATypePropdef___visit_all};
+  struct trace_t trace = {NULL, NULL, 3135, LOCATE_parser_prod___ATypePropdef___visit_all};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___PPropdef____n_doc( self) /*PPropdef::_n_doc*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 ==  NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -5985,10 +6219,11 @@ void parser_prod___ATypePropdef___visit_all(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___ATypePropdef___visit_all_reverse(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 3157, LOCATE_parser_prod___ATypePropdef___visit_all_reverse};
+  struct trace_t trace = {NULL, NULL, 3157, LOCATE_parser_prod___ATypePropdef___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___PPropdef____n_doc( self) /*PPropdef::_n_doc*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 ==  NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -6030,10 +6265,11 @@ void parser_prod___ATypePropdef___visit_all_reverse(val_t  self, val_t  param0)
   return;
 }
 void parser_prod___AReadAble___n_kwredef__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 3180, LOCATE_parser_prod___AReadAble___n_kwredef__eq};
+  struct trace_t trace = {NULL, NULL, 3180, LOCATE_parser_prod___AReadAble___n_kwredef__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   ATTR_parser_nodes___PAble____n_kwredef( self) /*PAble::_n_kwredef*/ =  variable0 /*n*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ ==  NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -6044,10 +6280,11 @@ void parser_prod___AReadAble___n_kwredef__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AReadAble___n_kwreadable__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 3187, LOCATE_parser_prod___AReadAble___n_kwreadable__eq};
+  struct trace_t trace = {NULL, NULL, 3187, LOCATE_parser_prod___AReadAble___n_kwreadable__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   ATTR_parser_nodes___AReadAble____n_kwreadable( self) /*AReadAble::_n_kwreadable*/ =  variable0 /*n*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ ==  NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -6058,19 +6295,21 @@ void parser_prod___AReadAble___n_kwreadable__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AReadAble___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 3195, LOCATE_parser_prod___AReadAble___empty_init};
+  struct trace_t trace = {NULL, NULL, 3195, LOCATE_parser_prod___AReadAble___empty_init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AReadAble].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AReadAble].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AReadAble___init_areadable(val_t  self, val_t  param0, val_t  param1, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 3197, LOCATE_parser_prod___AReadAble___init_areadable};
+  struct trace_t trace = {NULL, NULL, 3197, LOCATE_parser_prod___AReadAble___init_areadable};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 =  param1;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AReadAble].i]) return;
@@ -6089,11 +6328,12 @@ void parser_prod___AReadAble___init_areadable(val_t  self, val_t  param0, val_t
   return;
 }
 void parser_prod___AReadAble___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 3212, LOCATE_parser_prod___AReadAble___replace_child};
+  struct trace_t trace = {NULL, NULL, 3212, LOCATE_parser_prod___AReadAble___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 =  param1;
   variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ ==  NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -6131,10 +6371,11 @@ void parser_prod___AReadAble___replace_child(val_t  self, val_t  param0, val_t
   return;
 }
 void parser_prod___AReadAble___visit_all(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 3237, LOCATE_parser_prod___AReadAble___visit_all};
+  struct trace_t trace = {NULL, NULL, 3237, LOCATE_parser_prod___AReadAble___visit_all};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___PAble____n_kwredef( self) /*PAble::_n_kwredef*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 ==  NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -6152,10 +6393,11 @@ void parser_prod___AReadAble___visit_all(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AReadAble___visit_all_reverse(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 3247, LOCATE_parser_prod___AReadAble___visit_all_reverse};
+  struct trace_t trace = {NULL, NULL, 3247, LOCATE_parser_prod___AReadAble___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___PAble____n_kwredef( self) /*PAble::_n_kwredef*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 ==  NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -6173,10 +6415,11 @@ void parser_prod___AReadAble___visit_all_reverse(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AWriteAble___n_kwredef__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 3258, LOCATE_parser_prod___AWriteAble___n_kwredef__eq};
+  struct trace_t trace = {NULL, NULL, 3258, LOCATE_parser_prod___AWriteAble___n_kwredef__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   ATTR_parser_nodes___PAble____n_kwredef( self) /*PAble::_n_kwredef*/ =  variable0 /*n*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ ==  NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -6187,10 +6430,11 @@ void parser_prod___AWriteAble___n_kwredef__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AWriteAble___n_kwwritable__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 3265, LOCATE_parser_prod___AWriteAble___n_kwwritable__eq};
+  struct trace_t trace = {NULL, NULL, 3265, LOCATE_parser_prod___AWriteAble___n_kwwritable__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   ATTR_parser_nodes___AWriteAble____n_kwwritable( self) /*AWriteAble::_n_kwwritable*/ =  variable0 /*n*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ ==  NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -6201,19 +6445,21 @@ void parser_prod___AWriteAble___n_kwwritable__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AWriteAble___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 3273, LOCATE_parser_prod___AWriteAble___empty_init};
+  struct trace_t trace = {NULL, NULL, 3273, LOCATE_parser_prod___AWriteAble___empty_init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AWriteAble].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AWriteAble].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AWriteAble___init_awriteable(val_t  self, val_t  param0, val_t  param1, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 3275, LOCATE_parser_prod___AWriteAble___init_awriteable};
+  struct trace_t trace = {NULL, NULL, 3275, LOCATE_parser_prod___AWriteAble___init_awriteable};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 =  param1;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AWriteAble].i]) return;
@@ -6232,11 +6478,12 @@ void parser_prod___AWriteAble___init_awriteable(val_t  self, val_t  param0, val_
   return;
 }
 void parser_prod___AWriteAble___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 3290, LOCATE_parser_prod___AWriteAble___replace_child};
+  struct trace_t trace = {NULL, NULL, 3290, LOCATE_parser_prod___AWriteAble___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 =  param1;
   variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ ==  NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -6274,10 +6521,11 @@ void parser_prod___AWriteAble___replace_child(val_t  self, val_t  param0, val_t
   return;
 }
 void parser_prod___AWriteAble___visit_all(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 3315, LOCATE_parser_prod___AWriteAble___visit_all};
+  struct trace_t trace = {NULL, NULL, 3315, LOCATE_parser_prod___AWriteAble___visit_all};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___PAble____n_kwredef( self) /*PAble::_n_kwredef*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 ==  NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -6295,10 +6543,11 @@ void parser_prod___AWriteAble___visit_all(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AWriteAble___visit_all_reverse(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 3325, LOCATE_parser_prod___AWriteAble___visit_all_reverse};
+  struct trace_t trace = {NULL, NULL, 3325, LOCATE_parser_prod___AWriteAble___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___PAble____n_kwredef( self) /*PAble::_n_kwredef*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 ==  NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -6316,10 +6565,11 @@ void parser_prod___AWriteAble___visit_all_reverse(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AIdMethid___n_id__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 3336, LOCATE_parser_prod___AIdMethid___n_id__eq};
+  struct trace_t trace = {NULL, NULL, 3336, LOCATE_parser_prod___AIdMethid___n_id__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   ATTR_parser_nodes___AIdMethid____n_id( self) /*AIdMethid::_n_id*/ =  variable0 /*n*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ ==  NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -6330,18 +6580,20 @@ void parser_prod___AIdMethid___n_id__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AIdMethid___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 3344, LOCATE_parser_prod___AIdMethid___empty_init};
+  struct trace_t trace = {NULL, NULL, 3344, LOCATE_parser_prod___AIdMethid___empty_init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AIdMethid].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AIdMethid].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AIdMethid___init_aidmethid(val_t  self, val_t  param0, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 3346, LOCATE_parser_prod___AIdMethid___init_aidmethid};
+  struct trace_t trace = {NULL, NULL, 3346, LOCATE_parser_prod___AIdMethid___init_aidmethid};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AIdMethid].i]) return;
   ATTR_parser_nodes___AIdMethid____n_id( self) /*AIdMethid::_n_id*/ =  variable0 /*n_id*/;
@@ -6354,11 +6606,12 @@ void parser_prod___AIdMethid___init_aidmethid(val_t  self, val_t  param0, int* i
   return;
 }
 void parser_prod___AIdMethid___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 3356, LOCATE_parser_prod___AIdMethid___replace_child};
+  struct trace_t trace = {NULL, NULL, 3356, LOCATE_parser_prod___AIdMethid___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 =  param1;
   variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ ==  NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -6382,10 +6635,11 @@ void parser_prod___AIdMethid___replace_child(val_t  self, val_t  param0, val_t
   return;
 }
 void parser_prod___AIdMethid___visit_all(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 3371, LOCATE_parser_prod___AIdMethid___visit_all};
+  struct trace_t trace = {NULL, NULL, 3371, LOCATE_parser_prod___AIdMethid___visit_all};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___AIdMethid____n_id( self) /*AIdMethid::_n_id*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 ==  NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -6397,10 +6651,11 @@ void parser_prod___AIdMethid___visit_all(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AIdMethid___visit_all_reverse(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 3378, LOCATE_parser_prod___AIdMethid___visit_all_reverse};
+  struct trace_t trace = {NULL, NULL, 3378, LOCATE_parser_prod___AIdMethid___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___AIdMethid____n_id( self) /*AIdMethid::_n_id*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 ==  NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -6412,10 +6667,11 @@ void parser_prod___AIdMethid___visit_all_reverse(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___APlusMethid___n_plus__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 3386, LOCATE_parser_prod___APlusMethid___n_plus__eq};
+  struct trace_t trace = {NULL, NULL, 3386, LOCATE_parser_prod___APlusMethid___n_plus__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   ATTR_parser_nodes___APlusMethid____n_plus( self) /*APlusMethid::_n_plus*/ =  variable0 /*n*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ ==  NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -6426,18 +6682,20 @@ void parser_prod___APlusMethid___n_plus__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___APlusMethid___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 3394, LOCATE_parser_prod___APlusMethid___empty_init};
+  struct trace_t trace = {NULL, NULL, 3394, LOCATE_parser_prod___APlusMethid___empty_init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_APlusMethid].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_APlusMethid].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser_prod___APlusMethid___init_aplusmethid(val_t  self, val_t  param0, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 3396, LOCATE_parser_prod___APlusMethid___init_aplusmethid};
+  struct trace_t trace = {NULL, NULL, 3396, LOCATE_parser_prod___APlusMethid___init_aplusmethid};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_APlusMethid].i]) return;
   ATTR_parser_nodes___APlusMethid____n_plus( self) /*APlusMethid::_n_plus*/ =  variable0 /*n_plus*/;
@@ -6450,11 +6708,12 @@ void parser_prod___APlusMethid___init_aplusmethid(val_t  self, val_t  param0, in
   return;
 }
 void parser_prod___APlusMethid___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 3406, LOCATE_parser_prod___APlusMethid___replace_child};
+  struct trace_t trace = {NULL, NULL, 3406, LOCATE_parser_prod___APlusMethid___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 =  param1;
   variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ ==  NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -6478,10 +6737,11 @@ void parser_prod___APlusMethid___replace_child(val_t  self, val_t  param0, val_t
   return;
 }
 void parser_prod___APlusMethid___visit_all(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 3421, LOCATE_parser_prod___APlusMethid___visit_all};
+  struct trace_t trace = {NULL, NULL, 3421, LOCATE_parser_prod___APlusMethid___visit_all};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___APlusMethid____n_plus( self) /*APlusMethid::_n_plus*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 ==  NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -6493,10 +6753,11 @@ void parser_prod___APlusMethid___visit_all(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___APlusMethid___visit_all_reverse(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 3428, LOCATE_parser_prod___APlusMethid___visit_all_reverse};
+  struct trace_t trace = {NULL, NULL, 3428, LOCATE_parser_prod___APlusMethid___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___APlusMethid____n_plus( self) /*APlusMethid::_n_plus*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 ==  NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -6508,10 +6769,11 @@ void parser_prod___APlusMethid___visit_all_reverse(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AMinusMethid___n_minus__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 3436, LOCATE_parser_prod___AMinusMethid___n_minus__eq};
+  struct trace_t trace = {NULL, NULL, 3436, LOCATE_parser_prod___AMinusMethid___n_minus__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   ATTR_parser_nodes___AMinusMethid____n_minus( self) /*AMinusMethid::_n_minus*/ =  variable0 /*n*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ ==  NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -6522,18 +6784,20 @@ void parser_prod___AMinusMethid___n_minus__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AMinusMethid___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 3444, LOCATE_parser_prod___AMinusMethid___empty_init};
+  struct trace_t trace = {NULL, NULL, 3444, LOCATE_parser_prod___AMinusMethid___empty_init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AMinusMethid].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AMinusMethid].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AMinusMethid___init_aminusmethid(val_t  self, val_t  param0, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 3446, LOCATE_parser_prod___AMinusMethid___init_aminusmethid};
+  struct trace_t trace = {NULL, NULL, 3446, LOCATE_parser_prod___AMinusMethid___init_aminusmethid};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AMinusMethid].i]) return;
   ATTR_parser_nodes___AMinusMethid____n_minus( self) /*AMinusMethid::_n_minus*/ =  variable0 /*n_minus*/;
@@ -6546,11 +6810,12 @@ void parser_prod___AMinusMethid___init_aminusmethid(val_t  self, val_t  param0,
   return;
 }
 void parser_prod___AMinusMethid___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 3456, LOCATE_parser_prod___AMinusMethid___replace_child};
+  struct trace_t trace = {NULL, NULL, 3456, LOCATE_parser_prod___AMinusMethid___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 =  param1;
   variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ ==  NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -6574,10 +6839,11 @@ void parser_prod___AMinusMethid___replace_child(val_t  self, val_t  param0, val_
   return;
 }
 void parser_prod___AMinusMethid___visit_all(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 3471, LOCATE_parser_prod___AMinusMethid___visit_all};
+  struct trace_t trace = {NULL, NULL, 3471, LOCATE_parser_prod___AMinusMethid___visit_all};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___AMinusMethid____n_minus( self) /*AMinusMethid::_n_minus*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 ==  NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -6589,10 +6855,11 @@ void parser_prod___AMinusMethid___visit_all(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AMinusMethid___visit_all_reverse(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 3478, LOCATE_parser_prod___AMinusMethid___visit_all_reverse};
+  struct trace_t trace = {NULL, NULL, 3478, LOCATE_parser_prod___AMinusMethid___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___AMinusMethid____n_minus( self) /*AMinusMethid::_n_minus*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 ==  NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -6604,10 +6871,11 @@ void parser_prod___AMinusMethid___visit_all_reverse(val_t  self, val_t  param0)
   return;
 }
 void parser_prod___AStarMethid___n_star__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 3486, LOCATE_parser_prod___AStarMethid___n_star__eq};
+  struct trace_t trace = {NULL, NULL, 3486, LOCATE_parser_prod___AStarMethid___n_star__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   ATTR_parser_nodes___AStarMethid____n_star( self) /*AStarMethid::_n_star*/ =  variable0 /*n*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ ==  NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -6618,18 +6886,20 @@ void parser_prod___AStarMethid___n_star__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AStarMethid___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 3494, LOCATE_parser_prod___AStarMethid___empty_init};
+  struct trace_t trace = {NULL, NULL, 3494, LOCATE_parser_prod___AStarMethid___empty_init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AStarMethid].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AStarMethid].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AStarMethid___init_astarmethid(val_t  self, val_t  param0, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 3496, LOCATE_parser_prod___AStarMethid___init_astarmethid};
+  struct trace_t trace = {NULL, NULL, 3496, LOCATE_parser_prod___AStarMethid___init_astarmethid};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AStarMethid].i]) return;
   ATTR_parser_nodes___AStarMethid____n_star( self) /*AStarMethid::_n_star*/ =  variable0 /*n_star*/;
@@ -6642,11 +6912,12 @@ void parser_prod___AStarMethid___init_astarmethid(val_t  self, val_t  param0, in
   return;
 }
 void parser_prod___AStarMethid___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 3506, LOCATE_parser_prod___AStarMethid___replace_child};
+  struct trace_t trace = {NULL, NULL, 3506, LOCATE_parser_prod___AStarMethid___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 =  param1;
   variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ ==  NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -6670,10 +6941,11 @@ void parser_prod___AStarMethid___replace_child(val_t  self, val_t  param0, val_t
   return;
 }
 void parser_prod___AStarMethid___visit_all(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 3521, LOCATE_parser_prod___AStarMethid___visit_all};
+  struct trace_t trace = {NULL, NULL, 3521, LOCATE_parser_prod___AStarMethid___visit_all};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___AStarMethid____n_star( self) /*AStarMethid::_n_star*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 ==  NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -6685,10 +6957,11 @@ void parser_prod___AStarMethid___visit_all(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AStarMethid___visit_all_reverse(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 3528, LOCATE_parser_prod___AStarMethid___visit_all_reverse};
+  struct trace_t trace = {NULL, NULL, 3528, LOCATE_parser_prod___AStarMethid___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___AStarMethid____n_star( self) /*AStarMethid::_n_star*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 ==  NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -6700,10 +6973,11 @@ void parser_prod___AStarMethid___visit_all_reverse(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___ASlashMethid___n_slash__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 3536, LOCATE_parser_prod___ASlashMethid___n_slash__eq};
+  struct trace_t trace = {NULL, NULL, 3536, LOCATE_parser_prod___ASlashMethid___n_slash__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   ATTR_parser_nodes___ASlashMethid____n_slash( self) /*ASlashMethid::_n_slash*/ =  variable0 /*n*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ ==  NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -6714,18 +6988,20 @@ void parser_prod___ASlashMethid___n_slash__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___ASlashMethid___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 3544, LOCATE_parser_prod___ASlashMethid___empty_init};
+  struct trace_t trace = {NULL, NULL, 3544, LOCATE_parser_prod___ASlashMethid___empty_init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ASlashMethid].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ASlashMethid].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser_prod___ASlashMethid___init_aslashmethid(val_t  self, val_t  param0, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 3546, LOCATE_parser_prod___ASlashMethid___init_aslashmethid};
+  struct trace_t trace = {NULL, NULL, 3546, LOCATE_parser_prod___ASlashMethid___init_aslashmethid};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ASlashMethid].i]) return;
   ATTR_parser_nodes___ASlashMethid____n_slash( self) /*ASlashMethid::_n_slash*/ =  variable0 /*n_slash*/;
@@ -6738,11 +7014,12 @@ void parser_prod___ASlashMethid___init_aslashmethid(val_t  self, val_t  param0,
   return;
 }
 void parser_prod___ASlashMethid___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 3556, LOCATE_parser_prod___ASlashMethid___replace_child};
+  struct trace_t trace = {NULL, NULL, 3556, LOCATE_parser_prod___ASlashMethid___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 =  param1;
   variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ ==  NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -6766,10 +7043,11 @@ void parser_prod___ASlashMethid___replace_child(val_t  self, val_t  param0, val_
   return;
 }
 void parser_prod___ASlashMethid___visit_all(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 3571, LOCATE_parser_prod___ASlashMethid___visit_all};
+  struct trace_t trace = {NULL, NULL, 3571, LOCATE_parser_prod___ASlashMethid___visit_all};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___ASlashMethid____n_slash( self) /*ASlashMethid::_n_slash*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 ==  NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -6781,10 +7059,11 @@ void parser_prod___ASlashMethid___visit_all(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___ASlashMethid___visit_all_reverse(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 3578, LOCATE_parser_prod___ASlashMethid___visit_all_reverse};
+  struct trace_t trace = {NULL, NULL, 3578, LOCATE_parser_prod___ASlashMethid___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___ASlashMethid____n_slash( self) /*ASlashMethid::_n_slash*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 ==  NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -6796,10 +7075,11 @@ void parser_prod___ASlashMethid___visit_all_reverse(val_t  self, val_t  param0)
   return;
 }
 void parser_prod___APercentMethid___n_percent__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 3586, LOCATE_parser_prod___APercentMethid___n_percent__eq};
+  struct trace_t trace = {NULL, NULL, 3586, LOCATE_parser_prod___APercentMethid___n_percent__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   ATTR_parser_nodes___APercentMethid____n_percent( self) /*APercentMethid::_n_percent*/ =  variable0 /*n*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ ==  NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -6810,18 +7090,20 @@ void parser_prod___APercentMethid___n_percent__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___APercentMethid___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 3594, LOCATE_parser_prod___APercentMethid___empty_init};
+  struct trace_t trace = {NULL, NULL, 3594, LOCATE_parser_prod___APercentMethid___empty_init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_APercentMethid].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_APercentMethid].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser_prod___APercentMethid___init_apercentmethid(val_t  self, val_t  param0, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 3596, LOCATE_parser_prod___APercentMethid___init_apercentmethid};
+  struct trace_t trace = {NULL, NULL, 3596, LOCATE_parser_prod___APercentMethid___init_apercentmethid};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_APercentMethid].i]) return;
   ATTR_parser_nodes___APercentMethid____n_percent( self) /*APercentMethid::_n_percent*/ =  variable0 /*n_percent*/;
@@ -6834,11 +7116,12 @@ void parser_prod___APercentMethid___init_apercentmethid(val_t  self, val_t  para
   return;
 }
 void parser_prod___APercentMethid___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 3606, LOCATE_parser_prod___APercentMethid___replace_child};
+  struct trace_t trace = {NULL, NULL, 3606, LOCATE_parser_prod___APercentMethid___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 =  param1;
   variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ ==  NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -6862,10 +7145,11 @@ void parser_prod___APercentMethid___replace_child(val_t  self, val_t  param0, va
   return;
 }
 void parser_prod___APercentMethid___visit_all(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 3621, LOCATE_parser_prod___APercentMethid___visit_all};
+  struct trace_t trace = {NULL, NULL, 3621, LOCATE_parser_prod___APercentMethid___visit_all};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___APercentMethid____n_percent( self) /*APercentMethid::_n_percent*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 ==  NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -6877,10 +7161,11 @@ void parser_prod___APercentMethid___visit_all(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___APercentMethid___visit_all_reverse(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 3628, LOCATE_parser_prod___APercentMethid___visit_all_reverse};
+  struct trace_t trace = {NULL, NULL, 3628, LOCATE_parser_prod___APercentMethid___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___APercentMethid____n_percent( self) /*APercentMethid::_n_percent*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 ==  NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -6892,10 +7177,11 @@ void parser_prod___APercentMethid___visit_all_reverse(val_t  self, val_t  param0
   return;
 }
 void parser_prod___AEqMethid___n_eq__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 3636, LOCATE_parser_prod___AEqMethid___n_eq__eq};
+  struct trace_t trace = {NULL, NULL, 3636, LOCATE_parser_prod___AEqMethid___n_eq__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   ATTR_parser_nodes___AEqMethid____n_eq( self) /*AEqMethid::_n_eq*/ =  variable0 /*n*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ ==  NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -6906,18 +7192,20 @@ void parser_prod___AEqMethid___n_eq__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AEqMethid___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 3644, LOCATE_parser_prod___AEqMethid___empty_init};
+  struct trace_t trace = {NULL, NULL, 3644, LOCATE_parser_prod___AEqMethid___empty_init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AEqMethid].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AEqMethid].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AEqMethid___init_aeqmethid(val_t  self, val_t  param0, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 3646, LOCATE_parser_prod___AEqMethid___init_aeqmethid};
+  struct trace_t trace = {NULL, NULL, 3646, LOCATE_parser_prod___AEqMethid___init_aeqmethid};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AEqMethid].i]) return;
   ATTR_parser_nodes___AEqMethid____n_eq( self) /*AEqMethid::_n_eq*/ =  variable0 /*n_eq*/;
@@ -6930,11 +7218,12 @@ void parser_prod___AEqMethid___init_aeqmethid(val_t  self, val_t  param0, int* i
   return;
 }
 void parser_prod___AEqMethid___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 3656, LOCATE_parser_prod___AEqMethid___replace_child};
+  struct trace_t trace = {NULL, NULL, 3656, LOCATE_parser_prod___AEqMethid___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 =  param1;
   variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ ==  NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -6958,10 +7247,11 @@ void parser_prod___AEqMethid___replace_child(val_t  self, val_t  param0, val_t
   return;
 }
 void parser_prod___AEqMethid___visit_all(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 3671, LOCATE_parser_prod___AEqMethid___visit_all};
+  struct trace_t trace = {NULL, NULL, 3671, LOCATE_parser_prod___AEqMethid___visit_all};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___AEqMethid____n_eq( self) /*AEqMethid::_n_eq*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 ==  NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -6973,10 +7263,11 @@ void parser_prod___AEqMethid___visit_all(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AEqMethid___visit_all_reverse(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 3678, LOCATE_parser_prod___AEqMethid___visit_all_reverse};
+  struct trace_t trace = {NULL, NULL, 3678, LOCATE_parser_prod___AEqMethid___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___AEqMethid____n_eq( self) /*AEqMethid::_n_eq*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 ==  NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -6988,10 +7279,11 @@ void parser_prod___AEqMethid___visit_all_reverse(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___ANeMethid___n_ne__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 3686, LOCATE_parser_prod___ANeMethid___n_ne__eq};
+  struct trace_t trace = {NULL, NULL, 3686, LOCATE_parser_prod___ANeMethid___n_ne__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   ATTR_parser_nodes___ANeMethid____n_ne( self) /*ANeMethid::_n_ne*/ =  variable0 /*n*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ ==  NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -7002,18 +7294,20 @@ void parser_prod___ANeMethid___n_ne__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___ANeMethid___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 3694, LOCATE_parser_prod___ANeMethid___empty_init};
+  struct trace_t trace = {NULL, NULL, 3694, LOCATE_parser_prod___ANeMethid___empty_init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ANeMethid].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ANeMethid].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser_prod___ANeMethid___init_anemethid(val_t  self, val_t  param0, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 3696, LOCATE_parser_prod___ANeMethid___init_anemethid};
+  struct trace_t trace = {NULL, NULL, 3696, LOCATE_parser_prod___ANeMethid___init_anemethid};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ANeMethid].i]) return;
   ATTR_parser_nodes___ANeMethid____n_ne( self) /*ANeMethid::_n_ne*/ =  variable0 /*n_ne*/;
@@ -7026,11 +7320,12 @@ void parser_prod___ANeMethid___init_anemethid(val_t  self, val_t  param0, int* i
   return;
 }
 void parser_prod___ANeMethid___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 3706, LOCATE_parser_prod___ANeMethid___replace_child};
+  struct trace_t trace = {NULL, NULL, 3706, LOCATE_parser_prod___ANeMethid___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 =  param1;
   variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ ==  NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -7054,10 +7349,11 @@ void parser_prod___ANeMethid___replace_child(val_t  self, val_t  param0, val_t
   return;
 }
 void parser_prod___ANeMethid___visit_all(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 3721, LOCATE_parser_prod___ANeMethid___visit_all};
+  struct trace_t trace = {NULL, NULL, 3721, LOCATE_parser_prod___ANeMethid___visit_all};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___ANeMethid____n_ne( self) /*ANeMethid::_n_ne*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 ==  NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -7069,10 +7365,11 @@ void parser_prod___ANeMethid___visit_all(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___ANeMethid___visit_all_reverse(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 3728, LOCATE_parser_prod___ANeMethid___visit_all_reverse};
+  struct trace_t trace = {NULL, NULL, 3728, LOCATE_parser_prod___ANeMethid___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___ANeMethid____n_ne( self) /*ANeMethid::_n_ne*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 ==  NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -7084,10 +7381,11 @@ void parser_prod___ANeMethid___visit_all_reverse(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___ALeMethid___n_le__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 3736, LOCATE_parser_prod___ALeMethid___n_le__eq};
+  struct trace_t trace = {NULL, NULL, 3736, LOCATE_parser_prod___ALeMethid___n_le__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   ATTR_parser_nodes___ALeMethid____n_le( self) /*ALeMethid::_n_le*/ =  variable0 /*n*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ ==  NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -7098,18 +7396,20 @@ void parser_prod___ALeMethid___n_le__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___ALeMethid___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 3744, LOCATE_parser_prod___ALeMethid___empty_init};
+  struct trace_t trace = {NULL, NULL, 3744, LOCATE_parser_prod___ALeMethid___empty_init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ALeMethid].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ALeMethid].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser_prod___ALeMethid___init_alemethid(val_t  self, val_t  param0, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 3746, LOCATE_parser_prod___ALeMethid___init_alemethid};
+  struct trace_t trace = {NULL, NULL, 3746, LOCATE_parser_prod___ALeMethid___init_alemethid};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ALeMethid].i]) return;
   ATTR_parser_nodes___ALeMethid____n_le( self) /*ALeMethid::_n_le*/ =  variable0 /*n_le*/;
@@ -7122,11 +7422,12 @@ void parser_prod___ALeMethid___init_alemethid(val_t  self, val_t  param0, int* i
   return;
 }
 void parser_prod___ALeMethid___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 3756, LOCATE_parser_prod___ALeMethid___replace_child};
+  struct trace_t trace = {NULL, NULL, 3756, LOCATE_parser_prod___ALeMethid___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 =  param1;
   variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ ==  NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -7150,10 +7451,11 @@ void parser_prod___ALeMethid___replace_child(val_t  self, val_t  param0, val_t
   return;
 }
 void parser_prod___ALeMethid___visit_all(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 3771, LOCATE_parser_prod___ALeMethid___visit_all};
+  struct trace_t trace = {NULL, NULL, 3771, LOCATE_parser_prod___ALeMethid___visit_all};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___ALeMethid____n_le( self) /*ALeMethid::_n_le*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 ==  NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -7165,10 +7467,11 @@ void parser_prod___ALeMethid___visit_all(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___ALeMethid___visit_all_reverse(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 3778, LOCATE_parser_prod___ALeMethid___visit_all_reverse};
+  struct trace_t trace = {NULL, NULL, 3778, LOCATE_parser_prod___ALeMethid___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___ALeMethid____n_le( self) /*ALeMethid::_n_le*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 ==  NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -7180,10 +7483,11 @@ void parser_prod___ALeMethid___visit_all_reverse(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AGeMethid___n_ge__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 3786, LOCATE_parser_prod___AGeMethid___n_ge__eq};
+  struct trace_t trace = {NULL, NULL, 3786, LOCATE_parser_prod___AGeMethid___n_ge__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   ATTR_parser_nodes___AGeMethid____n_ge( self) /*AGeMethid::_n_ge*/ =  variable0 /*n*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ ==  NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -7194,18 +7498,20 @@ void parser_prod___AGeMethid___n_ge__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AGeMethid___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 3794, LOCATE_parser_prod___AGeMethid___empty_init};
+  struct trace_t trace = {NULL, NULL, 3794, LOCATE_parser_prod___AGeMethid___empty_init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AGeMethid].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AGeMethid].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AGeMethid___init_agemethid(val_t  self, val_t  param0, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 3796, LOCATE_parser_prod___AGeMethid___init_agemethid};
+  struct trace_t trace = {NULL, NULL, 3796, LOCATE_parser_prod___AGeMethid___init_agemethid};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AGeMethid].i]) return;
   ATTR_parser_nodes___AGeMethid____n_ge( self) /*AGeMethid::_n_ge*/ =  variable0 /*n_ge*/;
@@ -7218,11 +7524,12 @@ void parser_prod___AGeMethid___init_agemethid(val_t  self, val_t  param0, int* i
   return;
 }
 void parser_prod___AGeMethid___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 3806, LOCATE_parser_prod___AGeMethid___replace_child};
+  struct trace_t trace = {NULL, NULL, 3806, LOCATE_parser_prod___AGeMethid___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 =  param1;
   variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ ==  NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -7246,10 +7553,11 @@ void parser_prod___AGeMethid___replace_child(val_t  self, val_t  param0, val_t
   return;
 }
 void parser_prod___AGeMethid___visit_all(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 3821, LOCATE_parser_prod___AGeMethid___visit_all};
+  struct trace_t trace = {NULL, NULL, 3821, LOCATE_parser_prod___AGeMethid___visit_all};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___AGeMethid____n_ge( self) /*AGeMethid::_n_ge*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 ==  NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -7261,10 +7569,11 @@ void parser_prod___AGeMethid___visit_all(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AGeMethid___visit_all_reverse(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 3828, LOCATE_parser_prod___AGeMethid___visit_all_reverse};
+  struct trace_t trace = {NULL, NULL, 3828, LOCATE_parser_prod___AGeMethid___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___AGeMethid____n_ge( self) /*AGeMethid::_n_ge*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 ==  NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -7276,10 +7585,11 @@ void parser_prod___AGeMethid___visit_all_reverse(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___ALtMethid___n_lt__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 3836, LOCATE_parser_prod___ALtMethid___n_lt__eq};
+  struct trace_t trace = {NULL, NULL, 3836, LOCATE_parser_prod___ALtMethid___n_lt__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   ATTR_parser_nodes___ALtMethid____n_lt( self) /*ALtMethid::_n_lt*/ =  variable0 /*n*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ ==  NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -7290,18 +7600,20 @@ void parser_prod___ALtMethid___n_lt__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___ALtMethid___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 3844, LOCATE_parser_prod___ALtMethid___empty_init};
+  struct trace_t trace = {NULL, NULL, 3844, LOCATE_parser_prod___ALtMethid___empty_init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ALtMethid].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ALtMethid].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser_prod___ALtMethid___init_altmethid(val_t  self, val_t  param0, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 3846, LOCATE_parser_prod___ALtMethid___init_altmethid};
+  struct trace_t trace = {NULL, NULL, 3846, LOCATE_parser_prod___ALtMethid___init_altmethid};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ALtMethid].i]) return;
   ATTR_parser_nodes___ALtMethid____n_lt( self) /*ALtMethid::_n_lt*/ =  variable0 /*n_lt*/;
@@ -7314,11 +7626,12 @@ void parser_prod___ALtMethid___init_altmethid(val_t  self, val_t  param0, int* i
   return;
 }
 void parser_prod___ALtMethid___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 3856, LOCATE_parser_prod___ALtMethid___replace_child};
+  struct trace_t trace = {NULL, NULL, 3856, LOCATE_parser_prod___ALtMethid___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 =  param1;
   variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ ==  NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -7342,10 +7655,11 @@ void parser_prod___ALtMethid___replace_child(val_t  self, val_t  param0, val_t
   return;
 }
 void parser_prod___ALtMethid___visit_all(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 3871, LOCATE_parser_prod___ALtMethid___visit_all};
+  struct trace_t trace = {NULL, NULL, 3871, LOCATE_parser_prod___ALtMethid___visit_all};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___ALtMethid____n_lt( self) /*ALtMethid::_n_lt*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 ==  NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -7357,10 +7671,11 @@ void parser_prod___ALtMethid___visit_all(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___ALtMethid___visit_all_reverse(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 3878, LOCATE_parser_prod___ALtMethid___visit_all_reverse};
+  struct trace_t trace = {NULL, NULL, 3878, LOCATE_parser_prod___ALtMethid___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___ALtMethid____n_lt( self) /*ALtMethid::_n_lt*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 ==  NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -7372,10 +7687,11 @@ void parser_prod___ALtMethid___visit_all_reverse(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AGtMethid___n_gt__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 3886, LOCATE_parser_prod___AGtMethid___n_gt__eq};
+  struct trace_t trace = {NULL, NULL, 3886, LOCATE_parser_prod___AGtMethid___n_gt__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   ATTR_parser_nodes___AGtMethid____n_gt( self) /*AGtMethid::_n_gt*/ =  variable0 /*n*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ ==  NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -7386,18 +7702,20 @@ void parser_prod___AGtMethid___n_gt__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AGtMethid___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 3894, LOCATE_parser_prod___AGtMethid___empty_init};
+  struct trace_t trace = {NULL, NULL, 3894, LOCATE_parser_prod___AGtMethid___empty_init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AGtMethid].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AGtMethid].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AGtMethid___init_agtmethid(val_t  self, val_t  param0, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 3896, LOCATE_parser_prod___AGtMethid___init_agtmethid};
+  struct trace_t trace = {NULL, NULL, 3896, LOCATE_parser_prod___AGtMethid___init_agtmethid};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AGtMethid].i]) return;
   ATTR_parser_nodes___AGtMethid____n_gt( self) /*AGtMethid::_n_gt*/ =  variable0 /*n_gt*/;
@@ -7410,11 +7728,12 @@ void parser_prod___AGtMethid___init_agtmethid(val_t  self, val_t  param0, int* i
   return;
 }
 void parser_prod___AGtMethid___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 3906, LOCATE_parser_prod___AGtMethid___replace_child};
+  struct trace_t trace = {NULL, NULL, 3906, LOCATE_parser_prod___AGtMethid___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 =  param1;
   variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ ==  NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -7438,10 +7757,11 @@ void parser_prod___AGtMethid___replace_child(val_t  self, val_t  param0, val_t
   return;
 }
 void parser_prod___AGtMethid___visit_all(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 3921, LOCATE_parser_prod___AGtMethid___visit_all};
+  struct trace_t trace = {NULL, NULL, 3921, LOCATE_parser_prod___AGtMethid___visit_all};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___AGtMethid____n_gt( self) /*AGtMethid::_n_gt*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 ==  NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -7453,10 +7773,11 @@ void parser_prod___AGtMethid___visit_all(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AGtMethid___visit_all_reverse(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 3928, LOCATE_parser_prod___AGtMethid___visit_all_reverse};
+  struct trace_t trace = {NULL, NULL, 3928, LOCATE_parser_prod___AGtMethid___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___AGtMethid____n_gt( self) /*AGtMethid::_n_gt*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 ==  NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -7468,10 +7789,11 @@ void parser_prod___AGtMethid___visit_all_reverse(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___ABraMethid___n_obra__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 3936, LOCATE_parser_prod___ABraMethid___n_obra__eq};
+  struct trace_t trace = {NULL, NULL, 3936, LOCATE_parser_prod___ABraMethid___n_obra__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   ATTR_parser_nodes___ABraMethid____n_obra( self) /*ABraMethid::_n_obra*/ =  variable0 /*n*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ ==  NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -7482,10 +7804,11 @@ void parser_prod___ABraMethid___n_obra__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___ABraMethid___n_cbra__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 3943, LOCATE_parser_prod___ABraMethid___n_cbra__eq};
+  struct trace_t trace = {NULL, NULL, 3943, LOCATE_parser_prod___ABraMethid___n_cbra__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   ATTR_parser_nodes___ABraMethid____n_cbra( self) /*ABraMethid::_n_cbra*/ =  variable0 /*n*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ ==  NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -7496,19 +7819,21 @@ void parser_prod___ABraMethid___n_cbra__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___ABraMethid___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 3951, LOCATE_parser_prod___ABraMethid___empty_init};
+  struct trace_t trace = {NULL, NULL, 3951, LOCATE_parser_prod___ABraMethid___empty_init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ABraMethid].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ABraMethid].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser_prod___ABraMethid___init_abramethid(val_t  self, val_t  param0, val_t  param1, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 3953, LOCATE_parser_prod___ABraMethid___init_abramethid};
+  struct trace_t trace = {NULL, NULL, 3953, LOCATE_parser_prod___ABraMethid___init_abramethid};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 =  param1;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ABraMethid].i]) return;
@@ -7527,11 +7852,12 @@ void parser_prod___ABraMethid___init_abramethid(val_t  self, val_t  param0, val_
   return;
 }
 void parser_prod___ABraMethid___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 3968, LOCATE_parser_prod___ABraMethid___replace_child};
+  struct trace_t trace = {NULL, NULL, 3968, LOCATE_parser_prod___ABraMethid___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 =  param1;
   variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ ==  NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -7569,10 +7895,11 @@ void parser_prod___ABraMethid___replace_child(val_t  self, val_t  param0, val_t
   return;
 }
 void parser_prod___ABraMethid___visit_all(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 3993, LOCATE_parser_prod___ABraMethid___visit_all};
+  struct trace_t trace = {NULL, NULL, 3993, LOCATE_parser_prod___ABraMethid___visit_all};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___ABraMethid____n_obra( self) /*ABraMethid::_n_obra*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 ==  NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -7590,10 +7917,11 @@ void parser_prod___ABraMethid___visit_all(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___ABraMethid___visit_all_reverse(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 4003, LOCATE_parser_prod___ABraMethid___visit_all_reverse};
+  struct trace_t trace = {NULL, NULL, 4003, LOCATE_parser_prod___ABraMethid___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___ABraMethid____n_obra( self) /*ABraMethid::_n_obra*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 ==  NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -7611,10 +7939,11 @@ void parser_prod___ABraMethid___visit_all_reverse(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AStarshipMethid___n_starship__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 4014, LOCATE_parser_prod___AStarshipMethid___n_starship__eq};
+  struct trace_t trace = {NULL, NULL, 4014, LOCATE_parser_prod___AStarshipMethid___n_starship__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   ATTR_parser_nodes___AStarshipMethid____n_starship( self) /*AStarshipMethid::_n_starship*/ =  variable0 /*n*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ ==  NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -7625,18 +7954,20 @@ void parser_prod___AStarshipMethid___n_starship__eq(val_t  self, val_t  param0)
   return;
 }
 void parser_prod___AStarshipMethid___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 4022, LOCATE_parser_prod___AStarshipMethid___empty_init};
+  struct trace_t trace = {NULL, NULL, 4022, LOCATE_parser_prod___AStarshipMethid___empty_init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AStarshipMethid].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AStarshipMethid].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AStarshipMethid___init_astarshipmethid(val_t  self, val_t  param0, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 4024, LOCATE_parser_prod___AStarshipMethid___init_astarshipmethid};
+  struct trace_t trace = {NULL, NULL, 4024, LOCATE_parser_prod___AStarshipMethid___init_astarshipmethid};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AStarshipMethid].i]) return;
   ATTR_parser_nodes___AStarshipMethid____n_starship( self) /*AStarshipMethid::_n_starship*/ =  variable0 /*n_starship*/;
@@ -7649,11 +7980,12 @@ void parser_prod___AStarshipMethid___init_astarshipmethid(val_t  self, val_t  pa
   return;
 }
 void parser_prod___AStarshipMethid___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 4034, LOCATE_parser_prod___AStarshipMethid___replace_child};
+  struct trace_t trace = {NULL, NULL, 4034, LOCATE_parser_prod___AStarshipMethid___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 =  param1;
   variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ ==  NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -7677,10 +8009,11 @@ void parser_prod___AStarshipMethid___replace_child(val_t  self, val_t  param0, v
   return;
 }
 void parser_prod___AStarshipMethid___visit_all(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 4049, LOCATE_parser_prod___AStarshipMethid___visit_all};
+  struct trace_t trace = {NULL, NULL, 4049, LOCATE_parser_prod___AStarshipMethid___visit_all};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___AStarshipMethid____n_starship( self) /*AStarshipMethid::_n_starship*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 ==  NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -7692,10 +8025,11 @@ void parser_prod___AStarshipMethid___visit_all(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AStarshipMethid___visit_all_reverse(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 4056, LOCATE_parser_prod___AStarshipMethid___visit_all_reverse};
+  struct trace_t trace = {NULL, NULL, 4056, LOCATE_parser_prod___AStarshipMethid___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___AStarshipMethid____n_starship( self) /*AStarshipMethid::_n_starship*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 ==  NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -7707,10 +8041,11 @@ void parser_prod___AStarshipMethid___visit_all_reverse(val_t  self, val_t  param
   return;
 }
 void parser_prod___AAssignMethid___n_id__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 4064, LOCATE_parser_prod___AAssignMethid___n_id__eq};
+  struct trace_t trace = {NULL, NULL, 4064, LOCATE_parser_prod___AAssignMethid___n_id__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   ATTR_parser_nodes___AAssignMethid____n_id( self) /*AAssignMethid::_n_id*/ =  variable0 /*n*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ ==  NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -7721,10 +8056,11 @@ void parser_prod___AAssignMethid___n_id__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AAssignMethid___n_assign__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 4071, LOCATE_parser_prod___AAssignMethid___n_assign__eq};
+  struct trace_t trace = {NULL, NULL, 4071, LOCATE_parser_prod___AAssignMethid___n_assign__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   ATTR_parser_nodes___AAssignMethid____n_assign( self) /*AAssignMethid::_n_assign*/ =  variable0 /*n*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ ==  NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -7735,19 +8071,21 @@ void parser_prod___AAssignMethid___n_assign__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AAssignMethid___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 4079, LOCATE_parser_prod___AAssignMethid___empty_init};
+  struct trace_t trace = {NULL, NULL, 4079, LOCATE_parser_prod___AAssignMethid___empty_init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AAssignMethid].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AAssignMethid].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AAssignMethid___init_aassignmethid(val_t  self, val_t  param0, val_t  param1, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 4081, LOCATE_parser_prod___AAssignMethid___init_aassignmethid};
+  struct trace_t trace = {NULL, NULL, 4081, LOCATE_parser_prod___AAssignMethid___init_aassignmethid};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 =  param1;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AAssignMethid].i]) return;
@@ -7766,11 +8104,12 @@ void parser_prod___AAssignMethid___init_aassignmethid(val_t  self, val_t  param0
   return;
 }
 void parser_prod___AAssignMethid___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 4096, LOCATE_parser_prod___AAssignMethid___replace_child};
+  struct trace_t trace = {NULL, NULL, 4096, LOCATE_parser_prod___AAssignMethid___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 =  param1;
   variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ ==  NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -7808,10 +8147,11 @@ void parser_prod___AAssignMethid___replace_child(val_t  self, val_t  param0, val
   return;
 }
 void parser_prod___AAssignMethid___visit_all(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 4121, LOCATE_parser_prod___AAssignMethid___visit_all};
+  struct trace_t trace = {NULL, NULL, 4121, LOCATE_parser_prod___AAssignMethid___visit_all};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___AAssignMethid____n_id( self) /*AAssignMethid::_n_id*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 ==  NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -7829,10 +8169,11 @@ void parser_prod___AAssignMethid___visit_all(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AAssignMethid___visit_all_reverse(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 4131, LOCATE_parser_prod___AAssignMethid___visit_all_reverse};
+  struct trace_t trace = {NULL, NULL, 4131, LOCATE_parser_prod___AAssignMethid___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___AAssignMethid____n_id( self) /*AAssignMethid::_n_id*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 ==  NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -7850,10 +8191,11 @@ void parser_prod___AAssignMethid___visit_all_reverse(val_t  self, val_t  param0)
   return;
 }
 void parser_prod___ABraassignMethid___n_obra__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 4142, LOCATE_parser_prod___ABraassignMethid___n_obra__eq};
+  struct trace_t trace = {NULL, NULL, 4142, LOCATE_parser_prod___ABraassignMethid___n_obra__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   ATTR_parser_nodes___ABraassignMethid____n_obra( self) /*ABraassignMethid::_n_obra*/ =  variable0 /*n*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ ==  NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -7864,10 +8206,11 @@ void parser_prod___ABraassignMethid___n_obra__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___ABraassignMethid___n_cbra__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 4149, LOCATE_parser_prod___ABraassignMethid___n_cbra__eq};
+  struct trace_t trace = {NULL, NULL, 4149, LOCATE_parser_prod___ABraassignMethid___n_cbra__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   ATTR_parser_nodes___ABraassignMethid____n_cbra( self) /*ABraassignMethid::_n_cbra*/ =  variable0 /*n*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ ==  NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -7878,10 +8221,11 @@ void parser_prod___ABraassignMethid___n_cbra__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___ABraassignMethid___n_assign__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 4156, LOCATE_parser_prod___ABraassignMethid___n_assign__eq};
+  struct trace_t trace = {NULL, NULL, 4156, LOCATE_parser_prod___ABraassignMethid___n_assign__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   ATTR_parser_nodes___ABraassignMethid____n_assign( self) /*ABraassignMethid::_n_assign*/ =  variable0 /*n*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ ==  NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -7892,20 +8236,22 @@ void parser_prod___ABraassignMethid___n_assign__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___ABraassignMethid___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 4164, LOCATE_parser_prod___ABraassignMethid___empty_init};
+  struct trace_t trace = {NULL, NULL, 4164, LOCATE_parser_prod___ABraassignMethid___empty_init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ABraassignMethid].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ABraassignMethid].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser_prod___ABraassignMethid___init_abraassignmethid(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 4166, LOCATE_parser_prod___ABraassignMethid___init_abraassignmethid};
+  struct trace_t trace = {NULL, NULL, 4166, LOCATE_parser_prod___ABraassignMethid___init_abraassignmethid};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   val_t variable3;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 =  param1;
   variable2 =  param2;
@@ -7930,11 +8276,12 @@ void parser_prod___ABraassignMethid___init_abraassignmethid(val_t  self, val_t
   return;
 }
 void parser_prod___ABraassignMethid___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 4186, LOCATE_parser_prod___ABraassignMethid___replace_child};
+  struct trace_t trace = {NULL, NULL, 4186, LOCATE_parser_prod___ABraassignMethid___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 =  param1;
   variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ ==  NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -7986,10 +8333,11 @@ void parser_prod___ABraassignMethid___replace_child(val_t  self, val_t  param0,
   return;
 }
 void parser_prod___ABraassignMethid___visit_all(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 4221, LOCATE_parser_prod___ABraassignMethid___visit_all};
+  struct trace_t trace = {NULL, NULL, 4221, LOCATE_parser_prod___ABraassignMethid___visit_all};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___ABraassignMethid____n_obra( self) /*ABraassignMethid::_n_obra*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 ==  NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -8013,10 +8361,11 @@ void parser_prod___ABraassignMethid___visit_all(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___ABraassignMethid___visit_all_reverse(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 4234, LOCATE_parser_prod___ABraassignMethid___visit_all_reverse};
+  struct trace_t trace = {NULL, NULL, 4234, LOCATE_parser_prod___ABraassignMethid___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___ABraassignMethid____n_obra( self) /*ABraassignMethid::_n_obra*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 ==  NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -8040,10 +8389,11 @@ void parser_prod___ABraassignMethid___visit_all_reverse(val_t  self, val_t  para
   return;
 }
 void parser_prod___ASignature___n_type__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 4248, LOCATE_parser_prod___ASignature___n_type__eq};
+  struct trace_t trace = {NULL, NULL, 4248, LOCATE_parser_prod___ASignature___n_type__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   ATTR_parser_nodes___ASignature____n_type( self) /*ASignature::_n_type*/ =  variable0 /*n*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ ==  NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -8054,21 +8404,23 @@ void parser_prod___ASignature___n_type__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___ASignature___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 4256, LOCATE_parser_prod___ASignature___empty_init};
+  struct trace_t trace = {NULL, NULL, 4256, LOCATE_parser_prod___ASignature___empty_init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ASignature].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ASignature].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser_prod___ASignature___init_asignature(val_t  self, val_t  param0, val_t  param1, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 4258, LOCATE_parser_prod___ASignature___init_asignature};
+  struct trace_t trace = {NULL, NULL, 4258, LOCATE_parser_prod___ASignature___init_asignature};
   val_t variable0;
   val_t variable1;
   val_t variable2;
     val_t variable3;
     val_t variable4;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 =  param1;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ASignature].i]) return;
@@ -8098,13 +8450,14 @@ void parser_prod___ASignature___init_asignature(val_t  self, val_t  param0, val_
   return;
 }
 void parser_prod___ASignature___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 4275, LOCATE_parser_prod___ASignature___replace_child};
+  struct trace_t trace = {NULL, NULL, 4275, LOCATE_parser_prod___ASignature___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   val_t variable3;
     val_t variable4;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 =  param1;
   variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ ==  NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -8158,11 +8511,12 @@ void parser_prod___ASignature___replace_child(val_t  self, val_t  param0, val_t
   return;
 }
 void parser_prod___ASignature___visit_all(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 4302, LOCATE_parser_prod___ASignature___visit_all};
+  struct trace_t trace = {NULL, NULL, 4302, LOCATE_parser_prod___ASignature___visit_all};
   val_t variable0;
   val_t variable1;
     val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___ASignature____n_params( self) /*ASignature::_n_params*/;
   variable1 = ((list___List___iterator_t)CALL(variable1,COLOR_abstract_collection___Collection___iterator))(variable1) /*List::iterator*/;
@@ -8185,11 +8539,12 @@ void parser_prod___ASignature___visit_all(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___ASignature___visit_all_reverse(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 4312, LOCATE_parser_prod___ASignature___visit_all_reverse};
+  struct trace_t trace = {NULL, NULL, 4312, LOCATE_parser_prod___ASignature___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable2 = ATTR_parser_nodes___ASignature____n_params( self) /*ASignature::_n_params*/;
   variable2 = ((list___List___length_t)CALL(variable2,COLOR_abstract_collection___Collection___length))(variable2) /*List::length*/;
@@ -8215,10 +8570,11 @@ void parser_prod___ASignature___visit_all_reverse(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AParam___n_id__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 4327, LOCATE_parser_prod___AParam___n_id__eq};
+  struct trace_t trace = {NULL, NULL, 4327, LOCATE_parser_prod___AParam___n_id__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   ATTR_parser_nodes___PParam____n_id( self) /*PParam::_n_id*/ =  variable0 /*n*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ ==  NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -8229,10 +8585,11 @@ void parser_prod___AParam___n_id__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AParam___n_type__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 4334, LOCATE_parser_prod___AParam___n_type__eq};
+  struct trace_t trace = {NULL, NULL, 4334, LOCATE_parser_prod___AParam___n_type__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   ATTR_parser_nodes___PParam____n_type( self) /*PParam::_n_type*/ =  variable0 /*n*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ ==  NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -8243,10 +8600,11 @@ void parser_prod___AParam___n_type__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AParam___n_dotdotdot__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 4341, LOCATE_parser_prod___AParam___n_dotdotdot__eq};
+  struct trace_t trace = {NULL, NULL, 4341, LOCATE_parser_prod___AParam___n_dotdotdot__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   ATTR_parser_nodes___AParam____n_dotdotdot( self) /*AParam::_n_dotdotdot*/ =  variable0 /*n*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ ==  NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -8257,20 +8615,22 @@ void parser_prod___AParam___n_dotdotdot__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AParam___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 4349, LOCATE_parser_prod___AParam___empty_init};
+  struct trace_t trace = {NULL, NULL, 4349, LOCATE_parser_prod___AParam___empty_init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AParam].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AParam].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AParam___init_aparam(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 4351, LOCATE_parser_prod___AParam___init_aparam};
+  struct trace_t trace = {NULL, NULL, 4351, LOCATE_parser_prod___AParam___init_aparam};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   val_t variable3;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 =  param1;
   variable2 =  param2;
@@ -8295,11 +8655,12 @@ void parser_prod___AParam___init_aparam(val_t  self, val_t  param0, val_t  param
   return;
 }
 void parser_prod___AParam___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 4371, LOCATE_parser_prod___AParam___replace_child};
+  struct trace_t trace = {NULL, NULL, 4371, LOCATE_parser_prod___AParam___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 =  param1;
   variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ ==  NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -8351,10 +8712,11 @@ void parser_prod___AParam___replace_child(val_t  self, val_t  param0, val_t  par
   return;
 }
 void parser_prod___AParam___visit_all(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 4406, LOCATE_parser_prod___AParam___visit_all};
+  struct trace_t trace = {NULL, NULL, 4406, LOCATE_parser_prod___AParam___visit_all};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___PParam____n_id( self) /*PParam::_n_id*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 ==  NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -8378,10 +8740,11 @@ void parser_prod___AParam___visit_all(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AParam___visit_all_reverse(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 4419, LOCATE_parser_prod___AParam___visit_all_reverse};
+  struct trace_t trace = {NULL, NULL, 4419, LOCATE_parser_prod___AParam___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___PParam____n_id( self) /*PParam::_n_id*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 ==  NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -8405,10 +8768,11 @@ void parser_prod___AParam___visit_all_reverse(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AType___n_id__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 4433, LOCATE_parser_prod___AType___n_id__eq};
+  struct trace_t trace = {NULL, NULL, 4433, LOCATE_parser_prod___AType___n_id__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   ATTR_parser_nodes___AType____n_id( self) /*AType::_n_id*/ =  variable0 /*n*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ ==  NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -8419,21 +8783,23 @@ void parser_prod___AType___n_id__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AType___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 4441, LOCATE_parser_prod___AType___empty_init};
+  struct trace_t trace = {NULL, NULL, 4441, LOCATE_parser_prod___AType___empty_init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AType].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AType].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AType___init_atype(val_t  self, val_t  param0, val_t  param1, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 4443, LOCATE_parser_prod___AType___init_atype};
+  struct trace_t trace = {NULL, NULL, 4443, LOCATE_parser_prod___AType___init_atype};
   val_t variable0;
   val_t variable1;
   val_t variable2;
     val_t variable3;
     val_t variable4;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 =  param1;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AType].i]) return;
@@ -8463,13 +8829,14 @@ void parser_prod___AType___init_atype(val_t  self, val_t  param0, val_t  param1,
   return;
 }
 void parser_prod___AType___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 4460, LOCATE_parser_prod___AType___replace_child};
+  struct trace_t trace = {NULL, NULL, 4460, LOCATE_parser_prod___AType___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   val_t variable3;
     val_t variable4;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 =  param1;
   variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ ==  NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -8523,11 +8890,12 @@ void parser_prod___AType___replace_child(val_t  self, val_t  param0, val_t  para
   return;
 }
 void parser_prod___AType___visit_all(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 4487, LOCATE_parser_prod___AType___visit_all};
+  struct trace_t trace = {NULL, NULL, 4487, LOCATE_parser_prod___AType___visit_all};
   val_t variable0;
   val_t variable1;
     val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___AType____n_id( self) /*AType::_n_id*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 ==  NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -8550,11 +8918,12 @@ void parser_prod___AType___visit_all(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AType___visit_all_reverse(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 4497, LOCATE_parser_prod___AType___visit_all_reverse};
+  struct trace_t trace = {NULL, NULL, 4497, LOCATE_parser_prod___AType___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___AType____n_id( self) /*AType::_n_id*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 ==  NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -8580,20 +8949,22 @@ void parser_prod___AType___visit_all_reverse(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___ABlockExpr___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 4513, LOCATE_parser_prod___ABlockExpr___empty_init};
+  struct trace_t trace = {NULL, NULL, 4513, LOCATE_parser_prod___ABlockExpr___empty_init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ABlockExpr].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ABlockExpr].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser_prod___ABlockExpr___init_ablockexpr(val_t  self, val_t  param0, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 4515, LOCATE_parser_prod___ABlockExpr___init_ablockexpr};
+  struct trace_t trace = {NULL, NULL, 4515, LOCATE_parser_prod___ABlockExpr___init_ablockexpr};
   val_t variable0;
   val_t variable1;
     val_t variable2;
     val_t variable3;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ABlockExpr].i]) return;
   variable1 = NEW_list___List___init(); /*new List[E]*/
@@ -8617,13 +8988,14 @@ void parser_prod___ABlockExpr___init_ablockexpr(val_t  self, val_t  param0, int*
   return;
 }
 void parser_prod___ABlockExpr___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 4527, LOCATE_parser_prod___ABlockExpr___replace_child};
+  struct trace_t trace = {NULL, NULL, 4527, LOCATE_parser_prod___ABlockExpr___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   val_t variable3;
     val_t variable4;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 =  param1;
   variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ ==  NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -8663,11 +9035,12 @@ void parser_prod___ABlockExpr___replace_child(val_t  self, val_t  param0, val_t
   return;
 }
 void parser_prod___ABlockExpr___visit_all(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 4544, LOCATE_parser_prod___ABlockExpr___visit_all};
+  struct trace_t trace = {NULL, NULL, 4544, LOCATE_parser_prod___ABlockExpr___visit_all};
   val_t variable0;
   val_t variable1;
     val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___ABlockExpr____n_expr( self) /*ABlockExpr::_n_expr*/;
   variable1 = ((list___List___iterator_t)CALL(variable1,COLOR_abstract_collection___Collection___iterator))(variable1) /*List::iterator*/;
@@ -8684,11 +9057,12 @@ void parser_prod___ABlockExpr___visit_all(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___ABlockExpr___visit_all_reverse(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 4551, LOCATE_parser_prod___ABlockExpr___visit_all_reverse};
+  struct trace_t trace = {NULL, NULL, 4551, LOCATE_parser_prod___ABlockExpr___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable2 = ATTR_parser_nodes___ABlockExpr____n_expr( self) /*ABlockExpr::_n_expr*/;
   variable2 = ((list___List___length_t)CALL(variable2,COLOR_abstract_collection___Collection___length))(variable2) /*List::length*/;
@@ -8708,10 +9082,11 @@ void parser_prod___ABlockExpr___visit_all_reverse(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AVardeclExpr___n_kwvar__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 4563, LOCATE_parser_prod___AVardeclExpr___n_kwvar__eq};
+  struct trace_t trace = {NULL, NULL, 4563, LOCATE_parser_prod___AVardeclExpr___n_kwvar__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   ATTR_parser_nodes___AVardeclExpr____n_kwvar( self) /*AVardeclExpr::_n_kwvar*/ =  variable0 /*n*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ ==  NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -8722,10 +9097,11 @@ void parser_prod___AVardeclExpr___n_kwvar__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AVardeclExpr___n_id__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 4570, LOCATE_parser_prod___AVardeclExpr___n_id__eq};
+  struct trace_t trace = {NULL, NULL, 4570, LOCATE_parser_prod___AVardeclExpr___n_id__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   ATTR_parser_nodes___AVardeclExpr____n_id( self) /*AVardeclExpr::_n_id*/ =  variable0 /*n*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ ==  NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -8736,10 +9112,11 @@ void parser_prod___AVardeclExpr___n_id__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AVardeclExpr___n_type__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 4577, LOCATE_parser_prod___AVardeclExpr___n_type__eq};
+  struct trace_t trace = {NULL, NULL, 4577, LOCATE_parser_prod___AVardeclExpr___n_type__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   ATTR_parser_nodes___AVardeclExpr____n_type( self) /*AVardeclExpr::_n_type*/ =  variable0 /*n*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ ==  NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -8750,10 +9127,11 @@ void parser_prod___AVardeclExpr___n_type__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AVardeclExpr___n_assign__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 4584, LOCATE_parser_prod___AVardeclExpr___n_assign__eq};
+  struct trace_t trace = {NULL, NULL, 4584, LOCATE_parser_prod___AVardeclExpr___n_assign__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   ATTR_parser_nodes___AVardeclExpr____n_assign( self) /*AVardeclExpr::_n_assign*/ =  variable0 /*n*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ ==  NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -8764,10 +9142,11 @@ void parser_prod___AVardeclExpr___n_assign__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AVardeclExpr___n_expr__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 4591, LOCATE_parser_prod___AVardeclExpr___n_expr__eq};
+  struct trace_t trace = {NULL, NULL, 4591, LOCATE_parser_prod___AVardeclExpr___n_expr__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   ATTR_parser_nodes___AVardeclExpr____n_expr( self) /*AVardeclExpr::_n_expr*/ =  variable0 /*n*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ ==  NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -8778,15 +9157,16 @@ void parser_prod___AVardeclExpr___n_expr__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AVardeclExpr___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 4599, LOCATE_parser_prod___AVardeclExpr___empty_init};
+  struct trace_t trace = {NULL, NULL, 4599, LOCATE_parser_prod___AVardeclExpr___empty_init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AVardeclExpr].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AVardeclExpr].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AVardeclExpr___init_avardeclexpr(val_t  self, val_t  param0, val_t  param1, val_t  param2, val_t  param3, val_t  param4, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 4601, LOCATE_parser_prod___AVardeclExpr___init_avardeclexpr};
+  struct trace_t trace = {NULL, NULL, 4601, LOCATE_parser_prod___AVardeclExpr___init_avardeclexpr};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -8794,6 +9174,7 @@ void parser_prod___AVardeclExpr___init_avardeclexpr(val_t  self, val_t  param0,
   val_t variable4;
   val_t variable5;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 =  param1;
   variable2 =  param2;
@@ -8830,11 +9211,12 @@ void parser_prod___AVardeclExpr___init_avardeclexpr(val_t  self, val_t  param0,
   return;
 }
 void parser_prod___AVardeclExpr___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 4631, LOCATE_parser_prod___AVardeclExpr___replace_child};
+  struct trace_t trace = {NULL, NULL, 4631, LOCATE_parser_prod___AVardeclExpr___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 =  param1;
   variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ ==  NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -8914,10 +9296,11 @@ void parser_prod___AVardeclExpr___replace_child(val_t  self, val_t  param0, val_
   return;
 }
 void parser_prod___AVardeclExpr___visit_all(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 4686, LOCATE_parser_prod___AVardeclExpr___visit_all};
+  struct trace_t trace = {NULL, NULL, 4686, LOCATE_parser_prod___AVardeclExpr___visit_all};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___AVardeclExpr____n_kwvar( self) /*AVardeclExpr::_n_kwvar*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 ==  NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -8953,10 +9336,11 @@ void parser_prod___AVardeclExpr___visit_all(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AVardeclExpr___visit_all_reverse(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 4705, LOCATE_parser_prod___AVardeclExpr___visit_all_reverse};
+  struct trace_t trace = {NULL, NULL, 4705, LOCATE_parser_prod___AVardeclExpr___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___AVardeclExpr____n_kwvar( self) /*AVardeclExpr::_n_kwvar*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 ==  NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -8992,10 +9376,11 @@ void parser_prod___AVardeclExpr___visit_all_reverse(val_t  self, val_t  param0)
   return;
 }
 void parser_prod___AReturnExpr___n_kwreturn__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 4725, LOCATE_parser_prod___AReturnExpr___n_kwreturn__eq};
+  struct trace_t trace = {NULL, NULL, 4725, LOCATE_parser_prod___AReturnExpr___n_kwreturn__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   ATTR_parser_nodes___AReturnExpr____n_kwreturn( self) /*AReturnExpr::_n_kwreturn*/ =  variable0 /*n*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ ==  NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -9006,10 +9391,11 @@ void parser_prod___AReturnExpr___n_kwreturn__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AReturnExpr___n_expr__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 4732, LOCATE_parser_prod___AReturnExpr___n_expr__eq};
+  struct trace_t trace = {NULL, NULL, 4732, LOCATE_parser_prod___AReturnExpr___n_expr__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   ATTR_parser_nodes___AReturnExpr____n_expr( self) /*AReturnExpr::_n_expr*/ =  variable0 /*n*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ ==  NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -9020,19 +9406,21 @@ void parser_prod___AReturnExpr___n_expr__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AReturnExpr___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 4740, LOCATE_parser_prod___AReturnExpr___empty_init};
+  struct trace_t trace = {NULL, NULL, 4740, LOCATE_parser_prod___AReturnExpr___empty_init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AReturnExpr].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AReturnExpr].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AReturnExpr___init_areturnexpr(val_t  self, val_t  param0, val_t  param1, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 4742, LOCATE_parser_prod___AReturnExpr___init_areturnexpr};
+  struct trace_t trace = {NULL, NULL, 4742, LOCATE_parser_prod___AReturnExpr___init_areturnexpr};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 =  param1;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AReturnExpr].i]) return;
@@ -9051,11 +9439,12 @@ void parser_prod___AReturnExpr___init_areturnexpr(val_t  self, val_t  param0, va
   return;
 }
 void parser_prod___AReturnExpr___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 4757, LOCATE_parser_prod___AReturnExpr___replace_child};
+  struct trace_t trace = {NULL, NULL, 4757, LOCATE_parser_prod___AReturnExpr___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 =  param1;
   variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ ==  NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -9093,10 +9482,11 @@ void parser_prod___AReturnExpr___replace_child(val_t  self, val_t  param0, val_t
   return;
 }
 void parser_prod___AReturnExpr___visit_all(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 4782, LOCATE_parser_prod___AReturnExpr___visit_all};
+  struct trace_t trace = {NULL, NULL, 4782, LOCATE_parser_prod___AReturnExpr___visit_all};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___AReturnExpr____n_kwreturn( self) /*AReturnExpr::_n_kwreturn*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 ==  NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -9114,10 +9504,11 @@ void parser_prod___AReturnExpr___visit_all(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AReturnExpr___visit_all_reverse(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 4792, LOCATE_parser_prod___AReturnExpr___visit_all_reverse};
+  struct trace_t trace = {NULL, NULL, 4792, LOCATE_parser_prod___AReturnExpr___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___AReturnExpr____n_kwreturn( self) /*AReturnExpr::_n_kwreturn*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 ==  NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -9135,10 +9526,11 @@ void parser_prod___AReturnExpr___visit_all_reverse(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___ABreakExpr___n_kwbreak__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 4803, LOCATE_parser_prod___ABreakExpr___n_kwbreak__eq};
+  struct trace_t trace = {NULL, NULL, 4803, LOCATE_parser_prod___ABreakExpr___n_kwbreak__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   ATTR_parser_nodes___ABreakExpr____n_kwbreak( self) /*ABreakExpr::_n_kwbreak*/ =  variable0 /*n*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ ==  NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -9149,18 +9541,20 @@ void parser_prod___ABreakExpr___n_kwbreak__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___ABreakExpr___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 4811, LOCATE_parser_prod___ABreakExpr___empty_init};
+  struct trace_t trace = {NULL, NULL, 4811, LOCATE_parser_prod___ABreakExpr___empty_init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ABreakExpr].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ABreakExpr].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser_prod___ABreakExpr___init_abreakexpr(val_t  self, val_t  param0, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 4813, LOCATE_parser_prod___ABreakExpr___init_abreakexpr};
+  struct trace_t trace = {NULL, NULL, 4813, LOCATE_parser_prod___ABreakExpr___init_abreakexpr};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ABreakExpr].i]) return;
   ATTR_parser_nodes___ABreakExpr____n_kwbreak( self) /*ABreakExpr::_n_kwbreak*/ =  variable0 /*n_kwbreak*/;
@@ -9173,11 +9567,12 @@ void parser_prod___ABreakExpr___init_abreakexpr(val_t  self, val_t  param0, int*
   return;
 }
 void parser_prod___ABreakExpr___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 4823, LOCATE_parser_prod___ABreakExpr___replace_child};
+  struct trace_t trace = {NULL, NULL, 4823, LOCATE_parser_prod___ABreakExpr___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 =  param1;
   variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ ==  NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -9201,10 +9596,11 @@ void parser_prod___ABreakExpr___replace_child(val_t  self, val_t  param0, val_t
   return;
 }
 void parser_prod___ABreakExpr___visit_all(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 4838, LOCATE_parser_prod___ABreakExpr___visit_all};
+  struct trace_t trace = {NULL, NULL, 4838, LOCATE_parser_prod___ABreakExpr___visit_all};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___ABreakExpr____n_kwbreak( self) /*ABreakExpr::_n_kwbreak*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 ==  NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -9216,10 +9612,11 @@ void parser_prod___ABreakExpr___visit_all(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___ABreakExpr___visit_all_reverse(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 4845, LOCATE_parser_prod___ABreakExpr___visit_all_reverse};
+  struct trace_t trace = {NULL, NULL, 4845, LOCATE_parser_prod___ABreakExpr___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___ABreakExpr____n_kwbreak( self) /*ABreakExpr::_n_kwbreak*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 ==  NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -9231,10 +9628,11 @@ void parser_prod___ABreakExpr___visit_all_reverse(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AAbortExpr___n_kwabort__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 4853, LOCATE_parser_prod___AAbortExpr___n_kwabort__eq};
+  struct trace_t trace = {NULL, NULL, 4853, LOCATE_parser_prod___AAbortExpr___n_kwabort__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   ATTR_parser_nodes___AAbortExpr____n_kwabort( self) /*AAbortExpr::_n_kwabort*/ =  variable0 /*n*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ ==  NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -9245,18 +9643,20 @@ void parser_prod___AAbortExpr___n_kwabort__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AAbortExpr___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 4861, LOCATE_parser_prod___AAbortExpr___empty_init};
+  struct trace_t trace = {NULL, NULL, 4861, LOCATE_parser_prod___AAbortExpr___empty_init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AAbortExpr].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AAbortExpr].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AAbortExpr___init_aabortexpr(val_t  self, val_t  param0, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 4863, LOCATE_parser_prod___AAbortExpr___init_aabortexpr};
+  struct trace_t trace = {NULL, NULL, 4863, LOCATE_parser_prod___AAbortExpr___init_aabortexpr};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AAbortExpr].i]) return;
   ATTR_parser_nodes___AAbortExpr____n_kwabort( self) /*AAbortExpr::_n_kwabort*/ =  variable0 /*n_kwabort*/;
@@ -9269,11 +9669,12 @@ void parser_prod___AAbortExpr___init_aabortexpr(val_t  self, val_t  param0, int*
   return;
 }
 void parser_prod___AAbortExpr___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 4873, LOCATE_parser_prod___AAbortExpr___replace_child};
+  struct trace_t trace = {NULL, NULL, 4873, LOCATE_parser_prod___AAbortExpr___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 =  param1;
   variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ ==  NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -9297,10 +9698,11 @@ void parser_prod___AAbortExpr___replace_child(val_t  self, val_t  param0, val_t
   return;
 }
 void parser_prod___AAbortExpr___visit_all(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 4888, LOCATE_parser_prod___AAbortExpr___visit_all};
+  struct trace_t trace = {NULL, NULL, 4888, LOCATE_parser_prod___AAbortExpr___visit_all};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___AAbortExpr____n_kwabort( self) /*AAbortExpr::_n_kwabort*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 ==  NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -9312,10 +9714,11 @@ void parser_prod___AAbortExpr___visit_all(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AAbortExpr___visit_all_reverse(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 4895, LOCATE_parser_prod___AAbortExpr___visit_all_reverse};
+  struct trace_t trace = {NULL, NULL, 4895, LOCATE_parser_prod___AAbortExpr___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___AAbortExpr____n_kwabort( self) /*AAbortExpr::_n_kwabort*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 ==  NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -9327,10 +9730,11 @@ void parser_prod___AAbortExpr___visit_all_reverse(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AContinueExpr___n_kwcontinue__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 4903, LOCATE_parser_prod___AContinueExpr___n_kwcontinue__eq};
+  struct trace_t trace = {NULL, NULL, 4903, LOCATE_parser_prod___AContinueExpr___n_kwcontinue__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   ATTR_parser_nodes___AContinueExpr____n_kwcontinue( self) /*AContinueExpr::_n_kwcontinue*/ =  variable0 /*n*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ ==  NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -9341,18 +9745,20 @@ void parser_prod___AContinueExpr___n_kwcontinue__eq(val_t  self, val_t  param0)
   return;
 }
 void parser_prod___AContinueExpr___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 4911, LOCATE_parser_prod___AContinueExpr___empty_init};
+  struct trace_t trace = {NULL, NULL, 4911, LOCATE_parser_prod___AContinueExpr___empty_init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AContinueExpr].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AContinueExpr].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AContinueExpr___init_acontinueexpr(val_t  self, val_t  param0, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 4913, LOCATE_parser_prod___AContinueExpr___init_acontinueexpr};
+  struct trace_t trace = {NULL, NULL, 4913, LOCATE_parser_prod___AContinueExpr___init_acontinueexpr};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AContinueExpr].i]) return;
   ATTR_parser_nodes___AContinueExpr____n_kwcontinue( self) /*AContinueExpr::_n_kwcontinue*/ =  variable0 /*n_kwcontinue*/;
@@ -9365,11 +9771,12 @@ void parser_prod___AContinueExpr___init_acontinueexpr(val_t  self, val_t  param0
   return;
 }
 void parser_prod___AContinueExpr___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 4923, LOCATE_parser_prod___AContinueExpr___replace_child};
+  struct trace_t trace = {NULL, NULL, 4923, LOCATE_parser_prod___AContinueExpr___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 =  param1;
   variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ ==  NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -9393,10 +9800,11 @@ void parser_prod___AContinueExpr___replace_child(val_t  self, val_t  param0, val
   return;
 }
 void parser_prod___AContinueExpr___visit_all(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 4938, LOCATE_parser_prod___AContinueExpr___visit_all};
+  struct trace_t trace = {NULL, NULL, 4938, LOCATE_parser_prod___AContinueExpr___visit_all};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___AContinueExpr____n_kwcontinue( self) /*AContinueExpr::_n_kwcontinue*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 ==  NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -9408,10 +9816,11 @@ void parser_prod___AContinueExpr___visit_all(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AContinueExpr___visit_all_reverse(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 4945, LOCATE_parser_prod___AContinueExpr___visit_all_reverse};
+  struct trace_t trace = {NULL, NULL, 4945, LOCATE_parser_prod___AContinueExpr___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___AContinueExpr____n_kwcontinue( self) /*AContinueExpr::_n_kwcontinue*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 ==  NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -9423,10 +9832,11 @@ void parser_prod___AContinueExpr___visit_all_reverse(val_t  self, val_t  param0)
   return;
 }
 void parser_prod___ADoExpr___n_kwdo__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 4953, LOCATE_parser_prod___ADoExpr___n_kwdo__eq};
+  struct trace_t trace = {NULL, NULL, 4953, LOCATE_parser_prod___ADoExpr___n_kwdo__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   ATTR_parser_nodes___ADoExpr____n_kwdo( self) /*ADoExpr::_n_kwdo*/ =  variable0 /*n*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ ==  NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -9437,10 +9847,11 @@ void parser_prod___ADoExpr___n_kwdo__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___ADoExpr___n_block__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 4960, LOCATE_parser_prod___ADoExpr___n_block__eq};
+  struct trace_t trace = {NULL, NULL, 4960, LOCATE_parser_prod___ADoExpr___n_block__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   ATTR_parser_nodes___ADoExpr____n_block( self) /*ADoExpr::_n_block*/ =  variable0 /*n*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ ==  NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -9451,19 +9862,21 @@ void parser_prod___ADoExpr___n_block__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___ADoExpr___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 4968, LOCATE_parser_prod___ADoExpr___empty_init};
+  struct trace_t trace = {NULL, NULL, 4968, LOCATE_parser_prod___ADoExpr___empty_init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ADoExpr].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ADoExpr].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser_prod___ADoExpr___init_adoexpr(val_t  self, val_t  param0, val_t  param1, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 4970, LOCATE_parser_prod___ADoExpr___init_adoexpr};
+  struct trace_t trace = {NULL, NULL, 4970, LOCATE_parser_prod___ADoExpr___init_adoexpr};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 =  param1;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ADoExpr].i]) return;
@@ -9482,11 +9895,12 @@ void parser_prod___ADoExpr___init_adoexpr(val_t  self, val_t  param0, val_t  par
   return;
 }
 void parser_prod___ADoExpr___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 4985, LOCATE_parser_prod___ADoExpr___replace_child};
+  struct trace_t trace = {NULL, NULL, 4985, LOCATE_parser_prod___ADoExpr___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 =  param1;
   variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ ==  NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -9524,10 +9938,11 @@ void parser_prod___ADoExpr___replace_child(val_t  self, val_t  param0, val_t  pa
   return;
 }
 void parser_prod___ADoExpr___visit_all(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 5010, LOCATE_parser_prod___ADoExpr___visit_all};
+  struct trace_t trace = {NULL, NULL, 5010, LOCATE_parser_prod___ADoExpr___visit_all};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___ADoExpr____n_kwdo( self) /*ADoExpr::_n_kwdo*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 ==  NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -9545,10 +9960,11 @@ void parser_prod___ADoExpr___visit_all(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___ADoExpr___visit_all_reverse(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 5020, LOCATE_parser_prod___ADoExpr___visit_all_reverse};
+  struct trace_t trace = {NULL, NULL, 5020, LOCATE_parser_prod___ADoExpr___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___ADoExpr____n_kwdo( self) /*ADoExpr::_n_kwdo*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 ==  NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -9566,10 +9982,11 @@ void parser_prod___ADoExpr___visit_all_reverse(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AIfExpr___n_kwif__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 5031, LOCATE_parser_prod___AIfExpr___n_kwif__eq};
+  struct trace_t trace = {NULL, NULL, 5031, LOCATE_parser_prod___AIfExpr___n_kwif__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   ATTR_parser_nodes___AIfExpr____n_kwif( self) /*AIfExpr::_n_kwif*/ =  variable0 /*n*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ ==  NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -9580,10 +9997,11 @@ void parser_prod___AIfExpr___n_kwif__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AIfExpr___n_expr__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 5038, LOCATE_parser_prod___AIfExpr___n_expr__eq};
+  struct trace_t trace = {NULL, NULL, 5038, LOCATE_parser_prod___AIfExpr___n_expr__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   ATTR_parser_nodes___AIfExpr____n_expr( self) /*AIfExpr::_n_expr*/ =  variable0 /*n*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ ==  NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -9594,10 +10012,11 @@ void parser_prod___AIfExpr___n_expr__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AIfExpr___n_then__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 5045, LOCATE_parser_prod___AIfExpr___n_then__eq};
+  struct trace_t trace = {NULL, NULL, 5045, LOCATE_parser_prod___AIfExpr___n_then__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   ATTR_parser_nodes___AIfExpr____n_then( self) /*AIfExpr::_n_then*/ =  variable0 /*n*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ ==  NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -9608,10 +10027,11 @@ void parser_prod___AIfExpr___n_then__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AIfExpr___n_else__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 5052, LOCATE_parser_prod___AIfExpr___n_else__eq};
+  struct trace_t trace = {NULL, NULL, 5052, LOCATE_parser_prod___AIfExpr___n_else__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   ATTR_parser_nodes___AIfExpr____n_else( self) /*AIfExpr::_n_else*/ =  variable0 /*n*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ ==  NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -9622,21 +10042,23 @@ void parser_prod___AIfExpr___n_else__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AIfExpr___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 5060, LOCATE_parser_prod___AIfExpr___empty_init};
+  struct trace_t trace = {NULL, NULL, 5060, LOCATE_parser_prod___AIfExpr___empty_init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AIfExpr].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AIfExpr].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AIfExpr___init_aifexpr(val_t  self, val_t  param0, val_t  param1, val_t  param2, val_t  param3, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 5062, LOCATE_parser_prod___AIfExpr___init_aifexpr};
+  struct trace_t trace = {NULL, NULL, 5062, LOCATE_parser_prod___AIfExpr___init_aifexpr};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   val_t variable3;
   val_t variable4;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 =  param1;
   variable2 =  param2;
@@ -9667,11 +10089,12 @@ void parser_prod___AIfExpr___init_aifexpr(val_t  self, val_t  param0, val_t  par
   return;
 }
 void parser_prod___AIfExpr___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 5087, LOCATE_parser_prod___AIfExpr___replace_child};
+  struct trace_t trace = {NULL, NULL, 5087, LOCATE_parser_prod___AIfExpr___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 =  param1;
   variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ ==  NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -9737,10 +10160,11 @@ void parser_prod___AIfExpr___replace_child(val_t  self, val_t  param0, val_t  pa
   return;
 }
 void parser_prod___AIfExpr___visit_all(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 5132, LOCATE_parser_prod___AIfExpr___visit_all};
+  struct trace_t trace = {NULL, NULL, 5132, LOCATE_parser_prod___AIfExpr___visit_all};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___AIfExpr____n_kwif( self) /*AIfExpr::_n_kwif*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 ==  NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -9770,10 +10194,11 @@ void parser_prod___AIfExpr___visit_all(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AIfExpr___visit_all_reverse(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 5148, LOCATE_parser_prod___AIfExpr___visit_all_reverse};
+  struct trace_t trace = {NULL, NULL, 5148, LOCATE_parser_prod___AIfExpr___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___AIfExpr____n_kwif( self) /*AIfExpr::_n_kwif*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 ==  NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -9803,10 +10228,11 @@ void parser_prod___AIfExpr___visit_all_reverse(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AIfexprExpr___n_kwif__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 5165, LOCATE_parser_prod___AIfexprExpr___n_kwif__eq};
+  struct trace_t trace = {NULL, NULL, 5165, LOCATE_parser_prod___AIfexprExpr___n_kwif__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   ATTR_parser_nodes___AIfexprExpr____n_kwif( self) /*AIfexprExpr::_n_kwif*/ =  variable0 /*n*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ ==  NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -9817,10 +10243,11 @@ void parser_prod___AIfexprExpr___n_kwif__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AIfexprExpr___n_expr__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 5172, LOCATE_parser_prod___AIfexprExpr___n_expr__eq};
+  struct trace_t trace = {NULL, NULL, 5172, LOCATE_parser_prod___AIfexprExpr___n_expr__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   ATTR_parser_nodes___AIfexprExpr____n_expr( self) /*AIfexprExpr::_n_expr*/ =  variable0 /*n*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ ==  NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -9831,10 +10258,11 @@ void parser_prod___AIfexprExpr___n_expr__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AIfexprExpr___n_kwthen__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 5179, LOCATE_parser_prod___AIfexprExpr___n_kwthen__eq};
+  struct trace_t trace = {NULL, NULL, 5179, LOCATE_parser_prod___AIfexprExpr___n_kwthen__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   ATTR_parser_nodes___AIfexprExpr____n_kwthen( self) /*AIfexprExpr::_n_kwthen*/ =  variable0 /*n*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ ==  NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -9845,10 +10273,11 @@ void parser_prod___AIfexprExpr___n_kwthen__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AIfexprExpr___n_then__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 5186, LOCATE_parser_prod___AIfexprExpr___n_then__eq};
+  struct trace_t trace = {NULL, NULL, 5186, LOCATE_parser_prod___AIfexprExpr___n_then__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   ATTR_parser_nodes___AIfexprExpr____n_then( self) /*AIfexprExpr::_n_then*/ =  variable0 /*n*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ ==  NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -9859,10 +10288,11 @@ void parser_prod___AIfexprExpr___n_then__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AIfexprExpr___n_kwelse__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 5193, LOCATE_parser_prod___AIfexprExpr___n_kwelse__eq};
+  struct trace_t trace = {NULL, NULL, 5193, LOCATE_parser_prod___AIfexprExpr___n_kwelse__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   ATTR_parser_nodes___AIfexprExpr____n_kwelse( self) /*AIfexprExpr::_n_kwelse*/ =  variable0 /*n*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ ==  NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -9873,10 +10303,11 @@ void parser_prod___AIfexprExpr___n_kwelse__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AIfexprExpr___n_else__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 5200, LOCATE_parser_prod___AIfexprExpr___n_else__eq};
+  struct trace_t trace = {NULL, NULL, 5200, LOCATE_parser_prod___AIfexprExpr___n_else__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   ATTR_parser_nodes___AIfexprExpr____n_else( self) /*AIfexprExpr::_n_else*/ =  variable0 /*n*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ ==  NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -9887,15 +10318,16 @@ void parser_prod___AIfexprExpr___n_else__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AIfexprExpr___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 5208, LOCATE_parser_prod___AIfexprExpr___empty_init};
+  struct trace_t trace = {NULL, NULL, 5208, LOCATE_parser_prod___AIfexprExpr___empty_init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AIfexprExpr].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AIfexprExpr].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AIfexprExpr___init_aifexprexpr(val_t  self, val_t  param0, val_t  param1, val_t  param2, val_t  param3, val_t  param4, val_t  param5, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 5210, LOCATE_parser_prod___AIfexprExpr___init_aifexprexpr};
+  struct trace_t trace = {NULL, NULL, 5210, LOCATE_parser_prod___AIfexprExpr___init_aifexprexpr};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -9904,6 +10336,7 @@ void parser_prod___AIfexprExpr___init_aifexprexpr(val_t  self, val_t  param0, va
   val_t variable5;
   val_t variable6;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 =  param1;
   variable2 =  param2;
@@ -9946,11 +10379,12 @@ void parser_prod___AIfexprExpr___init_aifexprexpr(val_t  self, val_t  param0, va
   return;
 }
 void parser_prod___AIfexprExpr___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 5245, LOCATE_parser_prod___AIfexprExpr___replace_child};
+  struct trace_t trace = {NULL, NULL, 5245, LOCATE_parser_prod___AIfexprExpr___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 =  param1;
   variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ ==  NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -10044,10 +10478,11 @@ void parser_prod___AIfexprExpr___replace_child(val_t  self, val_t  param0, val_t
   return;
 }
 void parser_prod___AIfexprExpr___visit_all(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 5310, LOCATE_parser_prod___AIfexprExpr___visit_all};
+  struct trace_t trace = {NULL, NULL, 5310, LOCATE_parser_prod___AIfexprExpr___visit_all};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___AIfexprExpr____n_kwif( self) /*AIfexprExpr::_n_kwif*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 ==  NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -10089,10 +10524,11 @@ void parser_prod___AIfexprExpr___visit_all(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AIfexprExpr___visit_all_reverse(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 5332, LOCATE_parser_prod___AIfexprExpr___visit_all_reverse};
+  struct trace_t trace = {NULL, NULL, 5332, LOCATE_parser_prod___AIfexprExpr___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___AIfexprExpr____n_kwif( self) /*AIfexprExpr::_n_kwif*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 ==  NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -10134,10 +10570,11 @@ void parser_prod___AIfexprExpr___visit_all_reverse(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AWhileExpr___n_kwwhile__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 5355, LOCATE_parser_prod___AWhileExpr___n_kwwhile__eq};
+  struct trace_t trace = {NULL, NULL, 5355, LOCATE_parser_prod___AWhileExpr___n_kwwhile__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   ATTR_parser_nodes___AWhileExpr____n_kwwhile( self) /*AWhileExpr::_n_kwwhile*/ =  variable0 /*n*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ ==  NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -10148,10 +10585,11 @@ void parser_prod___AWhileExpr___n_kwwhile__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AWhileExpr___n_expr__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 5362, LOCATE_parser_prod___AWhileExpr___n_expr__eq};
+  struct trace_t trace = {NULL, NULL, 5362, LOCATE_parser_prod___AWhileExpr___n_expr__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   ATTR_parser_nodes___AWhileExpr____n_expr( self) /*AWhileExpr::_n_expr*/ =  variable0 /*n*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ ==  NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -10162,10 +10600,11 @@ void parser_prod___AWhileExpr___n_expr__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AWhileExpr___n_kwdo__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 5369, LOCATE_parser_prod___AWhileExpr___n_kwdo__eq};
+  struct trace_t trace = {NULL, NULL, 5369, LOCATE_parser_prod___AWhileExpr___n_kwdo__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   ATTR_parser_nodes___AWhileExpr____n_kwdo( self) /*AWhileExpr::_n_kwdo*/ =  variable0 /*n*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ ==  NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -10176,10 +10615,11 @@ void parser_prod___AWhileExpr___n_kwdo__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AWhileExpr___n_block__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 5376, LOCATE_parser_prod___AWhileExpr___n_block__eq};
+  struct trace_t trace = {NULL, NULL, 5376, LOCATE_parser_prod___AWhileExpr___n_block__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   ATTR_parser_nodes___AWhileExpr____n_block( self) /*AWhileExpr::_n_block*/ =  variable0 /*n*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ ==  NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -10190,21 +10630,23 @@ void parser_prod___AWhileExpr___n_block__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AWhileExpr___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 5384, LOCATE_parser_prod___AWhileExpr___empty_init};
+  struct trace_t trace = {NULL, NULL, 5384, LOCATE_parser_prod___AWhileExpr___empty_init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AWhileExpr].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AWhileExpr].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AWhileExpr___init_awhileexpr(val_t  self, val_t  param0, val_t  param1, val_t  param2, val_t  param3, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 5386, LOCATE_parser_prod___AWhileExpr___init_awhileexpr};
+  struct trace_t trace = {NULL, NULL, 5386, LOCATE_parser_prod___AWhileExpr___init_awhileexpr};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   val_t variable3;
   val_t variable4;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 =  param1;
   variable2 =  param2;
@@ -10235,11 +10677,12 @@ void parser_prod___AWhileExpr___init_awhileexpr(val_t  self, val_t  param0, val_
   return;
 }
 void parser_prod___AWhileExpr___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 5411, LOCATE_parser_prod___AWhileExpr___replace_child};
+  struct trace_t trace = {NULL, NULL, 5411, LOCATE_parser_prod___AWhileExpr___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 =  param1;
   variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ ==  NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -10305,10 +10748,11 @@ void parser_prod___AWhileExpr___replace_child(val_t  self, val_t  param0, val_t
   return;
 }
 void parser_prod___AWhileExpr___visit_all(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 5456, LOCATE_parser_prod___AWhileExpr___visit_all};
+  struct trace_t trace = {NULL, NULL, 5456, LOCATE_parser_prod___AWhileExpr___visit_all};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___AWhileExpr____n_kwwhile( self) /*AWhileExpr::_n_kwwhile*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 ==  NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -10338,10 +10782,11 @@ void parser_prod___AWhileExpr___visit_all(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AWhileExpr___visit_all_reverse(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 5472, LOCATE_parser_prod___AWhileExpr___visit_all_reverse};
+  struct trace_t trace = {NULL, NULL, 5472, LOCATE_parser_prod___AWhileExpr___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___AWhileExpr____n_kwwhile( self) /*AWhileExpr::_n_kwwhile*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 ==  NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -10371,10 +10816,11 @@ void parser_prod___AWhileExpr___visit_all_reverse(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AForExpr___n_vardecl__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 5489, LOCATE_parser_prod___AForExpr___n_vardecl__eq};
+  struct trace_t trace = {NULL, NULL, 5489, LOCATE_parser_prod___AForExpr___n_vardecl__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   ATTR_parser_nodes___AForExpr____n_vardecl( self) /*AForExpr::_n_vardecl*/ =  variable0 /*n*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ ==  NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -10385,10 +10831,11 @@ void parser_prod___AForExpr___n_vardecl__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AForExpr___n_kwdo__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 5496, LOCATE_parser_prod___AForExpr___n_kwdo__eq};
+  struct trace_t trace = {NULL, NULL, 5496, LOCATE_parser_prod___AForExpr___n_kwdo__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   ATTR_parser_nodes___AForExpr____n_kwdo( self) /*AForExpr::_n_kwdo*/ =  variable0 /*n*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ ==  NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -10399,10 +10846,11 @@ void parser_prod___AForExpr___n_kwdo__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AForExpr___n_block__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 5503, LOCATE_parser_prod___AForExpr___n_block__eq};
+  struct trace_t trace = {NULL, NULL, 5503, LOCATE_parser_prod___AForExpr___n_block__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   ATTR_parser_nodes___AForExpr____n_block( self) /*AForExpr::_n_block*/ =  variable0 /*n*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ ==  NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -10413,20 +10861,22 @@ void parser_prod___AForExpr___n_block__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AForExpr___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 5511, LOCATE_parser_prod___AForExpr___empty_init};
+  struct trace_t trace = {NULL, NULL, 5511, LOCATE_parser_prod___AForExpr___empty_init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AForExpr].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AForExpr].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AForExpr___init_aforexpr(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 5513, LOCATE_parser_prod___AForExpr___init_aforexpr};
+  struct trace_t trace = {NULL, NULL, 5513, LOCATE_parser_prod___AForExpr___init_aforexpr};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   val_t variable3;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 =  param1;
   variable2 =  param2;
@@ -10451,11 +10901,12 @@ void parser_prod___AForExpr___init_aforexpr(val_t  self, val_t  param0, val_t  p
   return;
 }
 void parser_prod___AForExpr___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 5533, LOCATE_parser_prod___AForExpr___replace_child};
+  struct trace_t trace = {NULL, NULL, 5533, LOCATE_parser_prod___AForExpr___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 =  param1;
   variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ ==  NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -10507,10 +10958,11 @@ void parser_prod___AForExpr___replace_child(val_t  self, val_t  param0, val_t  p
   return;
 }
 void parser_prod___AForExpr___visit_all(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 5568, LOCATE_parser_prod___AForExpr___visit_all};
+  struct trace_t trace = {NULL, NULL, 5568, LOCATE_parser_prod___AForExpr___visit_all};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___AForExpr____n_vardecl( self) /*AForExpr::_n_vardecl*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 ==  NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -10534,10 +10986,11 @@ void parser_prod___AForExpr___visit_all(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AForExpr___visit_all_reverse(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 5581, LOCATE_parser_prod___AForExpr___visit_all_reverse};
+  struct trace_t trace = {NULL, NULL, 5581, LOCATE_parser_prod___AForExpr___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___AForExpr____n_vardecl( self) /*AForExpr::_n_vardecl*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 ==  NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -10561,10 +11014,11 @@ void parser_prod___AForExpr___visit_all_reverse(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AForVardeclExpr___n_kwfor__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 5595, LOCATE_parser_prod___AForVardeclExpr___n_kwfor__eq};
+  struct trace_t trace = {NULL, NULL, 5595, LOCATE_parser_prod___AForVardeclExpr___n_kwfor__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   ATTR_parser_nodes___AForVardeclExpr____n_kwfor( self) /*AForVardeclExpr::_n_kwfor*/ =  variable0 /*n*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ ==  NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -10575,10 +11029,11 @@ void parser_prod___AForVardeclExpr___n_kwfor__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AForVardeclExpr___n_id__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 5602, LOCATE_parser_prod___AForVardeclExpr___n_id__eq};
+  struct trace_t trace = {NULL, NULL, 5602, LOCATE_parser_prod___AForVardeclExpr___n_id__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   ATTR_parser_nodes___AForVardeclExpr____n_id( self) /*AForVardeclExpr::_n_id*/ =  variable0 /*n*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ ==  NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -10589,10 +11044,11 @@ void parser_prod___AForVardeclExpr___n_id__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AForVardeclExpr___n_expr__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 5609, LOCATE_parser_prod___AForVardeclExpr___n_expr__eq};
+  struct trace_t trace = {NULL, NULL, 5609, LOCATE_parser_prod___AForVardeclExpr___n_expr__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   ATTR_parser_nodes___AForVardeclExpr____n_expr( self) /*AForVardeclExpr::_n_expr*/ =  variable0 /*n*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ ==  NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -10603,20 +11059,22 @@ void parser_prod___AForVardeclExpr___n_expr__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AForVardeclExpr___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 5617, LOCATE_parser_prod___AForVardeclExpr___empty_init};
+  struct trace_t trace = {NULL, NULL, 5617, LOCATE_parser_prod___AForVardeclExpr___empty_init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AForVardeclExpr].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AForVardeclExpr].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AForVardeclExpr___init_aforvardeclexpr(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 5619, LOCATE_parser_prod___AForVardeclExpr___init_aforvardeclexpr};
+  struct trace_t trace = {NULL, NULL, 5619, LOCATE_parser_prod___AForVardeclExpr___init_aforvardeclexpr};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   val_t variable3;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 =  param1;
   variable2 =  param2;
@@ -10641,11 +11099,12 @@ void parser_prod___AForVardeclExpr___init_aforvardeclexpr(val_t  self, val_t  pa
   return;
 }
 void parser_prod___AForVardeclExpr___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 5639, LOCATE_parser_prod___AForVardeclExpr___replace_child};
+  struct trace_t trace = {NULL, NULL, 5639, LOCATE_parser_prod___AForVardeclExpr___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 =  param1;
   variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ ==  NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -10697,10 +11156,11 @@ void parser_prod___AForVardeclExpr___replace_child(val_t  self, val_t  param0, v
   return;
 }
 void parser_prod___AForVardeclExpr___visit_all(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 5674, LOCATE_parser_prod___AForVardeclExpr___visit_all};
+  struct trace_t trace = {NULL, NULL, 5674, LOCATE_parser_prod___AForVardeclExpr___visit_all};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___AForVardeclExpr____n_kwfor( self) /*AForVardeclExpr::_n_kwfor*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 ==  NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -10724,10 +11184,11 @@ void parser_prod___AForVardeclExpr___visit_all(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AForVardeclExpr___visit_all_reverse(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 5687, LOCATE_parser_prod___AForVardeclExpr___visit_all_reverse};
+  struct trace_t trace = {NULL, NULL, 5687, LOCATE_parser_prod___AForVardeclExpr___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___AForVardeclExpr____n_kwfor( self) /*AForVardeclExpr::_n_kwfor*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 ==  NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -10751,10 +11212,11 @@ void parser_prod___AForVardeclExpr___visit_all_reverse(val_t  self, val_t  param
   return;
 }
 void parser_prod___AAssertExpr___n_kwassert__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 5701, LOCATE_parser_prod___AAssertExpr___n_kwassert__eq};
+  struct trace_t trace = {NULL, NULL, 5701, LOCATE_parser_prod___AAssertExpr___n_kwassert__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   ATTR_parser_nodes___AAssertExpr____n_kwassert( self) /*AAssertExpr::_n_kwassert*/ =  variable0 /*n*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ ==  NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -10765,10 +11227,11 @@ void parser_prod___AAssertExpr___n_kwassert__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AAssertExpr___n_id__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 5708, LOCATE_parser_prod___AAssertExpr___n_id__eq};
+  struct trace_t trace = {NULL, NULL, 5708, LOCATE_parser_prod___AAssertExpr___n_id__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   ATTR_parser_nodes___AAssertExpr____n_id( self) /*AAssertExpr::_n_id*/ =  variable0 /*n*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ ==  NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -10779,10 +11242,11 @@ void parser_prod___AAssertExpr___n_id__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AAssertExpr___n_expr__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 5715, LOCATE_parser_prod___AAssertExpr___n_expr__eq};
+  struct trace_t trace = {NULL, NULL, 5715, LOCATE_parser_prod___AAssertExpr___n_expr__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   ATTR_parser_nodes___AAssertExpr____n_expr( self) /*AAssertExpr::_n_expr*/ =  variable0 /*n*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ ==  NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -10793,20 +11257,22 @@ void parser_prod___AAssertExpr___n_expr__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AAssertExpr___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 5723, LOCATE_parser_prod___AAssertExpr___empty_init};
+  struct trace_t trace = {NULL, NULL, 5723, LOCATE_parser_prod___AAssertExpr___empty_init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AAssertExpr].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AAssertExpr].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AAssertExpr___init_aassertexpr(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 5725, LOCATE_parser_prod___AAssertExpr___init_aassertexpr};
+  struct trace_t trace = {NULL, NULL, 5725, LOCATE_parser_prod___AAssertExpr___init_aassertexpr};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   val_t variable3;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 =  param1;
   variable2 =  param2;
@@ -10831,11 +11297,12 @@ void parser_prod___AAssertExpr___init_aassertexpr(val_t  self, val_t  param0, va
   return;
 }
 void parser_prod___AAssertExpr___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 5745, LOCATE_parser_prod___AAssertExpr___replace_child};
+  struct trace_t trace = {NULL, NULL, 5745, LOCATE_parser_prod___AAssertExpr___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 =  param1;
   variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ ==  NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -10887,10 +11354,11 @@ void parser_prod___AAssertExpr___replace_child(val_t  self, val_t  param0, val_t
   return;
 }
 void parser_prod___AAssertExpr___visit_all(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 5780, LOCATE_parser_prod___AAssertExpr___visit_all};
+  struct trace_t trace = {NULL, NULL, 5780, LOCATE_parser_prod___AAssertExpr___visit_all};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___AAssertExpr____n_kwassert( self) /*AAssertExpr::_n_kwassert*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 ==  NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -10914,10 +11382,11 @@ void parser_prod___AAssertExpr___visit_all(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AAssertExpr___visit_all_reverse(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 5793, LOCATE_parser_prod___AAssertExpr___visit_all_reverse};
+  struct trace_t trace = {NULL, NULL, 5793, LOCATE_parser_prod___AAssertExpr___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___AAssertExpr____n_kwassert( self) /*AAssertExpr::_n_kwassert*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 ==  NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -10941,10 +11410,11 @@ void parser_prod___AAssertExpr___visit_all_reverse(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AOnceExpr___n_kwonce__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 5807, LOCATE_parser_prod___AOnceExpr___n_kwonce__eq};
+  struct trace_t trace = {NULL, NULL, 5807, LOCATE_parser_prod___AOnceExpr___n_kwonce__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   ATTR_parser_nodes___AOnceExpr____n_kwonce( self) /*AOnceExpr::_n_kwonce*/ =  variable0 /*n*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ ==  NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -10955,10 +11425,11 @@ void parser_prod___AOnceExpr___n_kwonce__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AOnceExpr___n_expr__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 5814, LOCATE_parser_prod___AOnceExpr___n_expr__eq};
+  struct trace_t trace = {NULL, NULL, 5814, LOCATE_parser_prod___AOnceExpr___n_expr__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   ATTR_parser_nodes___AProxyExpr____n_expr( self) /*AProxyExpr::_n_expr*/ =  variable0 /*n*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ ==  NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -10969,19 +11440,21 @@ void parser_prod___AOnceExpr___n_expr__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AOnceExpr___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 5822, LOCATE_parser_prod___AOnceExpr___empty_init};
+  struct trace_t trace = {NULL, NULL, 5822, LOCATE_parser_prod___AOnceExpr___empty_init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AOnceExpr].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AOnceExpr].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AOnceExpr___init_aonceexpr(val_t  self, val_t  param0, val_t  param1, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 5824, LOCATE_parser_prod___AOnceExpr___init_aonceexpr};
+  struct trace_t trace = {NULL, NULL, 5824, LOCATE_parser_prod___AOnceExpr___init_aonceexpr};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 =  param1;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AOnceExpr].i]) return;
@@ -11000,11 +11473,12 @@ void parser_prod___AOnceExpr___init_aonceexpr(val_t  self, val_t  param0, val_t
   return;
 }
 void parser_prod___AOnceExpr___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 5839, LOCATE_parser_prod___AOnceExpr___replace_child};
+  struct trace_t trace = {NULL, NULL, 5839, LOCATE_parser_prod___AOnceExpr___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 =  param1;
   variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ ==  NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -11042,10 +11516,11 @@ void parser_prod___AOnceExpr___replace_child(val_t  self, val_t  param0, val_t
   return;
 }
 void parser_prod___AOnceExpr___visit_all(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 5864, LOCATE_parser_prod___AOnceExpr___visit_all};
+  struct trace_t trace = {NULL, NULL, 5864, LOCATE_parser_prod___AOnceExpr___visit_all};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___AOnceExpr____n_kwonce( self) /*AOnceExpr::_n_kwonce*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 ==  NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -11063,10 +11538,11 @@ void parser_prod___AOnceExpr___visit_all(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AOnceExpr___visit_all_reverse(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 5874, LOCATE_parser_prod___AOnceExpr___visit_all_reverse};
+  struct trace_t trace = {NULL, NULL, 5874, LOCATE_parser_prod___AOnceExpr___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___AOnceExpr____n_kwonce( self) /*AOnceExpr::_n_kwonce*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 ==  NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -11084,10 +11560,11 @@ void parser_prod___AOnceExpr___visit_all_reverse(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___ASendExpr___n_expr__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 5885, LOCATE_parser_prod___ASendExpr___n_expr__eq};
+  struct trace_t trace = {NULL, NULL, 5885, LOCATE_parser_prod___ASendExpr___n_expr__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/ =  variable0 /*n*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ ==  NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -11098,18 +11575,20 @@ void parser_prod___ASendExpr___n_expr__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___ASendExpr___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 5893, LOCATE_parser_prod___ASendExpr___empty_init};
+  struct trace_t trace = {NULL, NULL, 5893, LOCATE_parser_prod___ASendExpr___empty_init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ASendExpr].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ASendExpr].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser_prod___ASendExpr___init_asendexpr(val_t  self, val_t  param0, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 5895, LOCATE_parser_prod___ASendExpr___init_asendexpr};
+  struct trace_t trace = {NULL, NULL, 5895, LOCATE_parser_prod___ASendExpr___init_asendexpr};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ASendExpr].i]) return;
   ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/ =  variable0 /*n_expr*/;
@@ -11122,11 +11601,12 @@ void parser_prod___ASendExpr___init_asendexpr(val_t  self, val_t  param0, int* i
   return;
 }
 void parser_prod___ASendExpr___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 5905, LOCATE_parser_prod___ASendExpr___replace_child};
+  struct trace_t trace = {NULL, NULL, 5905, LOCATE_parser_prod___ASendExpr___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 =  param1;
   variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ ==  NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -11150,10 +11630,11 @@ void parser_prod___ASendExpr___replace_child(val_t  self, val_t  param0, val_t
   return;
 }
 void parser_prod___ASendExpr___visit_all(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 5920, LOCATE_parser_prod___ASendExpr___visit_all};
+  struct trace_t trace = {NULL, NULL, 5920, LOCATE_parser_prod___ASendExpr___visit_all};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 ==  NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -11165,10 +11646,11 @@ void parser_prod___ASendExpr___visit_all(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___ASendExpr___visit_all_reverse(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 5927, LOCATE_parser_prod___ASendExpr___visit_all_reverse};
+  struct trace_t trace = {NULL, NULL, 5927, LOCATE_parser_prod___ASendExpr___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 ==  NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -11180,10 +11662,11 @@ void parser_prod___ASendExpr___visit_all_reverse(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___ABinopExpr___n_expr__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 5935, LOCATE_parser_prod___ABinopExpr___n_expr__eq};
+  struct trace_t trace = {NULL, NULL, 5935, LOCATE_parser_prod___ABinopExpr___n_expr__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/ =  variable0 /*n*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ ==  NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -11194,10 +11677,11 @@ void parser_prod___ABinopExpr___n_expr__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___ABinopExpr___n_expr2__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 5942, LOCATE_parser_prod___ABinopExpr___n_expr2__eq};
+  struct trace_t trace = {NULL, NULL, 5942, LOCATE_parser_prod___ABinopExpr___n_expr2__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ABinopExpr::_n_expr2*/ =  variable0 /*n*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ ==  NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -11208,8 +11692,9 @@ void parser_prod___ABinopExpr___n_expr2__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___ABinopExpr___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 5950, LOCATE_parser_prod___ABinopExpr___empty_init};
+  struct trace_t trace = {NULL, NULL, 5950, LOCATE_parser_prod___ABinopExpr___empty_init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ABinopExpr].i]) return;
   ((parser_prod___ASendExpr___empty_init_t)CALL( self,COLOR_parser_prod___ASendExpr___empty_init))( self, init_table /*YYY*/) /*ASendExpr::empty_init*/;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ABinopExpr].i] = 1;
@@ -11217,11 +11702,12 @@ void parser_prod___ABinopExpr___empty_init(val_t  self, int* init_table) {
   return;
 }
 void parser_prod___ABinopExpr___init_abinopexpr(val_t  self, val_t  param0, val_t  param1, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 5952, LOCATE_parser_prod___ABinopExpr___init_abinopexpr};
+  struct trace_t trace = {NULL, NULL, 5952, LOCATE_parser_prod___ABinopExpr___init_abinopexpr};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 =  param1;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ABinopExpr].i]) return;
@@ -11241,11 +11727,12 @@ void parser_prod___ABinopExpr___init_abinopexpr(val_t  self, val_t  param0, val_
   return;
 }
 void parser_prod___ABinopExpr___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 5967, LOCATE_parser_prod___ABinopExpr___replace_child};
+  struct trace_t trace = {NULL, NULL, 5967, LOCATE_parser_prod___ABinopExpr___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 =  param1;
   variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ ==  NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -11283,10 +11770,11 @@ void parser_prod___ABinopExpr___replace_child(val_t  self, val_t  param0, val_t
   return;
 }
 void parser_prod___ABinopExpr___visit_all(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 5992, LOCATE_parser_prod___ABinopExpr___visit_all};
+  struct trace_t trace = {NULL, NULL, 5992, LOCATE_parser_prod___ABinopExpr___visit_all};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 ==  NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -11304,10 +11792,11 @@ void parser_prod___ABinopExpr___visit_all(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___ABinopExpr___visit_all_reverse(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 6002, LOCATE_parser_prod___ABinopExpr___visit_all_reverse};
+  struct trace_t trace = {NULL, NULL, 6002, LOCATE_parser_prod___ABinopExpr___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 ==  NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -11325,10 +11814,11 @@ void parser_prod___ABinopExpr___visit_all_reverse(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AOrExpr___n_expr__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 6013, LOCATE_parser_prod___AOrExpr___n_expr__eq};
+  struct trace_t trace = {NULL, NULL, 6013, LOCATE_parser_prod___AOrExpr___n_expr__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   ATTR_parser_nodes___AOrExpr____n_expr( self) /*AOrExpr::_n_expr*/ =  variable0 /*n*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ ==  NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -11339,10 +11829,11 @@ void parser_prod___AOrExpr___n_expr__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AOrExpr___n_expr2__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 6020, LOCATE_parser_prod___AOrExpr___n_expr2__eq};
+  struct trace_t trace = {NULL, NULL, 6020, LOCATE_parser_prod___AOrExpr___n_expr2__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   ATTR_parser_nodes___AOrExpr____n_expr2( self) /*AOrExpr::_n_expr2*/ =  variable0 /*n*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ ==  NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -11353,19 +11844,21 @@ void parser_prod___AOrExpr___n_expr2__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AOrExpr___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 6028, LOCATE_parser_prod___AOrExpr___empty_init};
+  struct trace_t trace = {NULL, NULL, 6028, LOCATE_parser_prod___AOrExpr___empty_init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AOrExpr].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AOrExpr].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AOrExpr___init_aorexpr(val_t  self, val_t  param0, val_t  param1, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 6030, LOCATE_parser_prod___AOrExpr___init_aorexpr};
+  struct trace_t trace = {NULL, NULL, 6030, LOCATE_parser_prod___AOrExpr___init_aorexpr};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 =  param1;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AOrExpr].i]) return;
@@ -11384,11 +11877,12 @@ void parser_prod___AOrExpr___init_aorexpr(val_t  self, val_t  param0, val_t  par
   return;
 }
 void parser_prod___AOrExpr___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 6045, LOCATE_parser_prod___AOrExpr___replace_child};
+  struct trace_t trace = {NULL, NULL, 6045, LOCATE_parser_prod___AOrExpr___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 =  param1;
   variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ ==  NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -11426,10 +11920,11 @@ void parser_prod___AOrExpr___replace_child(val_t  self, val_t  param0, val_t  pa
   return;
 }
 void parser_prod___AOrExpr___visit_all(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 6070, LOCATE_parser_prod___AOrExpr___visit_all};
+  struct trace_t trace = {NULL, NULL, 6070, LOCATE_parser_prod___AOrExpr___visit_all};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___AOrExpr____n_expr( self) /*AOrExpr::_n_expr*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 ==  NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -11447,10 +11942,11 @@ void parser_prod___AOrExpr___visit_all(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AOrExpr___visit_all_reverse(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 6080, LOCATE_parser_prod___AOrExpr___visit_all_reverse};
+  struct trace_t trace = {NULL, NULL, 6080, LOCATE_parser_prod___AOrExpr___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___AOrExpr____n_expr( self) /*AOrExpr::_n_expr*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 ==  NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -11468,10 +11964,11 @@ void parser_prod___AOrExpr___visit_all_reverse(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AAndExpr___n_expr__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 6091, LOCATE_parser_prod___AAndExpr___n_expr__eq};
+  struct trace_t trace = {NULL, NULL, 6091, LOCATE_parser_prod___AAndExpr___n_expr__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   ATTR_parser_nodes___AAndExpr____n_expr( self) /*AAndExpr::_n_expr*/ =  variable0 /*n*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ ==  NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -11482,10 +11979,11 @@ void parser_prod___AAndExpr___n_expr__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AAndExpr___n_expr2__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 6098, LOCATE_parser_prod___AAndExpr___n_expr2__eq};
+  struct trace_t trace = {NULL, NULL, 6098, LOCATE_parser_prod___AAndExpr___n_expr2__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   ATTR_parser_nodes___AAndExpr____n_expr2( self) /*AAndExpr::_n_expr2*/ =  variable0 /*n*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ ==  NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -11496,19 +11994,21 @@ void parser_prod___AAndExpr___n_expr2__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AAndExpr___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 6106, LOCATE_parser_prod___AAndExpr___empty_init};
+  struct trace_t trace = {NULL, NULL, 6106, LOCATE_parser_prod___AAndExpr___empty_init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AAndExpr].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AAndExpr].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AAndExpr___init_aandexpr(val_t  self, val_t  param0, val_t  param1, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 6108, LOCATE_parser_prod___AAndExpr___init_aandexpr};
+  struct trace_t trace = {NULL, NULL, 6108, LOCATE_parser_prod___AAndExpr___init_aandexpr};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 =  param1;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AAndExpr].i]) return;
@@ -11527,11 +12027,12 @@ void parser_prod___AAndExpr___init_aandexpr(val_t  self, val_t  param0, val_t  p
   return;
 }
 void parser_prod___AAndExpr___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 6123, LOCATE_parser_prod___AAndExpr___replace_child};
+  struct trace_t trace = {NULL, NULL, 6123, LOCATE_parser_prod___AAndExpr___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 =  param1;
   variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ ==  NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -11569,10 +12070,11 @@ void parser_prod___AAndExpr___replace_child(val_t  self, val_t  param0, val_t  p
   return;
 }
 void parser_prod___AAndExpr___visit_all(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 6148, LOCATE_parser_prod___AAndExpr___visit_all};
+  struct trace_t trace = {NULL, NULL, 6148, LOCATE_parser_prod___AAndExpr___visit_all};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___AAndExpr____n_expr( self) /*AAndExpr::_n_expr*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 ==  NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -11590,10 +12092,11 @@ void parser_prod___AAndExpr___visit_all(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AAndExpr___visit_all_reverse(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 6158, LOCATE_parser_prod___AAndExpr___visit_all_reverse};
+  struct trace_t trace = {NULL, NULL, 6158, LOCATE_parser_prod___AAndExpr___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___AAndExpr____n_expr( self) /*AAndExpr::_n_expr*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 ==  NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -11611,10 +12114,11 @@ void parser_prod___AAndExpr___visit_all_reverse(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___ANotExpr___n_kwnot__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 6169, LOCATE_parser_prod___ANotExpr___n_kwnot__eq};
+  struct trace_t trace = {NULL, NULL, 6169, LOCATE_parser_prod___ANotExpr___n_kwnot__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   ATTR_parser_nodes___ANotExpr____n_kwnot( self) /*ANotExpr::_n_kwnot*/ =  variable0 /*n*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ ==  NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -11625,10 +12129,11 @@ void parser_prod___ANotExpr___n_kwnot__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___ANotExpr___n_expr__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 6176, LOCATE_parser_prod___ANotExpr___n_expr__eq};
+  struct trace_t trace = {NULL, NULL, 6176, LOCATE_parser_prod___ANotExpr___n_expr__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   ATTR_parser_nodes___ANotExpr____n_expr( self) /*ANotExpr::_n_expr*/ =  variable0 /*n*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ ==  NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -11639,19 +12144,21 @@ void parser_prod___ANotExpr___n_expr__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___ANotExpr___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 6184, LOCATE_parser_prod___ANotExpr___empty_init};
+  struct trace_t trace = {NULL, NULL, 6184, LOCATE_parser_prod___ANotExpr___empty_init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ANotExpr].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ANotExpr].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser_prod___ANotExpr___init_anotexpr(val_t  self, val_t  param0, val_t  param1, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 6186, LOCATE_parser_prod___ANotExpr___init_anotexpr};
+  struct trace_t trace = {NULL, NULL, 6186, LOCATE_parser_prod___ANotExpr___init_anotexpr};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 =  param1;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ANotExpr].i]) return;
@@ -11670,11 +12177,12 @@ void parser_prod___ANotExpr___init_anotexpr(val_t  self, val_t  param0, val_t  p
   return;
 }
 void parser_prod___ANotExpr___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 6201, LOCATE_parser_prod___ANotExpr___replace_child};
+  struct trace_t trace = {NULL, NULL, 6201, LOCATE_parser_prod___ANotExpr___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 =  param1;
   variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ ==  NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -11712,10 +12220,11 @@ void parser_prod___ANotExpr___replace_child(val_t  self, val_t  param0, val_t  p
   return;
 }
 void parser_prod___ANotExpr___visit_all(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 6226, LOCATE_parser_prod___ANotExpr___visit_all};
+  struct trace_t trace = {NULL, NULL, 6226, LOCATE_parser_prod___ANotExpr___visit_all};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___ANotExpr____n_kwnot( self) /*ANotExpr::_n_kwnot*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 ==  NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -11733,10 +12242,11 @@ void parser_prod___ANotExpr___visit_all(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___ANotExpr___visit_all_reverse(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 6236, LOCATE_parser_prod___ANotExpr___visit_all_reverse};
+  struct trace_t trace = {NULL, NULL, 6236, LOCATE_parser_prod___ANotExpr___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___ANotExpr____n_kwnot( self) /*ANotExpr::_n_kwnot*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 ==  NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -11754,10 +12264,11 @@ void parser_prod___ANotExpr___visit_all_reverse(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AEqExpr___n_expr__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 6247, LOCATE_parser_prod___AEqExpr___n_expr__eq};
+  struct trace_t trace = {NULL, NULL, 6247, LOCATE_parser_prod___AEqExpr___n_expr__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/ =  variable0 /*n*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ ==  NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -11768,10 +12279,11 @@ void parser_prod___AEqExpr___n_expr__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AEqExpr___n_expr2__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 6254, LOCATE_parser_prod___AEqExpr___n_expr2__eq};
+  struct trace_t trace = {NULL, NULL, 6254, LOCATE_parser_prod___AEqExpr___n_expr2__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ABinopExpr::_n_expr2*/ =  variable0 /*n*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ ==  NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -11782,8 +12294,9 @@ void parser_prod___AEqExpr___n_expr2__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AEqExpr___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 6262, LOCATE_parser_prod___AEqExpr___empty_init};
+  struct trace_t trace = {NULL, NULL, 6262, LOCATE_parser_prod___AEqExpr___empty_init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AEqExpr].i]) return;
   ((parser_prod___ABinopExpr___empty_init_t)CALL( self,COLOR_parser_prod___ABinopExpr___empty_init))( self, init_table /*YYY*/) /*ABinopExpr::empty_init*/;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AEqExpr].i] = 1;
@@ -11791,11 +12304,12 @@ void parser_prod___AEqExpr___empty_init(val_t  self, int* init_table) {
   return;
 }
 void parser_prod___AEqExpr___init_aeqexpr(val_t  self, val_t  param0, val_t  param1, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 6264, LOCATE_parser_prod___AEqExpr___init_aeqexpr};
+  struct trace_t trace = {NULL, NULL, 6264, LOCATE_parser_prod___AEqExpr___init_aeqexpr};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 =  param1;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AEqExpr].i]) return;
@@ -11815,11 +12329,12 @@ void parser_prod___AEqExpr___init_aeqexpr(val_t  self, val_t  param0, val_t  par
   return;
 }
 void parser_prod___AEqExpr___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 6279, LOCATE_parser_prod___AEqExpr___replace_child};
+  struct trace_t trace = {NULL, NULL, 6279, LOCATE_parser_prod___AEqExpr___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 =  param1;
   variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ ==  NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -11857,10 +12372,11 @@ void parser_prod___AEqExpr___replace_child(val_t  self, val_t  param0, val_t  pa
   return;
 }
 void parser_prod___AEqExpr___visit_all(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 6304, LOCATE_parser_prod___AEqExpr___visit_all};
+  struct trace_t trace = {NULL, NULL, 6304, LOCATE_parser_prod___AEqExpr___visit_all};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 ==  NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -11878,10 +12394,11 @@ void parser_prod___AEqExpr___visit_all(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AEqExpr___visit_all_reverse(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 6314, LOCATE_parser_prod___AEqExpr___visit_all_reverse};
+  struct trace_t trace = {NULL, NULL, 6314, LOCATE_parser_prod___AEqExpr___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 ==  NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -11899,10 +12416,11 @@ void parser_prod___AEqExpr___visit_all_reverse(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AEeExpr___n_expr__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 6325, LOCATE_parser_prod___AEeExpr___n_expr__eq};
+  struct trace_t trace = {NULL, NULL, 6325, LOCATE_parser_prod___AEeExpr___n_expr__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   ATTR_parser_nodes___AEeExpr____n_expr( self) /*AEeExpr::_n_expr*/ =  variable0 /*n*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ ==  NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -11913,10 +12431,11 @@ void parser_prod___AEeExpr___n_expr__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AEeExpr___n_expr2__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 6332, LOCATE_parser_prod___AEeExpr___n_expr2__eq};
+  struct trace_t trace = {NULL, NULL, 6332, LOCATE_parser_prod___AEeExpr___n_expr2__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   ATTR_parser_nodes___AEeExpr____n_expr2( self) /*AEeExpr::_n_expr2*/ =  variable0 /*n*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ ==  NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -11927,19 +12446,21 @@ void parser_prod___AEeExpr___n_expr2__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AEeExpr___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 6340, LOCATE_parser_prod___AEeExpr___empty_init};
+  struct trace_t trace = {NULL, NULL, 6340, LOCATE_parser_prod___AEeExpr___empty_init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AEeExpr].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AEeExpr].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AEeExpr___init_aeeexpr(val_t  self, val_t  param0, val_t  param1, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 6342, LOCATE_parser_prod___AEeExpr___init_aeeexpr};
+  struct trace_t trace = {NULL, NULL, 6342, LOCATE_parser_prod___AEeExpr___init_aeeexpr};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 =  param1;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AEeExpr].i]) return;
@@ -11958,11 +12479,12 @@ void parser_prod___AEeExpr___init_aeeexpr(val_t  self, val_t  param0, val_t  par
   return;
 }
 void parser_prod___AEeExpr___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 6357, LOCATE_parser_prod___AEeExpr___replace_child};
+  struct trace_t trace = {NULL, NULL, 6357, LOCATE_parser_prod___AEeExpr___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 =  param1;
   variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ ==  NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -12000,10 +12522,11 @@ void parser_prod___AEeExpr___replace_child(val_t  self, val_t  param0, val_t  pa
   return;
 }
 void parser_prod___AEeExpr___visit_all(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 6382, LOCATE_parser_prod___AEeExpr___visit_all};
+  struct trace_t trace = {NULL, NULL, 6382, LOCATE_parser_prod___AEeExpr___visit_all};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___AEeExpr____n_expr( self) /*AEeExpr::_n_expr*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 ==  NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -12021,10 +12544,11 @@ void parser_prod___AEeExpr___visit_all(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AEeExpr___visit_all_reverse(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 6392, LOCATE_parser_prod___AEeExpr___visit_all_reverse};
+  struct trace_t trace = {NULL, NULL, 6392, LOCATE_parser_prod___AEeExpr___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___AEeExpr____n_expr( self) /*AEeExpr::_n_expr*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 ==  NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -12042,10 +12566,11 @@ void parser_prod___AEeExpr___visit_all_reverse(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___ANeExpr___n_expr__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 6403, LOCATE_parser_prod___ANeExpr___n_expr__eq};
+  struct trace_t trace = {NULL, NULL, 6403, LOCATE_parser_prod___ANeExpr___n_expr__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/ =  variable0 /*n*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ ==  NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -12056,10 +12581,11 @@ void parser_prod___ANeExpr___n_expr__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___ANeExpr___n_expr2__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 6410, LOCATE_parser_prod___ANeExpr___n_expr2__eq};
+  struct trace_t trace = {NULL, NULL, 6410, LOCATE_parser_prod___ANeExpr___n_expr2__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ABinopExpr::_n_expr2*/ =  variable0 /*n*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ ==  NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -12070,8 +12596,9 @@ void parser_prod___ANeExpr___n_expr2__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___ANeExpr___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 6418, LOCATE_parser_prod___ANeExpr___empty_init};
+  struct trace_t trace = {NULL, NULL, 6418, LOCATE_parser_prod___ANeExpr___empty_init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ANeExpr].i]) return;
   ((parser_prod___ABinopExpr___empty_init_t)CALL( self,COLOR_parser_prod___ABinopExpr___empty_init))( self, init_table /*YYY*/) /*ABinopExpr::empty_init*/;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ANeExpr].i] = 1;
@@ -12079,11 +12606,12 @@ void parser_prod___ANeExpr___empty_init(val_t  self, int* init_table) {
   return;
 }
 void parser_prod___ANeExpr___init_aneexpr(val_t  self, val_t  param0, val_t  param1, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 6420, LOCATE_parser_prod___ANeExpr___init_aneexpr};
+  struct trace_t trace = {NULL, NULL, 6420, LOCATE_parser_prod___ANeExpr___init_aneexpr};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 =  param1;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ANeExpr].i]) return;
@@ -12103,11 +12631,12 @@ void parser_prod___ANeExpr___init_aneexpr(val_t  self, val_t  param0, val_t  par
   return;
 }
 void parser_prod___ANeExpr___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 6435, LOCATE_parser_prod___ANeExpr___replace_child};
+  struct trace_t trace = {NULL, NULL, 6435, LOCATE_parser_prod___ANeExpr___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 =  param1;
   variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ ==  NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -12145,10 +12674,11 @@ void parser_prod___ANeExpr___replace_child(val_t  self, val_t  param0, val_t  pa
   return;
 }
 void parser_prod___ANeExpr___visit_all(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 6460, LOCATE_parser_prod___ANeExpr___visit_all};
+  struct trace_t trace = {NULL, NULL, 6460, LOCATE_parser_prod___ANeExpr___visit_all};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 ==  NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -12166,10 +12696,11 @@ void parser_prod___ANeExpr___visit_all(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___ANeExpr___visit_all_reverse(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 6470, LOCATE_parser_prod___ANeExpr___visit_all_reverse};
+  struct trace_t trace = {NULL, NULL, 6470, LOCATE_parser_prod___ANeExpr___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 ==  NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -12187,10 +12718,11 @@ void parser_prod___ANeExpr___visit_all_reverse(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___ALtExpr___n_expr__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 6481, LOCATE_parser_prod___ALtExpr___n_expr__eq};
+  struct trace_t trace = {NULL, NULL, 6481, LOCATE_parser_prod___ALtExpr___n_expr__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/ =  variable0 /*n*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ ==  NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -12201,10 +12733,11 @@ void parser_prod___ALtExpr___n_expr__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___ALtExpr___n_expr2__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 6488, LOCATE_parser_prod___ALtExpr___n_expr2__eq};
+  struct trace_t trace = {NULL, NULL, 6488, LOCATE_parser_prod___ALtExpr___n_expr2__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ABinopExpr::_n_expr2*/ =  variable0 /*n*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ ==  NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -12215,8 +12748,9 @@ void parser_prod___ALtExpr___n_expr2__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___ALtExpr___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 6496, LOCATE_parser_prod___ALtExpr___empty_init};
+  struct trace_t trace = {NULL, NULL, 6496, LOCATE_parser_prod___ALtExpr___empty_init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ALtExpr].i]) return;
   ((parser_prod___ABinopExpr___empty_init_t)CALL( self,COLOR_parser_prod___ABinopExpr___empty_init))( self, init_table /*YYY*/) /*ABinopExpr::empty_init*/;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ALtExpr].i] = 1;
@@ -12224,11 +12758,12 @@ void parser_prod___ALtExpr___empty_init(val_t  self, int* init_table) {
   return;
 }
 void parser_prod___ALtExpr___init_altexpr(val_t  self, val_t  param0, val_t  param1, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 6498, LOCATE_parser_prod___ALtExpr___init_altexpr};
+  struct trace_t trace = {NULL, NULL, 6498, LOCATE_parser_prod___ALtExpr___init_altexpr};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 =  param1;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ALtExpr].i]) return;
@@ -12248,11 +12783,12 @@ void parser_prod___ALtExpr___init_altexpr(val_t  self, val_t  param0, val_t  par
   return;
 }
 void parser_prod___ALtExpr___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 6513, LOCATE_parser_prod___ALtExpr___replace_child};
+  struct trace_t trace = {NULL, NULL, 6513, LOCATE_parser_prod___ALtExpr___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 =  param1;
   variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ ==  NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -12290,10 +12826,11 @@ void parser_prod___ALtExpr___replace_child(val_t  self, val_t  param0, val_t  pa
   return;
 }
 void parser_prod___ALtExpr___visit_all(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 6538, LOCATE_parser_prod___ALtExpr___visit_all};
+  struct trace_t trace = {NULL, NULL, 6538, LOCATE_parser_prod___ALtExpr___visit_all};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 ==  NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -12311,10 +12848,11 @@ void parser_prod___ALtExpr___visit_all(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___ALtExpr___visit_all_reverse(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 6548, LOCATE_parser_prod___ALtExpr___visit_all_reverse};
+  struct trace_t trace = {NULL, NULL, 6548, LOCATE_parser_prod___ALtExpr___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 ==  NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -12332,10 +12870,11 @@ void parser_prod___ALtExpr___visit_all_reverse(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___ALeExpr___n_expr__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 6559, LOCATE_parser_prod___ALeExpr___n_expr__eq};
+  struct trace_t trace = {NULL, NULL, 6559, LOCATE_parser_prod___ALeExpr___n_expr__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/ =  variable0 /*n*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ ==  NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -12346,10 +12885,11 @@ void parser_prod___ALeExpr___n_expr__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___ALeExpr___n_expr2__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 6566, LOCATE_parser_prod___ALeExpr___n_expr2__eq};
+  struct trace_t trace = {NULL, NULL, 6566, LOCATE_parser_prod___ALeExpr___n_expr2__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ABinopExpr::_n_expr2*/ =  variable0 /*n*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ ==  NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -12360,8 +12900,9 @@ void parser_prod___ALeExpr___n_expr2__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___ALeExpr___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 6574, LOCATE_parser_prod___ALeExpr___empty_init};
+  struct trace_t trace = {NULL, NULL, 6574, LOCATE_parser_prod___ALeExpr___empty_init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ALeExpr].i]) return;
   ((parser_prod___ABinopExpr___empty_init_t)CALL( self,COLOR_parser_prod___ABinopExpr___empty_init))( self, init_table /*YYY*/) /*ABinopExpr::empty_init*/;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ALeExpr].i] = 1;
@@ -12369,11 +12910,12 @@ void parser_prod___ALeExpr___empty_init(val_t  self, int* init_table) {
   return;
 }
 void parser_prod___ALeExpr___init_aleexpr(val_t  self, val_t  param0, val_t  param1, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 6576, LOCATE_parser_prod___ALeExpr___init_aleexpr};
+  struct trace_t trace = {NULL, NULL, 6576, LOCATE_parser_prod___ALeExpr___init_aleexpr};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 =  param1;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ALeExpr].i]) return;
@@ -12393,11 +12935,12 @@ void parser_prod___ALeExpr___init_aleexpr(val_t  self, val_t  param0, val_t  par
   return;
 }
 void parser_prod___ALeExpr___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 6591, LOCATE_parser_prod___ALeExpr___replace_child};
+  struct trace_t trace = {NULL, NULL, 6591, LOCATE_parser_prod___ALeExpr___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 =  param1;
   variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ ==  NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -12435,10 +12978,11 @@ void parser_prod___ALeExpr___replace_child(val_t  self, val_t  param0, val_t  pa
   return;
 }
 void parser_prod___ALeExpr___visit_all(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 6616, LOCATE_parser_prod___ALeExpr___visit_all};
+  struct trace_t trace = {NULL, NULL, 6616, LOCATE_parser_prod___ALeExpr___visit_all};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 ==  NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -12456,10 +13000,11 @@ void parser_prod___ALeExpr___visit_all(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___ALeExpr___visit_all_reverse(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 6626, LOCATE_parser_prod___ALeExpr___visit_all_reverse};
+  struct trace_t trace = {NULL, NULL, 6626, LOCATE_parser_prod___ALeExpr___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 ==  NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -12477,10 +13022,11 @@ void parser_prod___ALeExpr___visit_all_reverse(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AGtExpr___n_expr__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 6637, LOCATE_parser_prod___AGtExpr___n_expr__eq};
+  struct trace_t trace = {NULL, NULL, 6637, LOCATE_parser_prod___AGtExpr___n_expr__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/ =  variable0 /*n*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ ==  NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -12491,10 +13037,11 @@ void parser_prod___AGtExpr___n_expr__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AGtExpr___n_expr2__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 6644, LOCATE_parser_prod___AGtExpr___n_expr2__eq};
+  struct trace_t trace = {NULL, NULL, 6644, LOCATE_parser_prod___AGtExpr___n_expr2__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ABinopExpr::_n_expr2*/ =  variable0 /*n*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ ==  NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -12505,8 +13052,9 @@ void parser_prod___AGtExpr___n_expr2__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AGtExpr___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 6652, LOCATE_parser_prod___AGtExpr___empty_init};
+  struct trace_t trace = {NULL, NULL, 6652, LOCATE_parser_prod___AGtExpr___empty_init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AGtExpr].i]) return;
   ((parser_prod___ABinopExpr___empty_init_t)CALL( self,COLOR_parser_prod___ABinopExpr___empty_init))( self, init_table /*YYY*/) /*ABinopExpr::empty_init*/;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AGtExpr].i] = 1;
@@ -12514,11 +13062,12 @@ void parser_prod___AGtExpr___empty_init(val_t  self, int* init_table) {
   return;
 }
 void parser_prod___AGtExpr___init_agtexpr(val_t  self, val_t  param0, val_t  param1, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 6654, LOCATE_parser_prod___AGtExpr___init_agtexpr};
+  struct trace_t trace = {NULL, NULL, 6654, LOCATE_parser_prod___AGtExpr___init_agtexpr};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 =  param1;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AGtExpr].i]) return;
@@ -12538,11 +13087,12 @@ void parser_prod___AGtExpr___init_agtexpr(val_t  self, val_t  param0, val_t  par
   return;
 }
 void parser_prod___AGtExpr___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 6669, LOCATE_parser_prod___AGtExpr___replace_child};
+  struct trace_t trace = {NULL, NULL, 6669, LOCATE_parser_prod___AGtExpr___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 =  param1;
   variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ ==  NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -12580,10 +13130,11 @@ void parser_prod___AGtExpr___replace_child(val_t  self, val_t  param0, val_t  pa
   return;
 }
 void parser_prod___AGtExpr___visit_all(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 6694, LOCATE_parser_prod___AGtExpr___visit_all};
+  struct trace_t trace = {NULL, NULL, 6694, LOCATE_parser_prod___AGtExpr___visit_all};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 ==  NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -12601,10 +13152,11 @@ void parser_prod___AGtExpr___visit_all(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AGtExpr___visit_all_reverse(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 6704, LOCATE_parser_prod___AGtExpr___visit_all_reverse};
+  struct trace_t trace = {NULL, NULL, 6704, LOCATE_parser_prod___AGtExpr___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 ==  NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -12622,10 +13174,11 @@ void parser_prod___AGtExpr___visit_all_reverse(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AGeExpr___n_expr__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 6715, LOCATE_parser_prod___AGeExpr___n_expr__eq};
+  struct trace_t trace = {NULL, NULL, 6715, LOCATE_parser_prod___AGeExpr___n_expr__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/ =  variable0 /*n*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ ==  NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -12636,10 +13189,11 @@ void parser_prod___AGeExpr___n_expr__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AGeExpr___n_expr2__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 6722, LOCATE_parser_prod___AGeExpr___n_expr2__eq};
+  struct trace_t trace = {NULL, NULL, 6722, LOCATE_parser_prod___AGeExpr___n_expr2__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ABinopExpr::_n_expr2*/ =  variable0 /*n*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ ==  NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -12650,8 +13204,9 @@ void parser_prod___AGeExpr___n_expr2__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AGeExpr___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 6730, LOCATE_parser_prod___AGeExpr___empty_init};
+  struct trace_t trace = {NULL, NULL, 6730, LOCATE_parser_prod___AGeExpr___empty_init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AGeExpr].i]) return;
   ((parser_prod___ABinopExpr___empty_init_t)CALL( self,COLOR_parser_prod___ABinopExpr___empty_init))( self, init_table /*YYY*/) /*ABinopExpr::empty_init*/;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AGeExpr].i] = 1;
@@ -12659,11 +13214,12 @@ void parser_prod___AGeExpr___empty_init(val_t  self, int* init_table) {
   return;
 }
 void parser_prod___AGeExpr___init_ageexpr(val_t  self, val_t  param0, val_t  param1, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 6732, LOCATE_parser_prod___AGeExpr___init_ageexpr};
+  struct trace_t trace = {NULL, NULL, 6732, LOCATE_parser_prod___AGeExpr___init_ageexpr};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 =  param1;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AGeExpr].i]) return;
@@ -12683,11 +13239,12 @@ void parser_prod___AGeExpr___init_ageexpr(val_t  self, val_t  param0, val_t  par
   return;
 }
 void parser_prod___AGeExpr___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 6747, LOCATE_parser_prod___AGeExpr___replace_child};
+  struct trace_t trace = {NULL, NULL, 6747, LOCATE_parser_prod___AGeExpr___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 =  param1;
   variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ ==  NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -12725,10 +13282,11 @@ void parser_prod___AGeExpr___replace_child(val_t  self, val_t  param0, val_t  pa
   return;
 }
 void parser_prod___AGeExpr___visit_all(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 6772, LOCATE_parser_prod___AGeExpr___visit_all};
+  struct trace_t trace = {NULL, NULL, 6772, LOCATE_parser_prod___AGeExpr___visit_all};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 ==  NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -12746,10 +13304,11 @@ void parser_prod___AGeExpr___visit_all(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AGeExpr___visit_all_reverse(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 6782, LOCATE_parser_prod___AGeExpr___visit_all_reverse};
+  struct trace_t trace = {NULL, NULL, 6782, LOCATE_parser_prod___AGeExpr___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 ==  NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -12767,10 +13326,11 @@ void parser_prod___AGeExpr___visit_all_reverse(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AIsaExpr___n_expr__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 6793, LOCATE_parser_prod___AIsaExpr___n_expr__eq};
+  struct trace_t trace = {NULL, NULL, 6793, LOCATE_parser_prod___AIsaExpr___n_expr__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   ATTR_parser_nodes___AIsaExpr____n_expr( self) /*AIsaExpr::_n_expr*/ =  variable0 /*n*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ ==  NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -12781,10 +13341,11 @@ void parser_prod___AIsaExpr___n_expr__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AIsaExpr___n_type__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 6800, LOCATE_parser_prod___AIsaExpr___n_type__eq};
+  struct trace_t trace = {NULL, NULL, 6800, LOCATE_parser_prod___AIsaExpr___n_type__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   ATTR_parser_nodes___AIsaExpr____n_type( self) /*AIsaExpr::_n_type*/ =  variable0 /*n*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ ==  NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -12795,19 +13356,21 @@ void parser_prod___AIsaExpr___n_type__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AIsaExpr___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 6808, LOCATE_parser_prod___AIsaExpr___empty_init};
+  struct trace_t trace = {NULL, NULL, 6808, LOCATE_parser_prod___AIsaExpr___empty_init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AIsaExpr].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AIsaExpr].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AIsaExpr___init_aisaexpr(val_t  self, val_t  param0, val_t  param1, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 6810, LOCATE_parser_prod___AIsaExpr___init_aisaexpr};
+  struct trace_t trace = {NULL, NULL, 6810, LOCATE_parser_prod___AIsaExpr___init_aisaexpr};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 =  param1;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AIsaExpr].i]) return;
@@ -12826,11 +13389,12 @@ void parser_prod___AIsaExpr___init_aisaexpr(val_t  self, val_t  param0, val_t  p
   return;
 }
 void parser_prod___AIsaExpr___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 6825, LOCATE_parser_prod___AIsaExpr___replace_child};
+  struct trace_t trace = {NULL, NULL, 6825, LOCATE_parser_prod___AIsaExpr___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 =  param1;
   variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ ==  NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -12868,10 +13432,11 @@ void parser_prod___AIsaExpr___replace_child(val_t  self, val_t  param0, val_t  p
   return;
 }
 void parser_prod___AIsaExpr___visit_all(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 6850, LOCATE_parser_prod___AIsaExpr___visit_all};
+  struct trace_t trace = {NULL, NULL, 6850, LOCATE_parser_prod___AIsaExpr___visit_all};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___AIsaExpr____n_expr( self) /*AIsaExpr::_n_expr*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 ==  NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -12889,10 +13454,11 @@ void parser_prod___AIsaExpr___visit_all(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AIsaExpr___visit_all_reverse(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 6860, LOCATE_parser_prod___AIsaExpr___visit_all_reverse};
+  struct trace_t trace = {NULL, NULL, 6860, LOCATE_parser_prod___AIsaExpr___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___AIsaExpr____n_expr( self) /*AIsaExpr::_n_expr*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 ==  NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -12910,10 +13476,11 @@ void parser_prod___AIsaExpr___visit_all_reverse(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___APlusExpr___n_expr__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 6871, LOCATE_parser_prod___APlusExpr___n_expr__eq};
+  struct trace_t trace = {NULL, NULL, 6871, LOCATE_parser_prod___APlusExpr___n_expr__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/ =  variable0 /*n*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ ==  NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -12924,10 +13491,11 @@ void parser_prod___APlusExpr___n_expr__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___APlusExpr___n_expr2__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 6878, LOCATE_parser_prod___APlusExpr___n_expr2__eq};
+  struct trace_t trace = {NULL, NULL, 6878, LOCATE_parser_prod___APlusExpr___n_expr2__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ABinopExpr::_n_expr2*/ =  variable0 /*n*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ ==  NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -12938,8 +13506,9 @@ void parser_prod___APlusExpr___n_expr2__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___APlusExpr___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 6886, LOCATE_parser_prod___APlusExpr___empty_init};
+  struct trace_t trace = {NULL, NULL, 6886, LOCATE_parser_prod___APlusExpr___empty_init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_APlusExpr].i]) return;
   ((parser_prod___ABinopExpr___empty_init_t)CALL( self,COLOR_parser_prod___ABinopExpr___empty_init))( self, init_table /*YYY*/) /*ABinopExpr::empty_init*/;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_APlusExpr].i] = 1;
@@ -12947,11 +13516,12 @@ void parser_prod___APlusExpr___empty_init(val_t  self, int* init_table) {
   return;
 }
 void parser_prod___APlusExpr___init_aplusexpr(val_t  self, val_t  param0, val_t  param1, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 6888, LOCATE_parser_prod___APlusExpr___init_aplusexpr};
+  struct trace_t trace = {NULL, NULL, 6888, LOCATE_parser_prod___APlusExpr___init_aplusexpr};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 =  param1;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_APlusExpr].i]) return;
@@ -12971,11 +13541,12 @@ void parser_prod___APlusExpr___init_aplusexpr(val_t  self, val_t  param0, val_t
   return;
 }
 void parser_prod___APlusExpr___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 6903, LOCATE_parser_prod___APlusExpr___replace_child};
+  struct trace_t trace = {NULL, NULL, 6903, LOCATE_parser_prod___APlusExpr___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 =  param1;
   variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ ==  NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -13013,10 +13584,11 @@ void parser_prod___APlusExpr___replace_child(val_t  self, val_t  param0, val_t
   return;
 }
 void parser_prod___APlusExpr___visit_all(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 6928, LOCATE_parser_prod___APlusExpr___visit_all};
+  struct trace_t trace = {NULL, NULL, 6928, LOCATE_parser_prod___APlusExpr___visit_all};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 ==  NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -13034,10 +13606,11 @@ void parser_prod___APlusExpr___visit_all(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___APlusExpr___visit_all_reverse(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 6938, LOCATE_parser_prod___APlusExpr___visit_all_reverse};
+  struct trace_t trace = {NULL, NULL, 6938, LOCATE_parser_prod___APlusExpr___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 ==  NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -13055,10 +13628,11 @@ void parser_prod___APlusExpr___visit_all_reverse(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AMinusExpr___n_expr__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 6949, LOCATE_parser_prod___AMinusExpr___n_expr__eq};
+  struct trace_t trace = {NULL, NULL, 6949, LOCATE_parser_prod___AMinusExpr___n_expr__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/ =  variable0 /*n*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ ==  NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -13069,10 +13643,11 @@ void parser_prod___AMinusExpr___n_expr__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AMinusExpr___n_expr2__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 6956, LOCATE_parser_prod___AMinusExpr___n_expr2__eq};
+  struct trace_t trace = {NULL, NULL, 6956, LOCATE_parser_prod___AMinusExpr___n_expr2__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ABinopExpr::_n_expr2*/ =  variable0 /*n*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ ==  NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -13083,8 +13658,9 @@ void parser_prod___AMinusExpr___n_expr2__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AMinusExpr___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 6964, LOCATE_parser_prod___AMinusExpr___empty_init};
+  struct trace_t trace = {NULL, NULL, 6964, LOCATE_parser_prod___AMinusExpr___empty_init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AMinusExpr].i]) return;
   ((parser_prod___ABinopExpr___empty_init_t)CALL( self,COLOR_parser_prod___ABinopExpr___empty_init))( self, init_table /*YYY*/) /*ABinopExpr::empty_init*/;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AMinusExpr].i] = 1;
@@ -13092,11 +13668,12 @@ void parser_prod___AMinusExpr___empty_init(val_t  self, int* init_table) {
   return;
 }
 void parser_prod___AMinusExpr___init_aminusexpr(val_t  self, val_t  param0, val_t  param1, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 6966, LOCATE_parser_prod___AMinusExpr___init_aminusexpr};
+  struct trace_t trace = {NULL, NULL, 6966, LOCATE_parser_prod___AMinusExpr___init_aminusexpr};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 =  param1;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AMinusExpr].i]) return;
@@ -13116,11 +13693,12 @@ void parser_prod___AMinusExpr___init_aminusexpr(val_t  self, val_t  param0, val_
   return;
 }
 void parser_prod___AMinusExpr___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 6981, LOCATE_parser_prod___AMinusExpr___replace_child};
+  struct trace_t trace = {NULL, NULL, 6981, LOCATE_parser_prod___AMinusExpr___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 =  param1;
   variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ ==  NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -13158,10 +13736,11 @@ void parser_prod___AMinusExpr___replace_child(val_t  self, val_t  param0, val_t
   return;
 }
 void parser_prod___AMinusExpr___visit_all(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 7006, LOCATE_parser_prod___AMinusExpr___visit_all};
+  struct trace_t trace = {NULL, NULL, 7006, LOCATE_parser_prod___AMinusExpr___visit_all};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 ==  NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -13179,10 +13758,11 @@ void parser_prod___AMinusExpr___visit_all(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AMinusExpr___visit_all_reverse(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 7016, LOCATE_parser_prod___AMinusExpr___visit_all_reverse};
+  struct trace_t trace = {NULL, NULL, 7016, LOCATE_parser_prod___AMinusExpr___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 ==  NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -13200,10 +13780,11 @@ void parser_prod___AMinusExpr___visit_all_reverse(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AStarshipExpr___n_expr__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 7027, LOCATE_parser_prod___AStarshipExpr___n_expr__eq};
+  struct trace_t trace = {NULL, NULL, 7027, LOCATE_parser_prod___AStarshipExpr___n_expr__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/ =  variable0 /*n*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ ==  NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -13214,10 +13795,11 @@ void parser_prod___AStarshipExpr___n_expr__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AStarshipExpr___n_expr2__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 7034, LOCATE_parser_prod___AStarshipExpr___n_expr2__eq};
+  struct trace_t trace = {NULL, NULL, 7034, LOCATE_parser_prod___AStarshipExpr___n_expr2__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ABinopExpr::_n_expr2*/ =  variable0 /*n*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ ==  NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -13228,8 +13810,9 @@ void parser_prod___AStarshipExpr___n_expr2__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AStarshipExpr___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 7042, LOCATE_parser_prod___AStarshipExpr___empty_init};
+  struct trace_t trace = {NULL, NULL, 7042, LOCATE_parser_prod___AStarshipExpr___empty_init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AStarshipExpr].i]) return;
   ((parser_prod___ABinopExpr___empty_init_t)CALL( self,COLOR_parser_prod___ABinopExpr___empty_init))( self, init_table /*YYY*/) /*ABinopExpr::empty_init*/;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AStarshipExpr].i] = 1;
@@ -13237,11 +13820,12 @@ void parser_prod___AStarshipExpr___empty_init(val_t  self, int* init_table) {
   return;
 }
 void parser_prod___AStarshipExpr___init_astarshipexpr(val_t  self, val_t  param0, val_t  param1, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 7044, LOCATE_parser_prod___AStarshipExpr___init_astarshipexpr};
+  struct trace_t trace = {NULL, NULL, 7044, LOCATE_parser_prod___AStarshipExpr___init_astarshipexpr};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 =  param1;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AStarshipExpr].i]) return;
@@ -13261,11 +13845,12 @@ void parser_prod___AStarshipExpr___init_astarshipexpr(val_t  self, val_t  param0
   return;
 }
 void parser_prod___AStarshipExpr___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 7059, LOCATE_parser_prod___AStarshipExpr___replace_child};
+  struct trace_t trace = {NULL, NULL, 7059, LOCATE_parser_prod___AStarshipExpr___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 =  param1;
   variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ ==  NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -13303,10 +13888,11 @@ void parser_prod___AStarshipExpr___replace_child(val_t  self, val_t  param0, val
   return;
 }
 void parser_prod___AStarshipExpr___visit_all(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 7084, LOCATE_parser_prod___AStarshipExpr___visit_all};
+  struct trace_t trace = {NULL, NULL, 7084, LOCATE_parser_prod___AStarshipExpr___visit_all};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 ==  NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -13324,10 +13910,11 @@ void parser_prod___AStarshipExpr___visit_all(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AStarshipExpr___visit_all_reverse(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 7094, LOCATE_parser_prod___AStarshipExpr___visit_all_reverse};
+  struct trace_t trace = {NULL, NULL, 7094, LOCATE_parser_prod___AStarshipExpr___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 ==  NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -13345,10 +13932,11 @@ void parser_prod___AStarshipExpr___visit_all_reverse(val_t  self, val_t  param0)
   return;
 }
 void parser_prod___AStarExpr___n_expr__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 7105, LOCATE_parser_prod___AStarExpr___n_expr__eq};
+  struct trace_t trace = {NULL, NULL, 7105, LOCATE_parser_prod___AStarExpr___n_expr__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/ =  variable0 /*n*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ ==  NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -13359,10 +13947,11 @@ void parser_prod___AStarExpr___n_expr__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AStarExpr___n_expr2__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 7112, LOCATE_parser_prod___AStarExpr___n_expr2__eq};
+  struct trace_t trace = {NULL, NULL, 7112, LOCATE_parser_prod___AStarExpr___n_expr2__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ABinopExpr::_n_expr2*/ =  variable0 /*n*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ ==  NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -13373,8 +13962,9 @@ void parser_prod___AStarExpr___n_expr2__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AStarExpr___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 7120, LOCATE_parser_prod___AStarExpr___empty_init};
+  struct trace_t trace = {NULL, NULL, 7120, LOCATE_parser_prod___AStarExpr___empty_init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AStarExpr].i]) return;
   ((parser_prod___ABinopExpr___empty_init_t)CALL( self,COLOR_parser_prod___ABinopExpr___empty_init))( self, init_table /*YYY*/) /*ABinopExpr::empty_init*/;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AStarExpr].i] = 1;
@@ -13382,11 +13972,12 @@ void parser_prod___AStarExpr___empty_init(val_t  self, int* init_table) {
   return;
 }
 void parser_prod___AStarExpr___init_astarexpr(val_t  self, val_t  param0, val_t  param1, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 7122, LOCATE_parser_prod___AStarExpr___init_astarexpr};
+  struct trace_t trace = {NULL, NULL, 7122, LOCATE_parser_prod___AStarExpr___init_astarexpr};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 =  param1;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AStarExpr].i]) return;
@@ -13406,11 +13997,12 @@ void parser_prod___AStarExpr___init_astarexpr(val_t  self, val_t  param0, val_t
   return;
 }
 void parser_prod___AStarExpr___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 7137, LOCATE_parser_prod___AStarExpr___replace_child};
+  struct trace_t trace = {NULL, NULL, 7137, LOCATE_parser_prod___AStarExpr___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 =  param1;
   variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ ==  NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -13448,10 +14040,11 @@ void parser_prod___AStarExpr___replace_child(val_t  self, val_t  param0, val_t
   return;
 }
 void parser_prod___AStarExpr___visit_all(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 7162, LOCATE_parser_prod___AStarExpr___visit_all};
+  struct trace_t trace = {NULL, NULL, 7162, LOCATE_parser_prod___AStarExpr___visit_all};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 ==  NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -13469,10 +14062,11 @@ void parser_prod___AStarExpr___visit_all(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AStarExpr___visit_all_reverse(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 7172, LOCATE_parser_prod___AStarExpr___visit_all_reverse};
+  struct trace_t trace = {NULL, NULL, 7172, LOCATE_parser_prod___AStarExpr___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 ==  NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -13490,10 +14084,11 @@ void parser_prod___AStarExpr___visit_all_reverse(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___ASlashExpr___n_expr__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 7183, LOCATE_parser_prod___ASlashExpr___n_expr__eq};
+  struct trace_t trace = {NULL, NULL, 7183, LOCATE_parser_prod___ASlashExpr___n_expr__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/ =  variable0 /*n*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ ==  NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -13504,10 +14099,11 @@ void parser_prod___ASlashExpr___n_expr__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___ASlashExpr___n_expr2__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 7190, LOCATE_parser_prod___ASlashExpr___n_expr2__eq};
+  struct trace_t trace = {NULL, NULL, 7190, LOCATE_parser_prod___ASlashExpr___n_expr2__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ABinopExpr::_n_expr2*/ =  variable0 /*n*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ ==  NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -13518,8 +14114,9 @@ void parser_prod___ASlashExpr___n_expr2__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___ASlashExpr___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 7198, LOCATE_parser_prod___ASlashExpr___empty_init};
+  struct trace_t trace = {NULL, NULL, 7198, LOCATE_parser_prod___ASlashExpr___empty_init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ASlashExpr].i]) return;
   ((parser_prod___ABinopExpr___empty_init_t)CALL( self,COLOR_parser_prod___ABinopExpr___empty_init))( self, init_table /*YYY*/) /*ABinopExpr::empty_init*/;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ASlashExpr].i] = 1;
@@ -13527,11 +14124,12 @@ void parser_prod___ASlashExpr___empty_init(val_t  self, int* init_table) {
   return;
 }
 void parser_prod___ASlashExpr___init_aslashexpr(val_t  self, val_t  param0, val_t  param1, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 7200, LOCATE_parser_prod___ASlashExpr___init_aslashexpr};
+  struct trace_t trace = {NULL, NULL, 7200, LOCATE_parser_prod___ASlashExpr___init_aslashexpr};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 =  param1;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ASlashExpr].i]) return;
@@ -13551,11 +14149,12 @@ void parser_prod___ASlashExpr___init_aslashexpr(val_t  self, val_t  param0, val_
   return;
 }
 void parser_prod___ASlashExpr___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 7215, LOCATE_parser_prod___ASlashExpr___replace_child};
+  struct trace_t trace = {NULL, NULL, 7215, LOCATE_parser_prod___ASlashExpr___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 =  param1;
   variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ ==  NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -13593,10 +14192,11 @@ void parser_prod___ASlashExpr___replace_child(val_t  self, val_t  param0, val_t
   return;
 }
 void parser_prod___ASlashExpr___visit_all(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 7240, LOCATE_parser_prod___ASlashExpr___visit_all};
+  struct trace_t trace = {NULL, NULL, 7240, LOCATE_parser_prod___ASlashExpr___visit_all};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 ==  NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -13614,10 +14214,11 @@ void parser_prod___ASlashExpr___visit_all(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___ASlashExpr___visit_all_reverse(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 7250, LOCATE_parser_prod___ASlashExpr___visit_all_reverse};
+  struct trace_t trace = {NULL, NULL, 7250, LOCATE_parser_prod___ASlashExpr___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 ==  NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -13635,10 +14236,11 @@ void parser_prod___ASlashExpr___visit_all_reverse(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___APercentExpr___n_expr__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 7261, LOCATE_parser_prod___APercentExpr___n_expr__eq};
+  struct trace_t trace = {NULL, NULL, 7261, LOCATE_parser_prod___APercentExpr___n_expr__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/ =  variable0 /*n*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ ==  NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -13649,10 +14251,11 @@ void parser_prod___APercentExpr___n_expr__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___APercentExpr___n_expr2__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 7268, LOCATE_parser_prod___APercentExpr___n_expr2__eq};
+  struct trace_t trace = {NULL, NULL, 7268, LOCATE_parser_prod___APercentExpr___n_expr2__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ABinopExpr::_n_expr2*/ =  variable0 /*n*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ ==  NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -13663,8 +14266,9 @@ void parser_prod___APercentExpr___n_expr2__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___APercentExpr___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 7276, LOCATE_parser_prod___APercentExpr___empty_init};
+  struct trace_t trace = {NULL, NULL, 7276, LOCATE_parser_prod___APercentExpr___empty_init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_APercentExpr].i]) return;
   ((parser_prod___ABinopExpr___empty_init_t)CALL( self,COLOR_parser_prod___ABinopExpr___empty_init))( self, init_table /*YYY*/) /*ABinopExpr::empty_init*/;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_APercentExpr].i] = 1;
@@ -13672,11 +14276,12 @@ void parser_prod___APercentExpr___empty_init(val_t  self, int* init_table) {
   return;
 }
 void parser_prod___APercentExpr___init_apercentexpr(val_t  self, val_t  param0, val_t  param1, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 7278, LOCATE_parser_prod___APercentExpr___init_apercentexpr};
+  struct trace_t trace = {NULL, NULL, 7278, LOCATE_parser_prod___APercentExpr___init_apercentexpr};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 =  param1;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_APercentExpr].i]) return;
@@ -13696,11 +14301,12 @@ void parser_prod___APercentExpr___init_apercentexpr(val_t  self, val_t  param0,
   return;
 }
 void parser_prod___APercentExpr___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 7293, LOCATE_parser_prod___APercentExpr___replace_child};
+  struct trace_t trace = {NULL, NULL, 7293, LOCATE_parser_prod___APercentExpr___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 =  param1;
   variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ ==  NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -13738,10 +14344,11 @@ void parser_prod___APercentExpr___replace_child(val_t  self, val_t  param0, val_
   return;
 }
 void parser_prod___APercentExpr___visit_all(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 7318, LOCATE_parser_prod___APercentExpr___visit_all};
+  struct trace_t trace = {NULL, NULL, 7318, LOCATE_parser_prod___APercentExpr___visit_all};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 ==  NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -13759,10 +14366,11 @@ void parser_prod___APercentExpr___visit_all(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___APercentExpr___visit_all_reverse(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 7328, LOCATE_parser_prod___APercentExpr___visit_all_reverse};
+  struct trace_t trace = {NULL, NULL, 7328, LOCATE_parser_prod___APercentExpr___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 ==  NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -13780,10 +14388,11 @@ void parser_prod___APercentExpr___visit_all_reverse(val_t  self, val_t  param0)
   return;
 }
 void parser_prod___AUminusExpr___n_minus__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 7339, LOCATE_parser_prod___AUminusExpr___n_minus__eq};
+  struct trace_t trace = {NULL, NULL, 7339, LOCATE_parser_prod___AUminusExpr___n_minus__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   ATTR_parser_nodes___AUminusExpr____n_minus( self) /*AUminusExpr::_n_minus*/ =  variable0 /*n*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ ==  NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -13794,10 +14403,11 @@ void parser_prod___AUminusExpr___n_minus__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AUminusExpr___n_expr__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 7346, LOCATE_parser_prod___AUminusExpr___n_expr__eq};
+  struct trace_t trace = {NULL, NULL, 7346, LOCATE_parser_prod___AUminusExpr___n_expr__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/ =  variable0 /*n*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ ==  NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -13808,8 +14418,9 @@ void parser_prod___AUminusExpr___n_expr__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AUminusExpr___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 7354, LOCATE_parser_prod___AUminusExpr___empty_init};
+  struct trace_t trace = {NULL, NULL, 7354, LOCATE_parser_prod___AUminusExpr___empty_init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AUminusExpr].i]) return;
   ((parser_prod___ASendExpr___empty_init_t)CALL( self,COLOR_parser_prod___ASendExpr___empty_init))( self, init_table /*YYY*/) /*ASendExpr::empty_init*/;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AUminusExpr].i] = 1;
@@ -13817,11 +14428,12 @@ void parser_prod___AUminusExpr___empty_init(val_t  self, int* init_table) {
   return;
 }
 void parser_prod___AUminusExpr___init_auminusexpr(val_t  self, val_t  param0, val_t  param1, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 7356, LOCATE_parser_prod___AUminusExpr___init_auminusexpr};
+  struct trace_t trace = {NULL, NULL, 7356, LOCATE_parser_prod___AUminusExpr___init_auminusexpr};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 =  param1;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AUminusExpr].i]) return;
@@ -13841,11 +14453,12 @@ void parser_prod___AUminusExpr___init_auminusexpr(val_t  self, val_t  param0, va
   return;
 }
 void parser_prod___AUminusExpr___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 7371, LOCATE_parser_prod___AUminusExpr___replace_child};
+  struct trace_t trace = {NULL, NULL, 7371, LOCATE_parser_prod___AUminusExpr___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 =  param1;
   variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ ==  NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -13883,10 +14496,11 @@ void parser_prod___AUminusExpr___replace_child(val_t  self, val_t  param0, val_t
   return;
 }
 void parser_prod___AUminusExpr___visit_all(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 7396, LOCATE_parser_prod___AUminusExpr___visit_all};
+  struct trace_t trace = {NULL, NULL, 7396, LOCATE_parser_prod___AUminusExpr___visit_all};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___AUminusExpr____n_minus( self) /*AUminusExpr::_n_minus*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 ==  NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -13904,10 +14518,11 @@ void parser_prod___AUminusExpr___visit_all(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AUminusExpr___visit_all_reverse(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 7406, LOCATE_parser_prod___AUminusExpr___visit_all_reverse};
+  struct trace_t trace = {NULL, NULL, 7406, LOCATE_parser_prod___AUminusExpr___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___AUminusExpr____n_minus( self) /*AUminusExpr::_n_minus*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 ==  NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -13925,10 +14540,11 @@ void parser_prod___AUminusExpr___visit_all_reverse(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___ANewExpr___n_kwnew__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 7417, LOCATE_parser_prod___ANewExpr___n_kwnew__eq};
+  struct trace_t trace = {NULL, NULL, 7417, LOCATE_parser_prod___ANewExpr___n_kwnew__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   ATTR_parser_nodes___ANewExpr____n_kwnew( self) /*ANewExpr::_n_kwnew*/ =  variable0 /*n*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ ==  NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -13939,10 +14555,11 @@ void parser_prod___ANewExpr___n_kwnew__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___ANewExpr___n_type__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 7424, LOCATE_parser_prod___ANewExpr___n_type__eq};
+  struct trace_t trace = {NULL, NULL, 7424, LOCATE_parser_prod___ANewExpr___n_type__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   ATTR_parser_nodes___ANewExpr____n_type( self) /*ANewExpr::_n_type*/ =  variable0 /*n*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ ==  NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -13953,10 +14570,11 @@ void parser_prod___ANewExpr___n_type__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___ANewExpr___n_id__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 7431, LOCATE_parser_prod___ANewExpr___n_id__eq};
+  struct trace_t trace = {NULL, NULL, 7431, LOCATE_parser_prod___ANewExpr___n_id__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   ATTR_parser_nodes___ANewExpr____n_id( self) /*ANewExpr::_n_id*/ =  variable0 /*n*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ ==  NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -13967,15 +14585,16 @@ void parser_prod___ANewExpr___n_id__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___ANewExpr___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 7439, LOCATE_parser_prod___ANewExpr___empty_init};
+  struct trace_t trace = {NULL, NULL, 7439, LOCATE_parser_prod___ANewExpr___empty_init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ANewExpr].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ANewExpr].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser_prod___ANewExpr___init_anewexpr(val_t  self, val_t  param0, val_t  param1, val_t  param2, val_t  param3, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 7441, LOCATE_parser_prod___ANewExpr___init_anewexpr};
+  struct trace_t trace = {NULL, NULL, 7441, LOCATE_parser_prod___ANewExpr___init_anewexpr};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -13984,6 +14603,7 @@ void parser_prod___ANewExpr___init_anewexpr(val_t  self, val_t  param0, val_t  p
     val_t variable5;
     val_t variable6;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 =  param1;
   variable2 =  param2;
@@ -14025,13 +14645,14 @@ void parser_prod___ANewExpr___init_anewexpr(val_t  self, val_t  param0, val_t  p
   return;
 }
 void parser_prod___ANewExpr___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 7468, LOCATE_parser_prod___ANewExpr___replace_child};
+  struct trace_t trace = {NULL, NULL, 7468, LOCATE_parser_prod___ANewExpr___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   val_t variable3;
     val_t variable4;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 =  param1;
   variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ ==  NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -14113,11 +14734,12 @@ void parser_prod___ANewExpr___replace_child(val_t  self, val_t  param0, val_t  p
   return;
 }
 void parser_prod___ANewExpr___visit_all(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 7515, LOCATE_parser_prod___ANewExpr___visit_all};
+  struct trace_t trace = {NULL, NULL, 7515, LOCATE_parser_prod___ANewExpr___visit_all};
   val_t variable0;
   val_t variable1;
     val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___ANewExpr____n_kwnew( self) /*ANewExpr::_n_kwnew*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 ==  NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -14152,11 +14774,12 @@ void parser_prod___ANewExpr___visit_all(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___ANewExpr___visit_all_reverse(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 7531, LOCATE_parser_prod___ANewExpr___visit_all_reverse};
+  struct trace_t trace = {NULL, NULL, 7531, LOCATE_parser_prod___ANewExpr___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___ANewExpr____n_kwnew( self) /*ANewExpr::_n_kwnew*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 ==  NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -14194,10 +14817,11 @@ void parser_prod___ANewExpr___visit_all_reverse(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AAttrExpr___n_expr__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 7552, LOCATE_parser_prod___AAttrExpr___n_expr__eq};
+  struct trace_t trace = {NULL, NULL, 7552, LOCATE_parser_prod___AAttrExpr___n_expr__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   ATTR_parser_nodes___AAttrFormExpr____n_expr( self) /*AAttrFormExpr::_n_expr*/ =  variable0 /*n*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ ==  NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -14208,10 +14832,11 @@ void parser_prod___AAttrExpr___n_expr__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AAttrExpr___n_id__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 7559, LOCATE_parser_prod___AAttrExpr___n_id__eq};
+  struct trace_t trace = {NULL, NULL, 7559, LOCATE_parser_prod___AAttrExpr___n_id__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   ATTR_parser_nodes___AAttrFormExpr____n_id( self) /*AAttrFormExpr::_n_id*/ =  variable0 /*n*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ ==  NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -14222,19 +14847,21 @@ void parser_prod___AAttrExpr___n_id__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AAttrExpr___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 7567, LOCATE_parser_prod___AAttrExpr___empty_init};
+  struct trace_t trace = {NULL, NULL, 7567, LOCATE_parser_prod___AAttrExpr___empty_init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AAttrExpr].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AAttrExpr].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AAttrExpr___init_aattrexpr(val_t  self, val_t  param0, val_t  param1, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 7569, LOCATE_parser_prod___AAttrExpr___init_aattrexpr};
+  struct trace_t trace = {NULL, NULL, 7569, LOCATE_parser_prod___AAttrExpr___init_aattrexpr};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 =  param1;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AAttrExpr].i]) return;
@@ -14253,11 +14880,12 @@ void parser_prod___AAttrExpr___init_aattrexpr(val_t  self, val_t  param0, val_t
   return;
 }
 void parser_prod___AAttrExpr___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 7584, LOCATE_parser_prod___AAttrExpr___replace_child};
+  struct trace_t trace = {NULL, NULL, 7584, LOCATE_parser_prod___AAttrExpr___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 =  param1;
   variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ ==  NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -14295,10 +14923,11 @@ void parser_prod___AAttrExpr___replace_child(val_t  self, val_t  param0, val_t
   return;
 }
 void parser_prod___AAttrExpr___visit_all(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 7609, LOCATE_parser_prod___AAttrExpr___visit_all};
+  struct trace_t trace = {NULL, NULL, 7609, LOCATE_parser_prod___AAttrExpr___visit_all};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___AAttrFormExpr____n_expr( self) /*AAttrFormExpr::_n_expr*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 ==  NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -14316,10 +14945,11 @@ void parser_prod___AAttrExpr___visit_all(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AAttrExpr___visit_all_reverse(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 7619, LOCATE_parser_prod___AAttrExpr___visit_all_reverse};
+  struct trace_t trace = {NULL, NULL, 7619, LOCATE_parser_prod___AAttrExpr___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___AAttrFormExpr____n_expr( self) /*AAttrFormExpr::_n_expr*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 ==  NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -14337,10 +14967,11 @@ void parser_prod___AAttrExpr___visit_all_reverse(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AAttrAssignExpr___n_expr__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 7630, LOCATE_parser_prod___AAttrAssignExpr___n_expr__eq};
+  struct trace_t trace = {NULL, NULL, 7630, LOCATE_parser_prod___AAttrAssignExpr___n_expr__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   ATTR_parser_nodes___AAttrFormExpr____n_expr( self) /*AAttrFormExpr::_n_expr*/ =  variable0 /*n*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ ==  NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -14351,10 +14982,11 @@ void parser_prod___AAttrAssignExpr___n_expr__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AAttrAssignExpr___n_id__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 7637, LOCATE_parser_prod___AAttrAssignExpr___n_id__eq};
+  struct trace_t trace = {NULL, NULL, 7637, LOCATE_parser_prod___AAttrAssignExpr___n_id__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   ATTR_parser_nodes___AAttrFormExpr____n_id( self) /*AAttrFormExpr::_n_id*/ =  variable0 /*n*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ ==  NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -14365,10 +14997,11 @@ void parser_prod___AAttrAssignExpr___n_id__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AAttrAssignExpr___n_assign__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 7644, LOCATE_parser_prod___AAttrAssignExpr___n_assign__eq};
+  struct trace_t trace = {NULL, NULL, 7644, LOCATE_parser_prod___AAttrAssignExpr___n_assign__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   ATTR_parser_nodes___AAssignFormExpr____n_assign( self) /*AAssignFormExpr::_n_assign*/ =  variable0 /*n*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ ==  NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -14379,10 +15012,11 @@ void parser_prod___AAttrAssignExpr___n_assign__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AAttrAssignExpr___n_value__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 7651, LOCATE_parser_prod___AAttrAssignExpr___n_value__eq};
+  struct trace_t trace = {NULL, NULL, 7651, LOCATE_parser_prod___AAttrAssignExpr___n_value__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   ATTR_parser_nodes___AAssignFormExpr____n_value( self) /*AAssignFormExpr::_n_value*/ =  variable0 /*n*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ ==  NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -14393,21 +15027,23 @@ void parser_prod___AAttrAssignExpr___n_value__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AAttrAssignExpr___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 7659, LOCATE_parser_prod___AAttrAssignExpr___empty_init};
+  struct trace_t trace = {NULL, NULL, 7659, LOCATE_parser_prod___AAttrAssignExpr___empty_init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AAttrAssignExpr].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AAttrAssignExpr].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AAttrAssignExpr___init_aattrassignexpr(val_t  self, val_t  param0, val_t  param1, val_t  param2, val_t  param3, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 7661, LOCATE_parser_prod___AAttrAssignExpr___init_aattrassignexpr};
+  struct trace_t trace = {NULL, NULL, 7661, LOCATE_parser_prod___AAttrAssignExpr___init_aattrassignexpr};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   val_t variable3;
   val_t variable4;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 =  param1;
   variable2 =  param2;
@@ -14438,11 +15074,12 @@ void parser_prod___AAttrAssignExpr___init_aattrassignexpr(val_t  self, val_t  pa
   return;
 }
 void parser_prod___AAttrAssignExpr___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 7686, LOCATE_parser_prod___AAttrAssignExpr___replace_child};
+  struct trace_t trace = {NULL, NULL, 7686, LOCATE_parser_prod___AAttrAssignExpr___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 =  param1;
   variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ ==  NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -14508,10 +15145,11 @@ void parser_prod___AAttrAssignExpr___replace_child(val_t  self, val_t  param0, v
   return;
 }
 void parser_prod___AAttrAssignExpr___visit_all(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 7731, LOCATE_parser_prod___AAttrAssignExpr___visit_all};
+  struct trace_t trace = {NULL, NULL, 7731, LOCATE_parser_prod___AAttrAssignExpr___visit_all};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___AAttrFormExpr____n_expr( self) /*AAttrFormExpr::_n_expr*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 ==  NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -14541,10 +15179,11 @@ void parser_prod___AAttrAssignExpr___visit_all(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AAttrAssignExpr___visit_all_reverse(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 7747, LOCATE_parser_prod___AAttrAssignExpr___visit_all_reverse};
+  struct trace_t trace = {NULL, NULL, 7747, LOCATE_parser_prod___AAttrAssignExpr___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___AAttrFormExpr____n_expr( self) /*AAttrFormExpr::_n_expr*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 ==  NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -14574,10 +15213,11 @@ void parser_prod___AAttrAssignExpr___visit_all_reverse(val_t  self, val_t  param
   return;
 }
 void parser_prod___AAttrReassignExpr___n_expr__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 7764, LOCATE_parser_prod___AAttrReassignExpr___n_expr__eq};
+  struct trace_t trace = {NULL, NULL, 7764, LOCATE_parser_prod___AAttrReassignExpr___n_expr__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   ATTR_parser_nodes___AAttrFormExpr____n_expr( self) /*AAttrFormExpr::_n_expr*/ =  variable0 /*n*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ ==  NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -14588,10 +15228,11 @@ void parser_prod___AAttrReassignExpr___n_expr__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AAttrReassignExpr___n_id__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 7771, LOCATE_parser_prod___AAttrReassignExpr___n_id__eq};
+  struct trace_t trace = {NULL, NULL, 7771, LOCATE_parser_prod___AAttrReassignExpr___n_id__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   ATTR_parser_nodes___AAttrFormExpr____n_id( self) /*AAttrFormExpr::_n_id*/ =  variable0 /*n*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ ==  NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -14602,10 +15243,11 @@ void parser_prod___AAttrReassignExpr___n_id__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AAttrReassignExpr___n_assign_op__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 7778, LOCATE_parser_prod___AAttrReassignExpr___n_assign_op__eq};
+  struct trace_t trace = {NULL, NULL, 7778, LOCATE_parser_prod___AAttrReassignExpr___n_assign_op__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   ATTR_parser_nodes___AReassignFormExpr____n_assign_op( self) /*AReassignFormExpr::_n_assign_op*/ =  variable0 /*n*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ ==  NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -14616,10 +15258,11 @@ void parser_prod___AAttrReassignExpr___n_assign_op__eq(val_t  self, val_t  param
   return;
 }
 void parser_prod___AAttrReassignExpr___n_value__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 7785, LOCATE_parser_prod___AAttrReassignExpr___n_value__eq};
+  struct trace_t trace = {NULL, NULL, 7785, LOCATE_parser_prod___AAttrReassignExpr___n_value__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   ATTR_parser_nodes___AReassignFormExpr____n_value( self) /*AReassignFormExpr::_n_value*/ =  variable0 /*n*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ ==  NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -14630,21 +15273,23 @@ void parser_prod___AAttrReassignExpr___n_value__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AAttrReassignExpr___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 7793, LOCATE_parser_prod___AAttrReassignExpr___empty_init};
+  struct trace_t trace = {NULL, NULL, 7793, LOCATE_parser_prod___AAttrReassignExpr___empty_init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AAttrReassignExpr].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AAttrReassignExpr].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AAttrReassignExpr___init_aattrreassignexpr(val_t  self, val_t  param0, val_t  param1, val_t  param2, val_t  param3, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 7795, LOCATE_parser_prod___AAttrReassignExpr___init_aattrreassignexpr};
+  struct trace_t trace = {NULL, NULL, 7795, LOCATE_parser_prod___AAttrReassignExpr___init_aattrreassignexpr};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   val_t variable3;
   val_t variable4;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 =  param1;
   variable2 =  param2;
@@ -14675,11 +15320,12 @@ void parser_prod___AAttrReassignExpr___init_aattrreassignexpr(val_t  self, val_t
   return;
 }
 void parser_prod___AAttrReassignExpr___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 7820, LOCATE_parser_prod___AAttrReassignExpr___replace_child};
+  struct trace_t trace = {NULL, NULL, 7820, LOCATE_parser_prod___AAttrReassignExpr___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 =  param1;
   variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ ==  NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -14745,10 +15391,11 @@ void parser_prod___AAttrReassignExpr___replace_child(val_t  self, val_t  param0,
   return;
 }
 void parser_prod___AAttrReassignExpr___visit_all(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 7865, LOCATE_parser_prod___AAttrReassignExpr___visit_all};
+  struct trace_t trace = {NULL, NULL, 7865, LOCATE_parser_prod___AAttrReassignExpr___visit_all};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___AAttrFormExpr____n_expr( self) /*AAttrFormExpr::_n_expr*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 ==  NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -14778,10 +15425,11 @@ void parser_prod___AAttrReassignExpr___visit_all(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AAttrReassignExpr___visit_all_reverse(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 7881, LOCATE_parser_prod___AAttrReassignExpr___visit_all_reverse};
+  struct trace_t trace = {NULL, NULL, 7881, LOCATE_parser_prod___AAttrReassignExpr___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___AAttrFormExpr____n_expr( self) /*AAttrFormExpr::_n_expr*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 ==  NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -14811,10 +15459,11 @@ void parser_prod___AAttrReassignExpr___visit_all_reverse(val_t  self, val_t  par
   return;
 }
 void parser_prod___ACallExpr___n_expr__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 7898, LOCATE_parser_prod___ACallExpr___n_expr__eq};
+  struct trace_t trace = {NULL, NULL, 7898, LOCATE_parser_prod___ACallExpr___n_expr__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/ =  variable0 /*n*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ ==  NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -14825,10 +15474,11 @@ void parser_prod___ACallExpr___n_expr__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___ACallExpr___n_id__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 7905, LOCATE_parser_prod___ACallExpr___n_id__eq};
+  struct trace_t trace = {NULL, NULL, 7905, LOCATE_parser_prod___ACallExpr___n_id__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   ATTR_parser_nodes___ACallFormExpr____n_id( self) /*ACallFormExpr::_n_id*/ =  variable0 /*n*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ ==  NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -14839,15 +15489,16 @@ void parser_prod___ACallExpr___n_id__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___ACallExpr___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 7913, LOCATE_parser_prod___ACallExpr___empty_init};
+  struct trace_t trace = {NULL, NULL, 7913, LOCATE_parser_prod___ACallExpr___empty_init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ACallExpr].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ACallExpr].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser_prod___ACallExpr___init_acallexpr(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 7915, LOCATE_parser_prod___ACallExpr___init_acallexpr};
+  struct trace_t trace = {NULL, NULL, 7915, LOCATE_parser_prod___ACallExpr___init_acallexpr};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -14855,6 +15506,7 @@ void parser_prod___ACallExpr___init_acallexpr(val_t  self, val_t  param0, val_t
     val_t variable4;
     val_t variable5;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 =  param1;
   variable2 =  param2;
@@ -14890,13 +15542,14 @@ void parser_prod___ACallExpr___init_acallexpr(val_t  self, val_t  param0, val_t
   return;
 }
 void parser_prod___ACallExpr___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 7937, LOCATE_parser_prod___ACallExpr___replace_child};
+  struct trace_t trace = {NULL, NULL, 7937, LOCATE_parser_prod___ACallExpr___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   val_t variable3;
     val_t variable4;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 =  param1;
   variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ ==  NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -14964,11 +15617,12 @@ void parser_prod___ACallExpr___replace_child(val_t  self, val_t  param0, val_t
   return;
 }
 void parser_prod___ACallExpr___visit_all(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 7974, LOCATE_parser_prod___ACallExpr___visit_all};
+  struct trace_t trace = {NULL, NULL, 7974, LOCATE_parser_prod___ACallExpr___visit_all};
   val_t variable0;
   val_t variable1;
     val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 ==  NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -14997,11 +15651,12 @@ void parser_prod___ACallExpr___visit_all(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___ACallExpr___visit_all_reverse(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 7987, LOCATE_parser_prod___ACallExpr___visit_all_reverse};
+  struct trace_t trace = {NULL, NULL, 7987, LOCATE_parser_prod___ACallExpr___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 ==  NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -15033,10 +15688,11 @@ void parser_prod___ACallExpr___visit_all_reverse(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___ACallAssignExpr___n_expr__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 8005, LOCATE_parser_prod___ACallAssignExpr___n_expr__eq};
+  struct trace_t trace = {NULL, NULL, 8005, LOCATE_parser_prod___ACallAssignExpr___n_expr__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/ =  variable0 /*n*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ ==  NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -15047,10 +15703,11 @@ void parser_prod___ACallAssignExpr___n_expr__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___ACallAssignExpr___n_id__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 8012, LOCATE_parser_prod___ACallAssignExpr___n_id__eq};
+  struct trace_t trace = {NULL, NULL, 8012, LOCATE_parser_prod___ACallAssignExpr___n_id__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   ATTR_parser_nodes___ACallFormExpr____n_id( self) /*ACallFormExpr::_n_id*/ =  variable0 /*n*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ ==  NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -15061,10 +15718,11 @@ void parser_prod___ACallAssignExpr___n_id__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___ACallAssignExpr___n_assign__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 8019, LOCATE_parser_prod___ACallAssignExpr___n_assign__eq};
+  struct trace_t trace = {NULL, NULL, 8019, LOCATE_parser_prod___ACallAssignExpr___n_assign__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   ATTR_parser_nodes___AAssignFormExpr____n_assign( self) /*AAssignFormExpr::_n_assign*/ =  variable0 /*n*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ ==  NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -15075,10 +15733,11 @@ void parser_prod___ACallAssignExpr___n_assign__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___ACallAssignExpr___n_value__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 8026, LOCATE_parser_prod___ACallAssignExpr___n_value__eq};
+  struct trace_t trace = {NULL, NULL, 8026, LOCATE_parser_prod___ACallAssignExpr___n_value__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   ATTR_parser_nodes___AAssignFormExpr____n_value( self) /*AAssignFormExpr::_n_value*/ =  variable0 /*n*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ ==  NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -15089,15 +15748,16 @@ void parser_prod___ACallAssignExpr___n_value__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___ACallAssignExpr___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 8034, LOCATE_parser_prod___ACallAssignExpr___empty_init};
+  struct trace_t trace = {NULL, NULL, 8034, LOCATE_parser_prod___ACallAssignExpr___empty_init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ACallAssignExpr].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ACallAssignExpr].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser_prod___ACallAssignExpr___init_acallassignexpr(val_t  self, val_t  param0, val_t  param1, val_t  param2, val_t  param3, val_t  param4, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 8036, LOCATE_parser_prod___ACallAssignExpr___init_acallassignexpr};
+  struct trace_t trace = {NULL, NULL, 8036, LOCATE_parser_prod___ACallAssignExpr___init_acallassignexpr};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -15107,6 +15767,7 @@ void parser_prod___ACallAssignExpr___init_acallassignexpr(val_t  self, val_t  pa
     val_t variable6;
     val_t variable7;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 =  param1;
   variable2 =  param2;
@@ -15154,13 +15815,14 @@ void parser_prod___ACallAssignExpr___init_acallassignexpr(val_t  self, val_t  pa
   return;
 }
 void parser_prod___ACallAssignExpr___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 8068, LOCATE_parser_prod___ACallAssignExpr___replace_child};
+  struct trace_t trace = {NULL, NULL, 8068, LOCATE_parser_prod___ACallAssignExpr___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   val_t variable3;
     val_t variable4;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 =  param1;
   variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ ==  NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -15256,11 +15918,12 @@ void parser_prod___ACallAssignExpr___replace_child(val_t  self, val_t  param0, v
   return;
 }
 void parser_prod___ACallAssignExpr___visit_all(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 8125, LOCATE_parser_prod___ACallAssignExpr___visit_all};
+  struct trace_t trace = {NULL, NULL, 8125, LOCATE_parser_prod___ACallAssignExpr___visit_all};
   val_t variable0;
   val_t variable1;
     val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 ==  NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -15301,11 +15964,12 @@ void parser_prod___ACallAssignExpr___visit_all(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___ACallAssignExpr___visit_all_reverse(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 8144, LOCATE_parser_prod___ACallAssignExpr___visit_all_reverse};
+  struct trace_t trace = {NULL, NULL, 8144, LOCATE_parser_prod___ACallAssignExpr___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 ==  NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -15349,10 +16013,11 @@ void parser_prod___ACallAssignExpr___visit_all_reverse(val_t  self, val_t  param
   return;
 }
 void parser_prod___ACallReassignExpr___n_expr__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 8168, LOCATE_parser_prod___ACallReassignExpr___n_expr__eq};
+  struct trace_t trace = {NULL, NULL, 8168, LOCATE_parser_prod___ACallReassignExpr___n_expr__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/ =  variable0 /*n*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ ==  NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -15363,10 +16028,11 @@ void parser_prod___ACallReassignExpr___n_expr__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___ACallReassignExpr___n_id__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 8175, LOCATE_parser_prod___ACallReassignExpr___n_id__eq};
+  struct trace_t trace = {NULL, NULL, 8175, LOCATE_parser_prod___ACallReassignExpr___n_id__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   ATTR_parser_nodes___ACallFormExpr____n_id( self) /*ACallFormExpr::_n_id*/ =  variable0 /*n*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ ==  NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -15377,10 +16043,11 @@ void parser_prod___ACallReassignExpr___n_id__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___ACallReassignExpr___n_assign_op__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 8182, LOCATE_parser_prod___ACallReassignExpr___n_assign_op__eq};
+  struct trace_t trace = {NULL, NULL, 8182, LOCATE_parser_prod___ACallReassignExpr___n_assign_op__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   ATTR_parser_nodes___AReassignFormExpr____n_assign_op( self) /*AReassignFormExpr::_n_assign_op*/ =  variable0 /*n*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ ==  NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -15391,10 +16058,11 @@ void parser_prod___ACallReassignExpr___n_assign_op__eq(val_t  self, val_t  param
   return;
 }
 void parser_prod___ACallReassignExpr___n_value__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 8189, LOCATE_parser_prod___ACallReassignExpr___n_value__eq};
+  struct trace_t trace = {NULL, NULL, 8189, LOCATE_parser_prod___ACallReassignExpr___n_value__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   ATTR_parser_nodes___AReassignFormExpr____n_value( self) /*AReassignFormExpr::_n_value*/ =  variable0 /*n*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ ==  NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -15405,15 +16073,16 @@ void parser_prod___ACallReassignExpr___n_value__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___ACallReassignExpr___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 8197, LOCATE_parser_prod___ACallReassignExpr___empty_init};
+  struct trace_t trace = {NULL, NULL, 8197, LOCATE_parser_prod___ACallReassignExpr___empty_init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ACallReassignExpr].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ACallReassignExpr].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser_prod___ACallReassignExpr___init_acallreassignexpr(val_t  self, val_t  param0, val_t  param1, val_t  param2, val_t  param3, val_t  param4, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 8199, LOCATE_parser_prod___ACallReassignExpr___init_acallreassignexpr};
+  struct trace_t trace = {NULL, NULL, 8199, LOCATE_parser_prod___ACallReassignExpr___init_acallreassignexpr};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -15423,6 +16092,7 @@ void parser_prod___ACallReassignExpr___init_acallreassignexpr(val_t  self, val_t
     val_t variable6;
     val_t variable7;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 =  param1;
   variable2 =  param2;
@@ -15470,13 +16140,14 @@ void parser_prod___ACallReassignExpr___init_acallreassignexpr(val_t  self, val_t
   return;
 }
 void parser_prod___ACallReassignExpr___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 8231, LOCATE_parser_prod___ACallReassignExpr___replace_child};
+  struct trace_t trace = {NULL, NULL, 8231, LOCATE_parser_prod___ACallReassignExpr___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   val_t variable3;
     val_t variable4;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 =  param1;
   variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ ==  NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -15572,11 +16243,12 @@ void parser_prod___ACallReassignExpr___replace_child(val_t  self, val_t  param0,
   return;
 }
 void parser_prod___ACallReassignExpr___visit_all(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 8288, LOCATE_parser_prod___ACallReassignExpr___visit_all};
+  struct trace_t trace = {NULL, NULL, 8288, LOCATE_parser_prod___ACallReassignExpr___visit_all};
   val_t variable0;
   val_t variable1;
     val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 ==  NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -15617,11 +16289,12 @@ void parser_prod___ACallReassignExpr___visit_all(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___ACallReassignExpr___visit_all_reverse(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 8307, LOCATE_parser_prod___ACallReassignExpr___visit_all_reverse};
+  struct trace_t trace = {NULL, NULL, 8307, LOCATE_parser_prod___ACallReassignExpr___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 ==  NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -15665,10 +16338,11 @@ void parser_prod___ACallReassignExpr___visit_all_reverse(val_t  self, val_t  par
   return;
 }
 void parser_prod___ASuperExpr___n_qualified__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 8331, LOCATE_parser_prod___ASuperExpr___n_qualified__eq};
+  struct trace_t trace = {NULL, NULL, 8331, LOCATE_parser_prod___ASuperExpr___n_qualified__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   ATTR_parser_nodes___ASuperExpr____n_qualified( self) /*ASuperExpr::_n_qualified*/ =  variable0 /*n*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ ==  NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -15679,10 +16353,11 @@ void parser_prod___ASuperExpr___n_qualified__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___ASuperExpr___n_kwsuper__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 8338, LOCATE_parser_prod___ASuperExpr___n_kwsuper__eq};
+  struct trace_t trace = {NULL, NULL, 8338, LOCATE_parser_prod___ASuperExpr___n_kwsuper__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   ATTR_parser_nodes___ASuperExpr____n_kwsuper( self) /*ASuperExpr::_n_kwsuper*/ =  variable0 /*n*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ ==  NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -15693,15 +16368,16 @@ void parser_prod___ASuperExpr___n_kwsuper__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___ASuperExpr___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 8346, LOCATE_parser_prod___ASuperExpr___empty_init};
+  struct trace_t trace = {NULL, NULL, 8346, LOCATE_parser_prod___ASuperExpr___empty_init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ASuperExpr].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ASuperExpr].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser_prod___ASuperExpr___init_asuperexpr(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 8348, LOCATE_parser_prod___ASuperExpr___init_asuperexpr};
+  struct trace_t trace = {NULL, NULL, 8348, LOCATE_parser_prod___ASuperExpr___init_asuperexpr};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -15709,6 +16385,7 @@ void parser_prod___ASuperExpr___init_asuperexpr(val_t  self, val_t  param0, val_
     val_t variable4;
     val_t variable5;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 =  param1;
   variable2 =  param2;
@@ -15744,13 +16421,14 @@ void parser_prod___ASuperExpr___init_asuperexpr(val_t  self, val_t  param0, val_
   return;
 }
 void parser_prod___ASuperExpr___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 8370, LOCATE_parser_prod___ASuperExpr___replace_child};
+  struct trace_t trace = {NULL, NULL, 8370, LOCATE_parser_prod___ASuperExpr___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   val_t variable3;
     val_t variable4;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 =  param1;
   variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ ==  NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -15818,11 +16496,12 @@ void parser_prod___ASuperExpr___replace_child(val_t  self, val_t  param0, val_t
   return;
 }
 void parser_prod___ASuperExpr___visit_all(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 8407, LOCATE_parser_prod___ASuperExpr___visit_all};
+  struct trace_t trace = {NULL, NULL, 8407, LOCATE_parser_prod___ASuperExpr___visit_all};
   val_t variable0;
   val_t variable1;
     val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___ASuperExpr____n_qualified( self) /*ASuperExpr::_n_qualified*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 ==  NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -15851,11 +16530,12 @@ void parser_prod___ASuperExpr___visit_all(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___ASuperExpr___visit_all_reverse(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 8420, LOCATE_parser_prod___ASuperExpr___visit_all_reverse};
+  struct trace_t trace = {NULL, NULL, 8420, LOCATE_parser_prod___ASuperExpr___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___ASuperExpr____n_qualified( self) /*ASuperExpr::_n_qualified*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 ==  NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -15887,10 +16567,11 @@ void parser_prod___ASuperExpr___visit_all_reverse(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AInitExpr___n_expr__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 8438, LOCATE_parser_prod___AInitExpr___n_expr__eq};
+  struct trace_t trace = {NULL, NULL, 8438, LOCATE_parser_prod___AInitExpr___n_expr__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/ =  variable0 /*n*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ ==  NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -15901,10 +16582,11 @@ void parser_prod___AInitExpr___n_expr__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AInitExpr___n_kwinit__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 8445, LOCATE_parser_prod___AInitExpr___n_kwinit__eq};
+  struct trace_t trace = {NULL, NULL, 8445, LOCATE_parser_prod___AInitExpr___n_kwinit__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   ATTR_parser_nodes___AInitExpr____n_kwinit( self) /*AInitExpr::_n_kwinit*/ =  variable0 /*n*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ ==  NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -15915,8 +16597,9 @@ void parser_prod___AInitExpr___n_kwinit__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AInitExpr___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 8453, LOCATE_parser_prod___AInitExpr___empty_init};
+  struct trace_t trace = {NULL, NULL, 8453, LOCATE_parser_prod___AInitExpr___empty_init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AInitExpr].i]) return;
   ((parser_prod___ASendExpr___empty_init_t)CALL( self,COLOR_parser_prod___ASendExpr___empty_init))( self, init_table /*YYY*/) /*ASendExpr::empty_init*/;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AInitExpr].i] = 1;
@@ -15924,7 +16607,7 @@ void parser_prod___AInitExpr___empty_init(val_t  self, int* init_table) {
   return;
 }
 void parser_prod___AInitExpr___init_ainitexpr(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 8455, LOCATE_parser_prod___AInitExpr___init_ainitexpr};
+  struct trace_t trace = {NULL, NULL, 8455, LOCATE_parser_prod___AInitExpr___init_ainitexpr};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -15932,6 +16615,7 @@ void parser_prod___AInitExpr___init_ainitexpr(val_t  self, val_t  param0, val_t
     val_t variable4;
     val_t variable5;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 =  param1;
   variable2 =  param2;
@@ -15968,13 +16652,14 @@ void parser_prod___AInitExpr___init_ainitexpr(val_t  self, val_t  param0, val_t
   return;
 }
 void parser_prod___AInitExpr___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 8477, LOCATE_parser_prod___AInitExpr___replace_child};
+  struct trace_t trace = {NULL, NULL, 8477, LOCATE_parser_prod___AInitExpr___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   val_t variable3;
     val_t variable4;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 =  param1;
   variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ ==  NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -16042,11 +16727,12 @@ void parser_prod___AInitExpr___replace_child(val_t  self, val_t  param0, val_t
   return;
 }
 void parser_prod___AInitExpr___visit_all(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 8514, LOCATE_parser_prod___AInitExpr___visit_all};
+  struct trace_t trace = {NULL, NULL, 8514, LOCATE_parser_prod___AInitExpr___visit_all};
   val_t variable0;
   val_t variable1;
     val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 ==  NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -16075,11 +16761,12 @@ void parser_prod___AInitExpr___visit_all(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AInitExpr___visit_all_reverse(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 8527, LOCATE_parser_prod___AInitExpr___visit_all_reverse};
+  struct trace_t trace = {NULL, NULL, 8527, LOCATE_parser_prod___AInitExpr___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 ==  NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -16111,10 +16798,11 @@ void parser_prod___AInitExpr___visit_all_reverse(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___ABraExpr___n_expr__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 8545, LOCATE_parser_prod___ABraExpr___n_expr__eq};
+  struct trace_t trace = {NULL, NULL, 8545, LOCATE_parser_prod___ABraExpr___n_expr__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/ =  variable0 /*n*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ ==  NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -16125,21 +16813,23 @@ void parser_prod___ABraExpr___n_expr__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___ABraExpr___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 8553, LOCATE_parser_prod___ABraExpr___empty_init};
+  struct trace_t trace = {NULL, NULL, 8553, LOCATE_parser_prod___ABraExpr___empty_init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ABraExpr].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ABraExpr].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser_prod___ABraExpr___init_abraexpr(val_t  self, val_t  param0, val_t  param1, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 8555, LOCATE_parser_prod___ABraExpr___init_abraexpr};
+  struct trace_t trace = {NULL, NULL, 8555, LOCATE_parser_prod___ABraExpr___init_abraexpr};
   val_t variable0;
   val_t variable1;
   val_t variable2;
     val_t variable3;
     val_t variable4;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 =  param1;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ABraExpr].i]) return;
@@ -16169,13 +16859,14 @@ void parser_prod___ABraExpr___init_abraexpr(val_t  self, val_t  param0, val_t  p
   return;
 }
 void parser_prod___ABraExpr___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 8572, LOCATE_parser_prod___ABraExpr___replace_child};
+  struct trace_t trace = {NULL, NULL, 8572, LOCATE_parser_prod___ABraExpr___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   val_t variable3;
     val_t variable4;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 =  param1;
   variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ ==  NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -16229,11 +16920,12 @@ void parser_prod___ABraExpr___replace_child(val_t  self, val_t  param0, val_t  p
   return;
 }
 void parser_prod___ABraExpr___visit_all(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 8599, LOCATE_parser_prod___ABraExpr___visit_all};
+  struct trace_t trace = {NULL, NULL, 8599, LOCATE_parser_prod___ABraExpr___visit_all};
   val_t variable0;
   val_t variable1;
     val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 ==  NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -16256,11 +16948,12 @@ void parser_prod___ABraExpr___visit_all(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___ABraExpr___visit_all_reverse(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 8609, LOCATE_parser_prod___ABraExpr___visit_all_reverse};
+  struct trace_t trace = {NULL, NULL, 8609, LOCATE_parser_prod___ABraExpr___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 ==  NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -16286,10 +16979,11 @@ void parser_prod___ABraExpr___visit_all_reverse(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___ABraAssignExpr___n_expr__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 8624, LOCATE_parser_prod___ABraAssignExpr___n_expr__eq};
+  struct trace_t trace = {NULL, NULL, 8624, LOCATE_parser_prod___ABraAssignExpr___n_expr__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/ =  variable0 /*n*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ ==  NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -16300,10 +16994,11 @@ void parser_prod___ABraAssignExpr___n_expr__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___ABraAssignExpr___n_assign__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 8631, LOCATE_parser_prod___ABraAssignExpr___n_assign__eq};
+  struct trace_t trace = {NULL, NULL, 8631, LOCATE_parser_prod___ABraAssignExpr___n_assign__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   ATTR_parser_nodes___AAssignFormExpr____n_assign( self) /*AAssignFormExpr::_n_assign*/ =  variable0 /*n*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ ==  NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -16314,10 +17009,11 @@ void parser_prod___ABraAssignExpr___n_assign__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___ABraAssignExpr___n_value__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 8638, LOCATE_parser_prod___ABraAssignExpr___n_value__eq};
+  struct trace_t trace = {NULL, NULL, 8638, LOCATE_parser_prod___ABraAssignExpr___n_value__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   ATTR_parser_nodes___AAssignFormExpr____n_value( self) /*AAssignFormExpr::_n_value*/ =  variable0 /*n*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ ==  NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -16328,15 +17024,16 @@ void parser_prod___ABraAssignExpr___n_value__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___ABraAssignExpr___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 8646, LOCATE_parser_prod___ABraAssignExpr___empty_init};
+  struct trace_t trace = {NULL, NULL, 8646, LOCATE_parser_prod___ABraAssignExpr___empty_init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ABraAssignExpr].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ABraAssignExpr].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser_prod___ABraAssignExpr___init_abraassignexpr(val_t  self, val_t  param0, val_t  param1, val_t  param2, val_t  param3, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 8648, LOCATE_parser_prod___ABraAssignExpr___init_abraassignexpr};
+  struct trace_t trace = {NULL, NULL, 8648, LOCATE_parser_prod___ABraAssignExpr___init_abraassignexpr};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -16345,6 +17042,7 @@ void parser_prod___ABraAssignExpr___init_abraassignexpr(val_t  self, val_t  para
     val_t variable5;
     val_t variable6;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 =  param1;
   variable2 =  param2;
@@ -16386,13 +17084,14 @@ void parser_prod___ABraAssignExpr___init_abraassignexpr(val_t  self, val_t  para
   return;
 }
 void parser_prod___ABraAssignExpr___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 8675, LOCATE_parser_prod___ABraAssignExpr___replace_child};
+  struct trace_t trace = {NULL, NULL, 8675, LOCATE_parser_prod___ABraAssignExpr___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   val_t variable3;
     val_t variable4;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 =  param1;
   variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ ==  NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -16474,11 +17173,12 @@ void parser_prod___ABraAssignExpr___replace_child(val_t  self, val_t  param0, va
   return;
 }
 void parser_prod___ABraAssignExpr___visit_all(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 8722, LOCATE_parser_prod___ABraAssignExpr___visit_all};
+  struct trace_t trace = {NULL, NULL, 8722, LOCATE_parser_prod___ABraAssignExpr___visit_all};
   val_t variable0;
   val_t variable1;
     val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 ==  NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -16513,11 +17213,12 @@ void parser_prod___ABraAssignExpr___visit_all(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___ABraAssignExpr___visit_all_reverse(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 8738, LOCATE_parser_prod___ABraAssignExpr___visit_all_reverse};
+  struct trace_t trace = {NULL, NULL, 8738, LOCATE_parser_prod___ABraAssignExpr___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 ==  NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -16555,10 +17256,11 @@ void parser_prod___ABraAssignExpr___visit_all_reverse(val_t  self, val_t  param0
   return;
 }
 void parser_prod___ABraReassignExpr___n_expr__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 8759, LOCATE_parser_prod___ABraReassignExpr___n_expr__eq};
+  struct trace_t trace = {NULL, NULL, 8759, LOCATE_parser_prod___ABraReassignExpr___n_expr__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/ =  variable0 /*n*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ ==  NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -16569,10 +17271,11 @@ void parser_prod___ABraReassignExpr___n_expr__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___ABraReassignExpr___n_assign_op__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 8766, LOCATE_parser_prod___ABraReassignExpr___n_assign_op__eq};
+  struct trace_t trace = {NULL, NULL, 8766, LOCATE_parser_prod___ABraReassignExpr___n_assign_op__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   ATTR_parser_nodes___AReassignFormExpr____n_assign_op( self) /*AReassignFormExpr::_n_assign_op*/ =  variable0 /*n*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ ==  NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -16583,10 +17286,11 @@ void parser_prod___ABraReassignExpr___n_assign_op__eq(val_t  self, val_t  param0
   return;
 }
 void parser_prod___ABraReassignExpr___n_value__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 8773, LOCATE_parser_prod___ABraReassignExpr___n_value__eq};
+  struct trace_t trace = {NULL, NULL, 8773, LOCATE_parser_prod___ABraReassignExpr___n_value__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   ATTR_parser_nodes___AReassignFormExpr____n_value( self) /*AReassignFormExpr::_n_value*/ =  variable0 /*n*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ ==  NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -16597,15 +17301,16 @@ void parser_prod___ABraReassignExpr___n_value__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___ABraReassignExpr___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 8781, LOCATE_parser_prod___ABraReassignExpr___empty_init};
+  struct trace_t trace = {NULL, NULL, 8781, LOCATE_parser_prod___ABraReassignExpr___empty_init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ABraReassignExpr].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ABraReassignExpr].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser_prod___ABraReassignExpr___init_abrareassignexpr(val_t  self, val_t  param0, val_t  param1, val_t  param2, val_t  param3, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 8783, LOCATE_parser_prod___ABraReassignExpr___init_abrareassignexpr};
+  struct trace_t trace = {NULL, NULL, 8783, LOCATE_parser_prod___ABraReassignExpr___init_abrareassignexpr};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -16614,6 +17319,7 @@ void parser_prod___ABraReassignExpr___init_abrareassignexpr(val_t  self, val_t
     val_t variable5;
     val_t variable6;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 =  param1;
   variable2 =  param2;
@@ -16655,13 +17361,14 @@ void parser_prod___ABraReassignExpr___init_abrareassignexpr(val_t  self, val_t
   return;
 }
 void parser_prod___ABraReassignExpr___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 8810, LOCATE_parser_prod___ABraReassignExpr___replace_child};
+  struct trace_t trace = {NULL, NULL, 8810, LOCATE_parser_prod___ABraReassignExpr___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   val_t variable3;
     val_t variable4;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 =  param1;
   variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ ==  NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -16743,11 +17450,12 @@ void parser_prod___ABraReassignExpr___replace_child(val_t  self, val_t  param0,
   return;
 }
 void parser_prod___ABraReassignExpr___visit_all(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 8857, LOCATE_parser_prod___ABraReassignExpr___visit_all};
+  struct trace_t trace = {NULL, NULL, 8857, LOCATE_parser_prod___ABraReassignExpr___visit_all};
   val_t variable0;
   val_t variable1;
     val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 ==  NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -16782,11 +17490,12 @@ void parser_prod___ABraReassignExpr___visit_all(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___ABraReassignExpr___visit_all_reverse(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 8873, LOCATE_parser_prod___ABraReassignExpr___visit_all_reverse};
+  struct trace_t trace = {NULL, NULL, 8873, LOCATE_parser_prod___ABraReassignExpr___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 ==  NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -16824,10 +17533,11 @@ void parser_prod___ABraReassignExpr___visit_all_reverse(val_t  self, val_t  para
   return;
 }
 void parser_prod___AVarExpr___n_id__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 8894, LOCATE_parser_prod___AVarExpr___n_id__eq};
+  struct trace_t trace = {NULL, NULL, 8894, LOCATE_parser_prod___AVarExpr___n_id__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   ATTR_parser_nodes___AVarFormExpr____n_id( self) /*AVarFormExpr::_n_id*/ =  variable0 /*n*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ ==  NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -16838,18 +17548,20 @@ void parser_prod___AVarExpr___n_id__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AVarExpr___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 8902, LOCATE_parser_prod___AVarExpr___empty_init};
+  struct trace_t trace = {NULL, NULL, 8902, LOCATE_parser_prod___AVarExpr___empty_init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AVarExpr].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AVarExpr].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AVarExpr___init_avarexpr(val_t  self, val_t  param0, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 8904, LOCATE_parser_prod___AVarExpr___init_avarexpr};
+  struct trace_t trace = {NULL, NULL, 8904, LOCATE_parser_prod___AVarExpr___init_avarexpr};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AVarExpr].i]) return;
   ATTR_parser_nodes___AVarFormExpr____n_id( self) /*AVarFormExpr::_n_id*/ =  variable0 /*n_id*/;
@@ -16862,11 +17574,12 @@ void parser_prod___AVarExpr___init_avarexpr(val_t  self, val_t  param0, int* ini
   return;
 }
 void parser_prod___AVarExpr___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 8914, LOCATE_parser_prod___AVarExpr___replace_child};
+  struct trace_t trace = {NULL, NULL, 8914, LOCATE_parser_prod___AVarExpr___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 =  param1;
   variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ ==  NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -16890,10 +17603,11 @@ void parser_prod___AVarExpr___replace_child(val_t  self, val_t  param0, val_t  p
   return;
 }
 void parser_prod___AVarExpr___visit_all(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 8929, LOCATE_parser_prod___AVarExpr___visit_all};
+  struct trace_t trace = {NULL, NULL, 8929, LOCATE_parser_prod___AVarExpr___visit_all};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___AVarFormExpr____n_id( self) /*AVarFormExpr::_n_id*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 ==  NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -16905,10 +17619,11 @@ void parser_prod___AVarExpr___visit_all(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AVarExpr___visit_all_reverse(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 8936, LOCATE_parser_prod___AVarExpr___visit_all_reverse};
+  struct trace_t trace = {NULL, NULL, 8936, LOCATE_parser_prod___AVarExpr___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___AVarFormExpr____n_id( self) /*AVarFormExpr::_n_id*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 ==  NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -16920,10 +17635,11 @@ void parser_prod___AVarExpr___visit_all_reverse(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AVarAssignExpr___n_id__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 8944, LOCATE_parser_prod___AVarAssignExpr___n_id__eq};
+  struct trace_t trace = {NULL, NULL, 8944, LOCATE_parser_prod___AVarAssignExpr___n_id__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   ATTR_parser_nodes___AVarFormExpr____n_id( self) /*AVarFormExpr::_n_id*/ =  variable0 /*n*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ ==  NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -16934,10 +17650,11 @@ void parser_prod___AVarAssignExpr___n_id__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AVarAssignExpr___n_assign__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 8951, LOCATE_parser_prod___AVarAssignExpr___n_assign__eq};
+  struct trace_t trace = {NULL, NULL, 8951, LOCATE_parser_prod___AVarAssignExpr___n_assign__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   ATTR_parser_nodes___AAssignFormExpr____n_assign( self) /*AAssignFormExpr::_n_assign*/ =  variable0 /*n*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ ==  NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -16948,10 +17665,11 @@ void parser_prod___AVarAssignExpr___n_assign__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AVarAssignExpr___n_value__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 8958, LOCATE_parser_prod___AVarAssignExpr___n_value__eq};
+  struct trace_t trace = {NULL, NULL, 8958, LOCATE_parser_prod___AVarAssignExpr___n_value__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   ATTR_parser_nodes___AAssignFormExpr____n_value( self) /*AAssignFormExpr::_n_value*/ =  variable0 /*n*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ ==  NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -16962,20 +17680,22 @@ void parser_prod___AVarAssignExpr___n_value__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AVarAssignExpr___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 8966, LOCATE_parser_prod___AVarAssignExpr___empty_init};
+  struct trace_t trace = {NULL, NULL, 8966, LOCATE_parser_prod___AVarAssignExpr___empty_init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AVarAssignExpr].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AVarAssignExpr].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AVarAssignExpr___init_avarassignexpr(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 8968, LOCATE_parser_prod___AVarAssignExpr___init_avarassignexpr};
+  struct trace_t trace = {NULL, NULL, 8968, LOCATE_parser_prod___AVarAssignExpr___init_avarassignexpr};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   val_t variable3;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 =  param1;
   variable2 =  param2;
@@ -17000,11 +17720,12 @@ void parser_prod___AVarAssignExpr___init_avarassignexpr(val_t  self, val_t  para
   return;
 }
 void parser_prod___AVarAssignExpr___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 8988, LOCATE_parser_prod___AVarAssignExpr___replace_child};
+  struct trace_t trace = {NULL, NULL, 8988, LOCATE_parser_prod___AVarAssignExpr___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 =  param1;
   variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ ==  NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -17056,10 +17777,11 @@ void parser_prod___AVarAssignExpr___replace_child(val_t  self, val_t  param0, va
   return;
 }
 void parser_prod___AVarAssignExpr___visit_all(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 9023, LOCATE_parser_prod___AVarAssignExpr___visit_all};
+  struct trace_t trace = {NULL, NULL, 9023, LOCATE_parser_prod___AVarAssignExpr___visit_all};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___AVarFormExpr____n_id( self) /*AVarFormExpr::_n_id*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 ==  NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -17083,10 +17805,11 @@ void parser_prod___AVarAssignExpr___visit_all(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AVarAssignExpr___visit_all_reverse(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 9036, LOCATE_parser_prod___AVarAssignExpr___visit_all_reverse};
+  struct trace_t trace = {NULL, NULL, 9036, LOCATE_parser_prod___AVarAssignExpr___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___AVarFormExpr____n_id( self) /*AVarFormExpr::_n_id*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 ==  NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -17110,10 +17833,11 @@ void parser_prod___AVarAssignExpr___visit_all_reverse(val_t  self, val_t  param0
   return;
 }
 void parser_prod___AVarReassignExpr___n_id__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 9050, LOCATE_parser_prod___AVarReassignExpr___n_id__eq};
+  struct trace_t trace = {NULL, NULL, 9050, LOCATE_parser_prod___AVarReassignExpr___n_id__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   ATTR_parser_nodes___AVarFormExpr____n_id( self) /*AVarFormExpr::_n_id*/ =  variable0 /*n*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ ==  NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -17124,10 +17848,11 @@ void parser_prod___AVarReassignExpr___n_id__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AVarReassignExpr___n_assign_op__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 9057, LOCATE_parser_prod___AVarReassignExpr___n_assign_op__eq};
+  struct trace_t trace = {NULL, NULL, 9057, LOCATE_parser_prod___AVarReassignExpr___n_assign_op__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   ATTR_parser_nodes___AReassignFormExpr____n_assign_op( self) /*AReassignFormExpr::_n_assign_op*/ =  variable0 /*n*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ ==  NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -17138,10 +17863,11 @@ void parser_prod___AVarReassignExpr___n_assign_op__eq(val_t  self, val_t  param0
   return;
 }
 void parser_prod___AVarReassignExpr___n_value__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 9064, LOCATE_parser_prod___AVarReassignExpr___n_value__eq};
+  struct trace_t trace = {NULL, NULL, 9064, LOCATE_parser_prod___AVarReassignExpr___n_value__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   ATTR_parser_nodes___AReassignFormExpr____n_value( self) /*AReassignFormExpr::_n_value*/ =  variable0 /*n*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ ==  NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -17152,20 +17878,22 @@ void parser_prod___AVarReassignExpr___n_value__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AVarReassignExpr___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 9072, LOCATE_parser_prod___AVarReassignExpr___empty_init};
+  struct trace_t trace = {NULL, NULL, 9072, LOCATE_parser_prod___AVarReassignExpr___empty_init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AVarReassignExpr].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AVarReassignExpr].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AVarReassignExpr___init_avarreassignexpr(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 9074, LOCATE_parser_prod___AVarReassignExpr___init_avarreassignexpr};
+  struct trace_t trace = {NULL, NULL, 9074, LOCATE_parser_prod___AVarReassignExpr___init_avarreassignexpr};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   val_t variable3;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 =  param1;
   variable2 =  param2;
@@ -17190,11 +17918,12 @@ void parser_prod___AVarReassignExpr___init_avarreassignexpr(val_t  self, val_t
   return;
 }
 void parser_prod___AVarReassignExpr___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 9094, LOCATE_parser_prod___AVarReassignExpr___replace_child};
+  struct trace_t trace = {NULL, NULL, 9094, LOCATE_parser_prod___AVarReassignExpr___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 =  param1;
   variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ ==  NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -17246,10 +17975,11 @@ void parser_prod___AVarReassignExpr___replace_child(val_t  self, val_t  param0,
   return;
 }
 void parser_prod___AVarReassignExpr___visit_all(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 9129, LOCATE_parser_prod___AVarReassignExpr___visit_all};
+  struct trace_t trace = {NULL, NULL, 9129, LOCATE_parser_prod___AVarReassignExpr___visit_all};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___AVarFormExpr____n_id( self) /*AVarFormExpr::_n_id*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 ==  NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -17273,10 +18003,11 @@ void parser_prod___AVarReassignExpr___visit_all(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AVarReassignExpr___visit_all_reverse(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 9142, LOCATE_parser_prod___AVarReassignExpr___visit_all_reverse};
+  struct trace_t trace = {NULL, NULL, 9142, LOCATE_parser_prod___AVarReassignExpr___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___AVarFormExpr____n_id( self) /*AVarFormExpr::_n_id*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 ==  NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -17300,10 +18031,11 @@ void parser_prod___AVarReassignExpr___visit_all_reverse(val_t  self, val_t  para
   return;
 }
 void parser_prod___ARangeExpr___n_expr__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 9156, LOCATE_parser_prod___ARangeExpr___n_expr__eq};
+  struct trace_t trace = {NULL, NULL, 9156, LOCATE_parser_prod___ARangeExpr___n_expr__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   ATTR_parser_nodes___ARangeExpr____n_expr( self) /*ARangeExpr::_n_expr*/ =  variable0 /*n*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ ==  NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -17314,10 +18046,11 @@ void parser_prod___ARangeExpr___n_expr__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___ARangeExpr___n_expr2__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 9163, LOCATE_parser_prod___ARangeExpr___n_expr2__eq};
+  struct trace_t trace = {NULL, NULL, 9163, LOCATE_parser_prod___ARangeExpr___n_expr2__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   ATTR_parser_nodes___ARangeExpr____n_expr2( self) /*ARangeExpr::_n_expr2*/ =  variable0 /*n*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ ==  NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -17328,19 +18061,21 @@ void parser_prod___ARangeExpr___n_expr2__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___ARangeExpr___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 9171, LOCATE_parser_prod___ARangeExpr___empty_init};
+  struct trace_t trace = {NULL, NULL, 9171, LOCATE_parser_prod___ARangeExpr___empty_init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ARangeExpr].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ARangeExpr].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser_prod___ARangeExpr___init_arangeexpr(val_t  self, val_t  param0, val_t  param1, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 9173, LOCATE_parser_prod___ARangeExpr___init_arangeexpr};
+  struct trace_t trace = {NULL, NULL, 9173, LOCATE_parser_prod___ARangeExpr___init_arangeexpr};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 =  param1;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ARangeExpr].i]) return;
@@ -17359,11 +18094,12 @@ void parser_prod___ARangeExpr___init_arangeexpr(val_t  self, val_t  param0, val_
   return;
 }
 void parser_prod___ARangeExpr___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 9188, LOCATE_parser_prod___ARangeExpr___replace_child};
+  struct trace_t trace = {NULL, NULL, 9188, LOCATE_parser_prod___ARangeExpr___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 =  param1;
   variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ ==  NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -17401,10 +18137,11 @@ void parser_prod___ARangeExpr___replace_child(val_t  self, val_t  param0, val_t
   return;
 }
 void parser_prod___ARangeExpr___visit_all(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 9213, LOCATE_parser_prod___ARangeExpr___visit_all};
+  struct trace_t trace = {NULL, NULL, 9213, LOCATE_parser_prod___ARangeExpr___visit_all};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___ARangeExpr____n_expr( self) /*ARangeExpr::_n_expr*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 ==  NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -17422,10 +18159,11 @@ void parser_prod___ARangeExpr___visit_all(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___ARangeExpr___visit_all_reverse(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 9223, LOCATE_parser_prod___ARangeExpr___visit_all_reverse};
+  struct trace_t trace = {NULL, NULL, 9223, LOCATE_parser_prod___ARangeExpr___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___ARangeExpr____n_expr( self) /*ARangeExpr::_n_expr*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 ==  NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -17443,10 +18181,11 @@ void parser_prod___ARangeExpr___visit_all_reverse(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___ACrangeExpr___n_expr__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 9234, LOCATE_parser_prod___ACrangeExpr___n_expr__eq};
+  struct trace_t trace = {NULL, NULL, 9234, LOCATE_parser_prod___ACrangeExpr___n_expr__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   ATTR_parser_nodes___ARangeExpr____n_expr( self) /*ARangeExpr::_n_expr*/ =  variable0 /*n*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ ==  NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -17457,10 +18196,11 @@ void parser_prod___ACrangeExpr___n_expr__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___ACrangeExpr___n_expr2__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 9241, LOCATE_parser_prod___ACrangeExpr___n_expr2__eq};
+  struct trace_t trace = {NULL, NULL, 9241, LOCATE_parser_prod___ACrangeExpr___n_expr2__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   ATTR_parser_nodes___ARangeExpr____n_expr2( self) /*ARangeExpr::_n_expr2*/ =  variable0 /*n*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ ==  NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -17471,8 +18211,9 @@ void parser_prod___ACrangeExpr___n_expr2__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___ACrangeExpr___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 9249, LOCATE_parser_prod___ACrangeExpr___empty_init};
+  struct trace_t trace = {NULL, NULL, 9249, LOCATE_parser_prod___ACrangeExpr___empty_init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ACrangeExpr].i]) return;
   ((parser_prod___ARangeExpr___empty_init_t)CALL( self,COLOR_parser_prod___ARangeExpr___empty_init))( self, init_table /*YYY*/) /*ARangeExpr::empty_init*/;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ACrangeExpr].i] = 1;
@@ -17480,11 +18221,12 @@ void parser_prod___ACrangeExpr___empty_init(val_t  self, int* init_table) {
   return;
 }
 void parser_prod___ACrangeExpr___init_acrangeexpr(val_t  self, val_t  param0, val_t  param1, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 9251, LOCATE_parser_prod___ACrangeExpr___init_acrangeexpr};
+  struct trace_t trace = {NULL, NULL, 9251, LOCATE_parser_prod___ACrangeExpr___init_acrangeexpr};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 =  param1;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ACrangeExpr].i]) return;
@@ -17504,11 +18246,12 @@ void parser_prod___ACrangeExpr___init_acrangeexpr(val_t  self, val_t  param0, va
   return;
 }
 void parser_prod___ACrangeExpr___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 9266, LOCATE_parser_prod___ACrangeExpr___replace_child};
+  struct trace_t trace = {NULL, NULL, 9266, LOCATE_parser_prod___ACrangeExpr___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 =  param1;
   variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ ==  NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -17546,10 +18289,11 @@ void parser_prod___ACrangeExpr___replace_child(val_t  self, val_t  param0, val_t
   return;
 }
 void parser_prod___ACrangeExpr___visit_all(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 9291, LOCATE_parser_prod___ACrangeExpr___visit_all};
+  struct trace_t trace = {NULL, NULL, 9291, LOCATE_parser_prod___ACrangeExpr___visit_all};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___ARangeExpr____n_expr( self) /*ARangeExpr::_n_expr*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 ==  NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -17567,10 +18311,11 @@ void parser_prod___ACrangeExpr___visit_all(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___ACrangeExpr___visit_all_reverse(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 9301, LOCATE_parser_prod___ACrangeExpr___visit_all_reverse};
+  struct trace_t trace = {NULL, NULL, 9301, LOCATE_parser_prod___ACrangeExpr___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___ARangeExpr____n_expr( self) /*ARangeExpr::_n_expr*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 ==  NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -17588,10 +18333,11 @@ void parser_prod___ACrangeExpr___visit_all_reverse(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AOrangeExpr___n_expr__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 9312, LOCATE_parser_prod___AOrangeExpr___n_expr__eq};
+  struct trace_t trace = {NULL, NULL, 9312, LOCATE_parser_prod___AOrangeExpr___n_expr__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   ATTR_parser_nodes___ARangeExpr____n_expr( self) /*ARangeExpr::_n_expr*/ =  variable0 /*n*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ ==  NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -17602,10 +18348,11 @@ void parser_prod___AOrangeExpr___n_expr__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AOrangeExpr___n_expr2__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 9319, LOCATE_parser_prod___AOrangeExpr___n_expr2__eq};
+  struct trace_t trace = {NULL, NULL, 9319, LOCATE_parser_prod___AOrangeExpr___n_expr2__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   ATTR_parser_nodes___ARangeExpr____n_expr2( self) /*ARangeExpr::_n_expr2*/ =  variable0 /*n*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ ==  NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -17616,8 +18363,9 @@ void parser_prod___AOrangeExpr___n_expr2__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AOrangeExpr___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 9327, LOCATE_parser_prod___AOrangeExpr___empty_init};
+  struct trace_t trace = {NULL, NULL, 9327, LOCATE_parser_prod___AOrangeExpr___empty_init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AOrangeExpr].i]) return;
   ((parser_prod___ARangeExpr___empty_init_t)CALL( self,COLOR_parser_prod___ARangeExpr___empty_init))( self, init_table /*YYY*/) /*ARangeExpr::empty_init*/;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AOrangeExpr].i] = 1;
@@ -17625,11 +18373,12 @@ void parser_prod___AOrangeExpr___empty_init(val_t  self, int* init_table) {
   return;
 }
 void parser_prod___AOrangeExpr___init_aorangeexpr(val_t  self, val_t  param0, val_t  param1, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 9329, LOCATE_parser_prod___AOrangeExpr___init_aorangeexpr};
+  struct trace_t trace = {NULL, NULL, 9329, LOCATE_parser_prod___AOrangeExpr___init_aorangeexpr};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 =  param1;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AOrangeExpr].i]) return;
@@ -17649,11 +18398,12 @@ void parser_prod___AOrangeExpr___init_aorangeexpr(val_t  self, val_t  param0, va
   return;
 }
 void parser_prod___AOrangeExpr___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 9344, LOCATE_parser_prod___AOrangeExpr___replace_child};
+  struct trace_t trace = {NULL, NULL, 9344, LOCATE_parser_prod___AOrangeExpr___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 =  param1;
   variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ ==  NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -17691,10 +18441,11 @@ void parser_prod___AOrangeExpr___replace_child(val_t  self, val_t  param0, val_t
   return;
 }
 void parser_prod___AOrangeExpr___visit_all(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 9369, LOCATE_parser_prod___AOrangeExpr___visit_all};
+  struct trace_t trace = {NULL, NULL, 9369, LOCATE_parser_prod___AOrangeExpr___visit_all};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___ARangeExpr____n_expr( self) /*ARangeExpr::_n_expr*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 ==  NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -17712,10 +18463,11 @@ void parser_prod___AOrangeExpr___visit_all(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AOrangeExpr___visit_all_reverse(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 9379, LOCATE_parser_prod___AOrangeExpr___visit_all_reverse};
+  struct trace_t trace = {NULL, NULL, 9379, LOCATE_parser_prod___AOrangeExpr___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___ARangeExpr____n_expr( self) /*ARangeExpr::_n_expr*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 ==  NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -17733,20 +18485,22 @@ void parser_prod___AOrangeExpr___visit_all_reverse(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AArrayExpr___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 9391, LOCATE_parser_prod___AArrayExpr___empty_init};
+  struct trace_t trace = {NULL, NULL, 9391, LOCATE_parser_prod___AArrayExpr___empty_init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AArrayExpr].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AArrayExpr].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AArrayExpr___init_aarrayexpr(val_t  self, val_t  param0, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 9393, LOCATE_parser_prod___AArrayExpr___init_aarrayexpr};
+  struct trace_t trace = {NULL, NULL, 9393, LOCATE_parser_prod___AArrayExpr___init_aarrayexpr};
   val_t variable0;
   val_t variable1;
     val_t variable2;
     val_t variable3;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AArrayExpr].i]) return;
   variable1 = NEW_list___List___init(); /*new List[E]*/
@@ -17770,13 +18524,14 @@ void parser_prod___AArrayExpr___init_aarrayexpr(val_t  self, val_t  param0, int*
   return;
 }
 void parser_prod___AArrayExpr___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 9405, LOCATE_parser_prod___AArrayExpr___replace_child};
+  struct trace_t trace = {NULL, NULL, 9405, LOCATE_parser_prod___AArrayExpr___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   val_t variable3;
     val_t variable4;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 =  param1;
   variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ ==  NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -17816,11 +18571,12 @@ void parser_prod___AArrayExpr___replace_child(val_t  self, val_t  param0, val_t
   return;
 }
 void parser_prod___AArrayExpr___visit_all(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 9422, LOCATE_parser_prod___AArrayExpr___visit_all};
+  struct trace_t trace = {NULL, NULL, 9422, LOCATE_parser_prod___AArrayExpr___visit_all};
   val_t variable0;
   val_t variable1;
     val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___AArrayExpr____n_exprs( self) /*AArrayExpr::_n_exprs*/;
   variable1 = ((list___List___iterator_t)CALL(variable1,COLOR_abstract_collection___Collection___iterator))(variable1) /*List::iterator*/;
@@ -17837,11 +18593,12 @@ void parser_prod___AArrayExpr___visit_all(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AArrayExpr___visit_all_reverse(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 9429, LOCATE_parser_prod___AArrayExpr___visit_all_reverse};
+  struct trace_t trace = {NULL, NULL, 9429, LOCATE_parser_prod___AArrayExpr___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable2 = ATTR_parser_nodes___AArrayExpr____n_exprs( self) /*AArrayExpr::_n_exprs*/;
   variable2 = ((list___List___length_t)CALL(variable2,COLOR_abstract_collection___Collection___length))(variable2) /*List::length*/;
@@ -17861,10 +18618,11 @@ void parser_prod___AArrayExpr___visit_all_reverse(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___ASelfExpr___n_kwself__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 9441, LOCATE_parser_prod___ASelfExpr___n_kwself__eq};
+  struct trace_t trace = {NULL, NULL, 9441, LOCATE_parser_prod___ASelfExpr___n_kwself__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   ATTR_parser_nodes___ASelfExpr____n_kwself( self) /*ASelfExpr::_n_kwself*/ =  variable0 /*n*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ ==  NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -17875,18 +18633,20 @@ void parser_prod___ASelfExpr___n_kwself__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___ASelfExpr___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 9449, LOCATE_parser_prod___ASelfExpr___empty_init};
+  struct trace_t trace = {NULL, NULL, 9449, LOCATE_parser_prod___ASelfExpr___empty_init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ASelfExpr].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ASelfExpr].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser_prod___ASelfExpr___init_aselfexpr(val_t  self, val_t  param0, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 9451, LOCATE_parser_prod___ASelfExpr___init_aselfexpr};
+  struct trace_t trace = {NULL, NULL, 9451, LOCATE_parser_prod___ASelfExpr___init_aselfexpr};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ASelfExpr].i]) return;
   ATTR_parser_nodes___ASelfExpr____n_kwself( self) /*ASelfExpr::_n_kwself*/ =  variable0 /*n_kwself*/;
@@ -17899,11 +18659,12 @@ void parser_prod___ASelfExpr___init_aselfexpr(val_t  self, val_t  param0, int* i
   return;
 }
 void parser_prod___ASelfExpr___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 9461, LOCATE_parser_prod___ASelfExpr___replace_child};
+  struct trace_t trace = {NULL, NULL, 9461, LOCATE_parser_prod___ASelfExpr___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 =  param1;
   variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ ==  NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -17927,10 +18688,11 @@ void parser_prod___ASelfExpr___replace_child(val_t  self, val_t  param0, val_t
   return;
 }
 void parser_prod___ASelfExpr___visit_all(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 9476, LOCATE_parser_prod___ASelfExpr___visit_all};
+  struct trace_t trace = {NULL, NULL, 9476, LOCATE_parser_prod___ASelfExpr___visit_all};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___ASelfExpr____n_kwself( self) /*ASelfExpr::_n_kwself*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 ==  NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -17942,10 +18704,11 @@ void parser_prod___ASelfExpr___visit_all(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___ASelfExpr___visit_all_reverse(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 9483, LOCATE_parser_prod___ASelfExpr___visit_all_reverse};
+  struct trace_t trace = {NULL, NULL, 9483, LOCATE_parser_prod___ASelfExpr___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___ASelfExpr____n_kwself( self) /*ASelfExpr::_n_kwself*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 ==  NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -17957,8 +18720,9 @@ void parser_prod___ASelfExpr___visit_all_reverse(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AImplicitSelfExpr___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 9492, LOCATE_parser_prod___AImplicitSelfExpr___empty_init};
+  struct trace_t trace = {NULL, NULL, 9492, LOCATE_parser_prod___AImplicitSelfExpr___empty_init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AImplicitSelfExpr].i]) return;
   ((parser_prod___ASelfExpr___empty_init_t)CALL( self,COLOR_parser_prod___ASelfExpr___empty_init))( self, init_table /*YYY*/) /*ASelfExpr::empty_init*/;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AImplicitSelfExpr].i] = 1;
@@ -17966,8 +18730,9 @@ void parser_prod___AImplicitSelfExpr___empty_init(val_t  self, int* init_table)
   return;
 }
 void parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 9494, LOCATE_parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr};
+  struct trace_t trace = {NULL, NULL, 9494, LOCATE_parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AImplicitSelfExpr].i]) return;
   ((parser_prod___ASelfExpr___empty_init_t)CALL( self,COLOR_parser_prod___ASelfExpr___empty_init))( self, init_table /*YYY*/) /*ASelfExpr::empty_init*/;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AImplicitSelfExpr].i] = 1;
@@ -17975,11 +18740,12 @@ void parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr(val_t  self, int*
   return;
 }
 void parser_prod___AImplicitSelfExpr___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 9498, LOCATE_parser_prod___AImplicitSelfExpr___replace_child};
+  struct trace_t trace = {NULL, NULL, 9498, LOCATE_parser_prod___AImplicitSelfExpr___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 =  param1;
   variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ ==  NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -17988,26 +18754,29 @@ void parser_prod___AImplicitSelfExpr___replace_child(val_t  self, val_t  param0,
   return;
 }
 void parser_prod___AImplicitSelfExpr___visit_all(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 9503, LOCATE_parser_prod___AImplicitSelfExpr___visit_all};
+  struct trace_t trace = {NULL, NULL, 9503, LOCATE_parser_prod___AImplicitSelfExpr___visit_all};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AImplicitSelfExpr___visit_all_reverse(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 9507, LOCATE_parser_prod___AImplicitSelfExpr___visit_all_reverse};
+  struct trace_t trace = {NULL, NULL, 9507, LOCATE_parser_prod___AImplicitSelfExpr___visit_all_reverse};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   tracehead = trace.prev;
   return;
 }
 void parser_prod___ATrueExpr___n_kwtrue__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 9512, LOCATE_parser_prod___ATrueExpr___n_kwtrue__eq};
+  struct trace_t trace = {NULL, NULL, 9512, LOCATE_parser_prod___ATrueExpr___n_kwtrue__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   ATTR_parser_nodes___ATrueExpr____n_kwtrue( self) /*ATrueExpr::_n_kwtrue*/ =  variable0 /*n*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ ==  NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -18018,18 +18787,20 @@ void parser_prod___ATrueExpr___n_kwtrue__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___ATrueExpr___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 9520, LOCATE_parser_prod___ATrueExpr___empty_init};
+  struct trace_t trace = {NULL, NULL, 9520, LOCATE_parser_prod___ATrueExpr___empty_init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ATrueExpr].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ATrueExpr].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser_prod___ATrueExpr___init_atrueexpr(val_t  self, val_t  param0, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 9522, LOCATE_parser_prod___ATrueExpr___init_atrueexpr};
+  struct trace_t trace = {NULL, NULL, 9522, LOCATE_parser_prod___ATrueExpr___init_atrueexpr};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ATrueExpr].i]) return;
   ATTR_parser_nodes___ATrueExpr____n_kwtrue( self) /*ATrueExpr::_n_kwtrue*/ =  variable0 /*n_kwtrue*/;
@@ -18042,11 +18813,12 @@ void parser_prod___ATrueExpr___init_atrueexpr(val_t  self, val_t  param0, int* i
   return;
 }
 void parser_prod___ATrueExpr___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 9532, LOCATE_parser_prod___ATrueExpr___replace_child};
+  struct trace_t trace = {NULL, NULL, 9532, LOCATE_parser_prod___ATrueExpr___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 =  param1;
   variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ ==  NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -18070,10 +18842,11 @@ void parser_prod___ATrueExpr___replace_child(val_t  self, val_t  param0, val_t
   return;
 }
 void parser_prod___ATrueExpr___visit_all(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 9547, LOCATE_parser_prod___ATrueExpr___visit_all};
+  struct trace_t trace = {NULL, NULL, 9547, LOCATE_parser_prod___ATrueExpr___visit_all};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___ATrueExpr____n_kwtrue( self) /*ATrueExpr::_n_kwtrue*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 ==  NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -18085,10 +18858,11 @@ void parser_prod___ATrueExpr___visit_all(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___ATrueExpr___visit_all_reverse(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 9554, LOCATE_parser_prod___ATrueExpr___visit_all_reverse};
+  struct trace_t trace = {NULL, NULL, 9554, LOCATE_parser_prod___ATrueExpr___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___ATrueExpr____n_kwtrue( self) /*ATrueExpr::_n_kwtrue*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 ==  NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -18100,10 +18874,11 @@ void parser_prod___ATrueExpr___visit_all_reverse(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AFalseExpr___n_kwfalse__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 9562, LOCATE_parser_prod___AFalseExpr___n_kwfalse__eq};
+  struct trace_t trace = {NULL, NULL, 9562, LOCATE_parser_prod___AFalseExpr___n_kwfalse__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   ATTR_parser_nodes___AFalseExpr____n_kwfalse( self) /*AFalseExpr::_n_kwfalse*/ =  variable0 /*n*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ ==  NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -18114,18 +18889,20 @@ void parser_prod___AFalseExpr___n_kwfalse__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AFalseExpr___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 9570, LOCATE_parser_prod___AFalseExpr___empty_init};
+  struct trace_t trace = {NULL, NULL, 9570, LOCATE_parser_prod___AFalseExpr___empty_init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AFalseExpr].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AFalseExpr].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AFalseExpr___init_afalseexpr(val_t  self, val_t  param0, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 9572, LOCATE_parser_prod___AFalseExpr___init_afalseexpr};
+  struct trace_t trace = {NULL, NULL, 9572, LOCATE_parser_prod___AFalseExpr___init_afalseexpr};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AFalseExpr].i]) return;
   ATTR_parser_nodes___AFalseExpr____n_kwfalse( self) /*AFalseExpr::_n_kwfalse*/ =  variable0 /*n_kwfalse*/;
@@ -18138,11 +18915,12 @@ void parser_prod___AFalseExpr___init_afalseexpr(val_t  self, val_t  param0, int*
   return;
 }
 void parser_prod___AFalseExpr___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 9582, LOCATE_parser_prod___AFalseExpr___replace_child};
+  struct trace_t trace = {NULL, NULL, 9582, LOCATE_parser_prod___AFalseExpr___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 =  param1;
   variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ ==  NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -18166,10 +18944,11 @@ void parser_prod___AFalseExpr___replace_child(val_t  self, val_t  param0, val_t
   return;
 }
 void parser_prod___AFalseExpr___visit_all(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 9597, LOCATE_parser_prod___AFalseExpr___visit_all};
+  struct trace_t trace = {NULL, NULL, 9597, LOCATE_parser_prod___AFalseExpr___visit_all};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___AFalseExpr____n_kwfalse( self) /*AFalseExpr::_n_kwfalse*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 ==  NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -18181,10 +18960,11 @@ void parser_prod___AFalseExpr___visit_all(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AFalseExpr___visit_all_reverse(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 9604, LOCATE_parser_prod___AFalseExpr___visit_all_reverse};
+  struct trace_t trace = {NULL, NULL, 9604, LOCATE_parser_prod___AFalseExpr___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___AFalseExpr____n_kwfalse( self) /*AFalseExpr::_n_kwfalse*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 ==  NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -18196,10 +18976,11 @@ void parser_prod___AFalseExpr___visit_all_reverse(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___ANullExpr___n_kwnull__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 9612, LOCATE_parser_prod___ANullExpr___n_kwnull__eq};
+  struct trace_t trace = {NULL, NULL, 9612, LOCATE_parser_prod___ANullExpr___n_kwnull__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   ATTR_parser_nodes___ANullExpr____n_kwnull( self) /*ANullExpr::_n_kwnull*/ =  variable0 /*n*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ ==  NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -18210,18 +18991,20 @@ void parser_prod___ANullExpr___n_kwnull__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___ANullExpr___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 9620, LOCATE_parser_prod___ANullExpr___empty_init};
+  struct trace_t trace = {NULL, NULL, 9620, LOCATE_parser_prod___ANullExpr___empty_init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ANullExpr].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ANullExpr].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser_prod___ANullExpr___init_anullexpr(val_t  self, val_t  param0, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 9622, LOCATE_parser_prod___ANullExpr___init_anullexpr};
+  struct trace_t trace = {NULL, NULL, 9622, LOCATE_parser_prod___ANullExpr___init_anullexpr};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ANullExpr].i]) return;
   ATTR_parser_nodes___ANullExpr____n_kwnull( self) /*ANullExpr::_n_kwnull*/ =  variable0 /*n_kwnull*/;
@@ -18234,11 +19017,12 @@ void parser_prod___ANullExpr___init_anullexpr(val_t  self, val_t  param0, int* i
   return;
 }
 void parser_prod___ANullExpr___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 9632, LOCATE_parser_prod___ANullExpr___replace_child};
+  struct trace_t trace = {NULL, NULL, 9632, LOCATE_parser_prod___ANullExpr___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 =  param1;
   variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ ==  NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -18262,10 +19046,11 @@ void parser_prod___ANullExpr___replace_child(val_t  self, val_t  param0, val_t
   return;
 }
 void parser_prod___ANullExpr___visit_all(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 9647, LOCATE_parser_prod___ANullExpr___visit_all};
+  struct trace_t trace = {NULL, NULL, 9647, LOCATE_parser_prod___ANullExpr___visit_all};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___ANullExpr____n_kwnull( self) /*ANullExpr::_n_kwnull*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 ==  NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -18277,10 +19062,11 @@ void parser_prod___ANullExpr___visit_all(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___ANullExpr___visit_all_reverse(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 9654, LOCATE_parser_prod___ANullExpr___visit_all_reverse};
+  struct trace_t trace = {NULL, NULL, 9654, LOCATE_parser_prod___ANullExpr___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___ANullExpr____n_kwnull( self) /*ANullExpr::_n_kwnull*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 ==  NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -18292,10 +19078,11 @@ void parser_prod___ANullExpr___visit_all_reverse(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AIntExpr___n_number__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 9662, LOCATE_parser_prod___AIntExpr___n_number__eq};
+  struct trace_t trace = {NULL, NULL, 9662, LOCATE_parser_prod___AIntExpr___n_number__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   ATTR_parser_nodes___AIntExpr____n_number( self) /*AIntExpr::_n_number*/ =  variable0 /*n*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ ==  NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -18306,18 +19093,20 @@ void parser_prod___AIntExpr___n_number__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AIntExpr___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 9670, LOCATE_parser_prod___AIntExpr___empty_init};
+  struct trace_t trace = {NULL, NULL, 9670, LOCATE_parser_prod___AIntExpr___empty_init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AIntExpr].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AIntExpr].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AIntExpr___init_aintexpr(val_t  self, val_t  param0, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 9672, LOCATE_parser_prod___AIntExpr___init_aintexpr};
+  struct trace_t trace = {NULL, NULL, 9672, LOCATE_parser_prod___AIntExpr___init_aintexpr};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AIntExpr].i]) return;
   ATTR_parser_nodes___AIntExpr____n_number( self) /*AIntExpr::_n_number*/ =  variable0 /*n_number*/;
@@ -18330,11 +19119,12 @@ void parser_prod___AIntExpr___init_aintexpr(val_t  self, val_t  param0, int* ini
   return;
 }
 void parser_prod___AIntExpr___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 9682, LOCATE_parser_prod___AIntExpr___replace_child};
+  struct trace_t trace = {NULL, NULL, 9682, LOCATE_parser_prod___AIntExpr___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 =  param1;
   variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ ==  NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -18358,10 +19148,11 @@ void parser_prod___AIntExpr___replace_child(val_t  self, val_t  param0, val_t  p
   return;
 }
 void parser_prod___AIntExpr___visit_all(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 9697, LOCATE_parser_prod___AIntExpr___visit_all};
+  struct trace_t trace = {NULL, NULL, 9697, LOCATE_parser_prod___AIntExpr___visit_all};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___AIntExpr____n_number( self) /*AIntExpr::_n_number*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 ==  NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -18373,10 +19164,11 @@ void parser_prod___AIntExpr___visit_all(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AIntExpr___visit_all_reverse(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 9704, LOCATE_parser_prod___AIntExpr___visit_all_reverse};
+  struct trace_t trace = {NULL, NULL, 9704, LOCATE_parser_prod___AIntExpr___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___AIntExpr____n_number( self) /*AIntExpr::_n_number*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 ==  NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -18388,10 +19180,11 @@ void parser_prod___AIntExpr___visit_all_reverse(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AFloatExpr___n_float__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 9712, LOCATE_parser_prod___AFloatExpr___n_float__eq};
+  struct trace_t trace = {NULL, NULL, 9712, LOCATE_parser_prod___AFloatExpr___n_float__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   ATTR_parser_nodes___AFloatExpr____n_float( self) /*AFloatExpr::_n_float*/ =  variable0 /*n*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ ==  NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -18402,18 +19195,20 @@ void parser_prod___AFloatExpr___n_float__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AFloatExpr___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 9720, LOCATE_parser_prod___AFloatExpr___empty_init};
+  struct trace_t trace = {NULL, NULL, 9720, LOCATE_parser_prod___AFloatExpr___empty_init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AFloatExpr].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AFloatExpr].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AFloatExpr___init_afloatexpr(val_t  self, val_t  param0, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 9722, LOCATE_parser_prod___AFloatExpr___init_afloatexpr};
+  struct trace_t trace = {NULL, NULL, 9722, LOCATE_parser_prod___AFloatExpr___init_afloatexpr};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AFloatExpr].i]) return;
   ATTR_parser_nodes___AFloatExpr____n_float( self) /*AFloatExpr::_n_float*/ =  variable0 /*n_float*/;
@@ -18426,11 +19221,12 @@ void parser_prod___AFloatExpr___init_afloatexpr(val_t  self, val_t  param0, int*
   return;
 }
 void parser_prod___AFloatExpr___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 9732, LOCATE_parser_prod___AFloatExpr___replace_child};
+  struct trace_t trace = {NULL, NULL, 9732, LOCATE_parser_prod___AFloatExpr___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 =  param1;
   variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ ==  NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -18454,10 +19250,11 @@ void parser_prod___AFloatExpr___replace_child(val_t  self, val_t  param0, val_t
   return;
 }
 void parser_prod___AFloatExpr___visit_all(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 9747, LOCATE_parser_prod___AFloatExpr___visit_all};
+  struct trace_t trace = {NULL, NULL, 9747, LOCATE_parser_prod___AFloatExpr___visit_all};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___AFloatExpr____n_float( self) /*AFloatExpr::_n_float*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 ==  NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -18469,10 +19266,11 @@ void parser_prod___AFloatExpr___visit_all(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AFloatExpr___visit_all_reverse(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 9754, LOCATE_parser_prod___AFloatExpr___visit_all_reverse};
+  struct trace_t trace = {NULL, NULL, 9754, LOCATE_parser_prod___AFloatExpr___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___AFloatExpr____n_float( self) /*AFloatExpr::_n_float*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 ==  NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -18484,10 +19282,11 @@ void parser_prod___AFloatExpr___visit_all_reverse(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___ACharExpr___n_char__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 9762, LOCATE_parser_prod___ACharExpr___n_char__eq};
+  struct trace_t trace = {NULL, NULL, 9762, LOCATE_parser_prod___ACharExpr___n_char__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   ATTR_parser_nodes___ACharExpr____n_char( self) /*ACharExpr::_n_char*/ =  variable0 /*n*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ ==  NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -18498,18 +19297,20 @@ void parser_prod___ACharExpr___n_char__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___ACharExpr___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 9770, LOCATE_parser_prod___ACharExpr___empty_init};
+  struct trace_t trace = {NULL, NULL, 9770, LOCATE_parser_prod___ACharExpr___empty_init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ACharExpr].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ACharExpr].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser_prod___ACharExpr___init_acharexpr(val_t  self, val_t  param0, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 9772, LOCATE_parser_prod___ACharExpr___init_acharexpr};
+  struct trace_t trace = {NULL, NULL, 9772, LOCATE_parser_prod___ACharExpr___init_acharexpr};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ACharExpr].i]) return;
   ATTR_parser_nodes___ACharExpr____n_char( self) /*ACharExpr::_n_char*/ =  variable0 /*n_char*/;
@@ -18522,11 +19323,12 @@ void parser_prod___ACharExpr___init_acharexpr(val_t  self, val_t  param0, int* i
   return;
 }
 void parser_prod___ACharExpr___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 9782, LOCATE_parser_prod___ACharExpr___replace_child};
+  struct trace_t trace = {NULL, NULL, 9782, LOCATE_parser_prod___ACharExpr___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 =  param1;
   variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ ==  NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -18550,10 +19352,11 @@ void parser_prod___ACharExpr___replace_child(val_t  self, val_t  param0, val_t
   return;
 }
 void parser_prod___ACharExpr___visit_all(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 9797, LOCATE_parser_prod___ACharExpr___visit_all};
+  struct trace_t trace = {NULL, NULL, 9797, LOCATE_parser_prod___ACharExpr___visit_all};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___ACharExpr____n_char( self) /*ACharExpr::_n_char*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 ==  NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -18565,10 +19368,11 @@ void parser_prod___ACharExpr___visit_all(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___ACharExpr___visit_all_reverse(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 9804, LOCATE_parser_prod___ACharExpr___visit_all_reverse};
+  struct trace_t trace = {NULL, NULL, 9804, LOCATE_parser_prod___ACharExpr___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___ACharExpr____n_char( self) /*ACharExpr::_n_char*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 ==  NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -18580,10 +19384,11 @@ void parser_prod___ACharExpr___visit_all_reverse(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AStringExpr___n_string__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 9812, LOCATE_parser_prod___AStringExpr___n_string__eq};
+  struct trace_t trace = {NULL, NULL, 9812, LOCATE_parser_prod___AStringExpr___n_string__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   ATTR_parser_nodes___AStringExpr____n_string( self) /*AStringExpr::_n_string*/ =  variable0 /*n*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ ==  NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -18594,18 +19399,20 @@ void parser_prod___AStringExpr___n_string__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AStringExpr___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 9820, LOCATE_parser_prod___AStringExpr___empty_init};
+  struct trace_t trace = {NULL, NULL, 9820, LOCATE_parser_prod___AStringExpr___empty_init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AStringExpr].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AStringExpr].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AStringExpr___init_astringexpr(val_t  self, val_t  param0, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 9822, LOCATE_parser_prod___AStringExpr___init_astringexpr};
+  struct trace_t trace = {NULL, NULL, 9822, LOCATE_parser_prod___AStringExpr___init_astringexpr};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AStringExpr].i]) return;
   ATTR_parser_nodes___AStringExpr____n_string( self) /*AStringExpr::_n_string*/ =  variable0 /*n_string*/;
@@ -18618,11 +19425,12 @@ void parser_prod___AStringExpr___init_astringexpr(val_t  self, val_t  param0, in
   return;
 }
 void parser_prod___AStringExpr___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 9832, LOCATE_parser_prod___AStringExpr___replace_child};
+  struct trace_t trace = {NULL, NULL, 9832, LOCATE_parser_prod___AStringExpr___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 =  param1;
   variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ ==  NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -18646,10 +19454,11 @@ void parser_prod___AStringExpr___replace_child(val_t  self, val_t  param0, val_t
   return;
 }
 void parser_prod___AStringExpr___visit_all(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 9847, LOCATE_parser_prod___AStringExpr___visit_all};
+  struct trace_t trace = {NULL, NULL, 9847, LOCATE_parser_prod___AStringExpr___visit_all};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___AStringExpr____n_string( self) /*AStringExpr::_n_string*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 ==  NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -18661,10 +19470,11 @@ void parser_prod___AStringExpr___visit_all(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AStringExpr___visit_all_reverse(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 9854, LOCATE_parser_prod___AStringExpr___visit_all_reverse};
+  struct trace_t trace = {NULL, NULL, 9854, LOCATE_parser_prod___AStringExpr___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___AStringExpr____n_string( self) /*AStringExpr::_n_string*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 ==  NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -18676,10 +19486,11 @@ void parser_prod___AStringExpr___visit_all_reverse(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AStartStringExpr___n_string__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 9862, LOCATE_parser_prod___AStartStringExpr___n_string__eq};
+  struct trace_t trace = {NULL, NULL, 9862, LOCATE_parser_prod___AStartStringExpr___n_string__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   ATTR_parser_nodes___AStartStringExpr____n_string( self) /*AStartStringExpr::_n_string*/ =  variable0 /*n*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ ==  NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -18690,18 +19501,20 @@ void parser_prod___AStartStringExpr___n_string__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AStartStringExpr___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 9870, LOCATE_parser_prod___AStartStringExpr___empty_init};
+  struct trace_t trace = {NULL, NULL, 9870, LOCATE_parser_prod___AStartStringExpr___empty_init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AStartStringExpr].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AStartStringExpr].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AStartStringExpr___init_astartstringexpr(val_t  self, val_t  param0, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 9872, LOCATE_parser_prod___AStartStringExpr___init_astartstringexpr};
+  struct trace_t trace = {NULL, NULL, 9872, LOCATE_parser_prod___AStartStringExpr___init_astartstringexpr};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AStartStringExpr].i]) return;
   ATTR_parser_nodes___AStartStringExpr____n_string( self) /*AStartStringExpr::_n_string*/ =  variable0 /*n_string*/;
@@ -18714,11 +19527,12 @@ void parser_prod___AStartStringExpr___init_astartstringexpr(val_t  self, val_t
   return;
 }
 void parser_prod___AStartStringExpr___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 9882, LOCATE_parser_prod___AStartStringExpr___replace_child};
+  struct trace_t trace = {NULL, NULL, 9882, LOCATE_parser_prod___AStartStringExpr___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 =  param1;
   variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ ==  NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -18742,10 +19556,11 @@ void parser_prod___AStartStringExpr___replace_child(val_t  self, val_t  param0,
   return;
 }
 void parser_prod___AStartStringExpr___visit_all(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 9897, LOCATE_parser_prod___AStartStringExpr___visit_all};
+  struct trace_t trace = {NULL, NULL, 9897, LOCATE_parser_prod___AStartStringExpr___visit_all};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___AStartStringExpr____n_string( self) /*AStartStringExpr::_n_string*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 ==  NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -18757,10 +19572,11 @@ void parser_prod___AStartStringExpr___visit_all(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AStartStringExpr___visit_all_reverse(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 9904, LOCATE_parser_prod___AStartStringExpr___visit_all_reverse};
+  struct trace_t trace = {NULL, NULL, 9904, LOCATE_parser_prod___AStartStringExpr___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___AStartStringExpr____n_string( self) /*AStartStringExpr::_n_string*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 ==  NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -18772,10 +19588,11 @@ void parser_prod___AStartStringExpr___visit_all_reverse(val_t  self, val_t  para
   return;
 }
 void parser_prod___AMidStringExpr___n_string__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 9912, LOCATE_parser_prod___AMidStringExpr___n_string__eq};
+  struct trace_t trace = {NULL, NULL, 9912, LOCATE_parser_prod___AMidStringExpr___n_string__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   ATTR_parser_nodes___AMidStringExpr____n_string( self) /*AMidStringExpr::_n_string*/ =  variable0 /*n*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ ==  NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -18786,18 +19603,20 @@ void parser_prod___AMidStringExpr___n_string__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AMidStringExpr___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 9920, LOCATE_parser_prod___AMidStringExpr___empty_init};
+  struct trace_t trace = {NULL, NULL, 9920, LOCATE_parser_prod___AMidStringExpr___empty_init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AMidStringExpr].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AMidStringExpr].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AMidStringExpr___init_amidstringexpr(val_t  self, val_t  param0, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 9922, LOCATE_parser_prod___AMidStringExpr___init_amidstringexpr};
+  struct trace_t trace = {NULL, NULL, 9922, LOCATE_parser_prod___AMidStringExpr___init_amidstringexpr};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AMidStringExpr].i]) return;
   ATTR_parser_nodes___AMidStringExpr____n_string( self) /*AMidStringExpr::_n_string*/ =  variable0 /*n_string*/;
@@ -18810,11 +19629,12 @@ void parser_prod___AMidStringExpr___init_amidstringexpr(val_t  self, val_t  para
   return;
 }
 void parser_prod___AMidStringExpr___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 9932, LOCATE_parser_prod___AMidStringExpr___replace_child};
+  struct trace_t trace = {NULL, NULL, 9932, LOCATE_parser_prod___AMidStringExpr___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 =  param1;
   variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ ==  NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -18838,10 +19658,11 @@ void parser_prod___AMidStringExpr___replace_child(val_t  self, val_t  param0, va
   return;
 }
 void parser_prod___AMidStringExpr___visit_all(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 9947, LOCATE_parser_prod___AMidStringExpr___visit_all};
+  struct trace_t trace = {NULL, NULL, 9947, LOCATE_parser_prod___AMidStringExpr___visit_all};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___AMidStringExpr____n_string( self) /*AMidStringExpr::_n_string*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 ==  NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -18853,10 +19674,11 @@ void parser_prod___AMidStringExpr___visit_all(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AMidStringExpr___visit_all_reverse(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 9954, LOCATE_parser_prod___AMidStringExpr___visit_all_reverse};
+  struct trace_t trace = {NULL, NULL, 9954, LOCATE_parser_prod___AMidStringExpr___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___AMidStringExpr____n_string( self) /*AMidStringExpr::_n_string*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 ==  NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -18868,10 +19690,11 @@ void parser_prod___AMidStringExpr___visit_all_reverse(val_t  self, val_t  param0
   return;
 }
 void parser_prod___AEndStringExpr___n_string__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 9962, LOCATE_parser_prod___AEndStringExpr___n_string__eq};
+  struct trace_t trace = {NULL, NULL, 9962, LOCATE_parser_prod___AEndStringExpr___n_string__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   ATTR_parser_nodes___AEndStringExpr____n_string( self) /*AEndStringExpr::_n_string*/ =  variable0 /*n*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ ==  NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -18882,18 +19705,20 @@ void parser_prod___AEndStringExpr___n_string__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AEndStringExpr___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 9970, LOCATE_parser_prod___AEndStringExpr___empty_init};
+  struct trace_t trace = {NULL, NULL, 9970, LOCATE_parser_prod___AEndStringExpr___empty_init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AEndStringExpr].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AEndStringExpr].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AEndStringExpr___init_aendstringexpr(val_t  self, val_t  param0, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 9972, LOCATE_parser_prod___AEndStringExpr___init_aendstringexpr};
+  struct trace_t trace = {NULL, NULL, 9972, LOCATE_parser_prod___AEndStringExpr___init_aendstringexpr};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AEndStringExpr].i]) return;
   ATTR_parser_nodes___AEndStringExpr____n_string( self) /*AEndStringExpr::_n_string*/ =  variable0 /*n_string*/;
@@ -18906,11 +19731,12 @@ void parser_prod___AEndStringExpr___init_aendstringexpr(val_t  self, val_t  para
   return;
 }
 void parser_prod___AEndStringExpr___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 9982, LOCATE_parser_prod___AEndStringExpr___replace_child};
+  struct trace_t trace = {NULL, NULL, 9982, LOCATE_parser_prod___AEndStringExpr___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 =  param1;
   variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ ==  NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -18934,10 +19760,11 @@ void parser_prod___AEndStringExpr___replace_child(val_t  self, val_t  param0, va
   return;
 }
 void parser_prod___AEndStringExpr___visit_all(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 9997, LOCATE_parser_prod___AEndStringExpr___visit_all};
+  struct trace_t trace = {NULL, NULL, 9997, LOCATE_parser_prod___AEndStringExpr___visit_all};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___AEndStringExpr____n_string( self) /*AEndStringExpr::_n_string*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 ==  NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -18949,10 +19776,11 @@ void parser_prod___AEndStringExpr___visit_all(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AEndStringExpr___visit_all_reverse(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 10004, LOCATE_parser_prod___AEndStringExpr___visit_all_reverse};
+  struct trace_t trace = {NULL, NULL, 10004, LOCATE_parser_prod___AEndStringExpr___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___AEndStringExpr____n_string( self) /*AEndStringExpr::_n_string*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 ==  NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -18964,20 +19792,22 @@ void parser_prod___AEndStringExpr___visit_all_reverse(val_t  self, val_t  param0
   return;
 }
 void parser_prod___ASuperstringExpr___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 10013, LOCATE_parser_prod___ASuperstringExpr___empty_init};
+  struct trace_t trace = {NULL, NULL, 10013, LOCATE_parser_prod___ASuperstringExpr___empty_init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ASuperstringExpr].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ASuperstringExpr].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser_prod___ASuperstringExpr___init_asuperstringexpr(val_t  self, val_t  param0, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 10015, LOCATE_parser_prod___ASuperstringExpr___init_asuperstringexpr};
+  struct trace_t trace = {NULL, NULL, 10015, LOCATE_parser_prod___ASuperstringExpr___init_asuperstringexpr};
   val_t variable0;
   val_t variable1;
     val_t variable2;
     val_t variable3;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ASuperstringExpr].i]) return;
   variable1 = NEW_list___List___init(); /*new List[E]*/
@@ -19001,13 +19831,14 @@ void parser_prod___ASuperstringExpr___init_asuperstringexpr(val_t  self, val_t
   return;
 }
 void parser_prod___ASuperstringExpr___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 10027, LOCATE_parser_prod___ASuperstringExpr___replace_child};
+  struct trace_t trace = {NULL, NULL, 10027, LOCATE_parser_prod___ASuperstringExpr___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   val_t variable3;
     val_t variable4;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 =  param1;
   variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ ==  NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -19047,11 +19878,12 @@ void parser_prod___ASuperstringExpr___replace_child(val_t  self, val_t  param0,
   return;
 }
 void parser_prod___ASuperstringExpr___visit_all(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 10044, LOCATE_parser_prod___ASuperstringExpr___visit_all};
+  struct trace_t trace = {NULL, NULL, 10044, LOCATE_parser_prod___ASuperstringExpr___visit_all};
   val_t variable0;
   val_t variable1;
     val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___ASuperstringExpr____n_exprs( self) /*ASuperstringExpr::_n_exprs*/;
   variable1 = ((list___List___iterator_t)CALL(variable1,COLOR_abstract_collection___Collection___iterator))(variable1) /*List::iterator*/;
@@ -19068,11 +19900,12 @@ void parser_prod___ASuperstringExpr___visit_all(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___ASuperstringExpr___visit_all_reverse(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 10051, LOCATE_parser_prod___ASuperstringExpr___visit_all_reverse};
+  struct trace_t trace = {NULL, NULL, 10051, LOCATE_parser_prod___ASuperstringExpr___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable2 = ATTR_parser_nodes___ASuperstringExpr____n_exprs( self) /*ASuperstringExpr::_n_exprs*/;
   variable2 = ((list___List___length_t)CALL(variable2,COLOR_abstract_collection___Collection___length))(variable2) /*List::length*/;
@@ -19092,10 +19925,11 @@ void parser_prod___ASuperstringExpr___visit_all_reverse(val_t  self, val_t  para
   return;
 }
 void parser_prod___AParExpr___n_expr__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 10063, LOCATE_parser_prod___AParExpr___n_expr__eq};
+  struct trace_t trace = {NULL, NULL, 10063, LOCATE_parser_prod___AParExpr___n_expr__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   ATTR_parser_nodes___AProxyExpr____n_expr( self) /*AProxyExpr::_n_expr*/ =  variable0 /*n*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ ==  NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -19106,18 +19940,20 @@ void parser_prod___AParExpr___n_expr__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AParExpr___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 10071, LOCATE_parser_prod___AParExpr___empty_init};
+  struct trace_t trace = {NULL, NULL, 10071, LOCATE_parser_prod___AParExpr___empty_init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AParExpr].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AParExpr].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AParExpr___init_aparexpr(val_t  self, val_t  param0, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 10073, LOCATE_parser_prod___AParExpr___init_aparexpr};
+  struct trace_t trace = {NULL, NULL, 10073, LOCATE_parser_prod___AParExpr___init_aparexpr};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AParExpr].i]) return;
   ATTR_parser_nodes___AProxyExpr____n_expr( self) /*AProxyExpr::_n_expr*/ =  variable0 /*n_expr*/;
@@ -19130,11 +19966,12 @@ void parser_prod___AParExpr___init_aparexpr(val_t  self, val_t  param0, int* ini
   return;
 }
 void parser_prod___AParExpr___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 10083, LOCATE_parser_prod___AParExpr___replace_child};
+  struct trace_t trace = {NULL, NULL, 10083, LOCATE_parser_prod___AParExpr___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 =  param1;
   variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ ==  NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -19158,10 +19995,11 @@ void parser_prod___AParExpr___replace_child(val_t  self, val_t  param0, val_t  p
   return;
 }
 void parser_prod___AParExpr___visit_all(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 10098, LOCATE_parser_prod___AParExpr___visit_all};
+  struct trace_t trace = {NULL, NULL, 10098, LOCATE_parser_prod___AParExpr___visit_all};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___AProxyExpr____n_expr( self) /*AProxyExpr::_n_expr*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 ==  NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -19173,10 +20011,11 @@ void parser_prod___AParExpr___visit_all(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AParExpr___visit_all_reverse(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 10105, LOCATE_parser_prod___AParExpr___visit_all_reverse};
+  struct trace_t trace = {NULL, NULL, 10105, LOCATE_parser_prod___AParExpr___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___AProxyExpr____n_expr( self) /*AProxyExpr::_n_expr*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 ==  NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -19188,10 +20027,11 @@ void parser_prod___AParExpr___visit_all_reverse(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AAsCastExpr___n_expr__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 10113, LOCATE_parser_prod___AAsCastExpr___n_expr__eq};
+  struct trace_t trace = {NULL, NULL, 10113, LOCATE_parser_prod___AAsCastExpr___n_expr__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   ATTR_parser_nodes___AAsCastExpr____n_expr( self) /*AAsCastExpr::_n_expr*/ =  variable0 /*n*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ ==  NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -19202,10 +20042,11 @@ void parser_prod___AAsCastExpr___n_expr__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AAsCastExpr___n_kwas__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 10120, LOCATE_parser_prod___AAsCastExpr___n_kwas__eq};
+  struct trace_t trace = {NULL, NULL, 10120, LOCATE_parser_prod___AAsCastExpr___n_kwas__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   ATTR_parser_nodes___AAsCastExpr____n_kwas( self) /*AAsCastExpr::_n_kwas*/ =  variable0 /*n*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ ==  NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -19216,10 +20057,11 @@ void parser_prod___AAsCastExpr___n_kwas__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AAsCastExpr___n_type__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 10127, LOCATE_parser_prod___AAsCastExpr___n_type__eq};
+  struct trace_t trace = {NULL, NULL, 10127, LOCATE_parser_prod___AAsCastExpr___n_type__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   ATTR_parser_nodes___AAsCastExpr____n_type( self) /*AAsCastExpr::_n_type*/ =  variable0 /*n*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ ==  NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -19230,20 +20072,22 @@ void parser_prod___AAsCastExpr___n_type__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AAsCastExpr___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 10135, LOCATE_parser_prod___AAsCastExpr___empty_init};
+  struct trace_t trace = {NULL, NULL, 10135, LOCATE_parser_prod___AAsCastExpr___empty_init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AAsCastExpr].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AAsCastExpr].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AAsCastExpr___init_aascastexpr(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 10137, LOCATE_parser_prod___AAsCastExpr___init_aascastexpr};
+  struct trace_t trace = {NULL, NULL, 10137, LOCATE_parser_prod___AAsCastExpr___init_aascastexpr};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   val_t variable3;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 =  param1;
   variable2 =  param2;
@@ -19268,11 +20112,12 @@ void parser_prod___AAsCastExpr___init_aascastexpr(val_t  self, val_t  param0, va
   return;
 }
 void parser_prod___AAsCastExpr___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 10157, LOCATE_parser_prod___AAsCastExpr___replace_child};
+  struct trace_t trace = {NULL, NULL, 10157, LOCATE_parser_prod___AAsCastExpr___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 =  param1;
   variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ ==  NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -19324,10 +20169,11 @@ void parser_prod___AAsCastExpr___replace_child(val_t  self, val_t  param0, val_t
   return;
 }
 void parser_prod___AAsCastExpr___visit_all(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 10192, LOCATE_parser_prod___AAsCastExpr___visit_all};
+  struct trace_t trace = {NULL, NULL, 10192, LOCATE_parser_prod___AAsCastExpr___visit_all};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___AAsCastExpr____n_expr( self) /*AAsCastExpr::_n_expr*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 ==  NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -19351,10 +20197,11 @@ void parser_prod___AAsCastExpr___visit_all(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AAsCastExpr___visit_all_reverse(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 10205, LOCATE_parser_prod___AAsCastExpr___visit_all_reverse};
+  struct trace_t trace = {NULL, NULL, 10205, LOCATE_parser_prod___AAsCastExpr___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___AAsCastExpr____n_expr( self) /*AAsCastExpr::_n_expr*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 ==  NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -19378,10 +20225,11 @@ void parser_prod___AAsCastExpr___visit_all_reverse(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___APlusAssignOp___n_pluseq__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 10219, LOCATE_parser_prod___APlusAssignOp___n_pluseq__eq};
+  struct trace_t trace = {NULL, NULL, 10219, LOCATE_parser_prod___APlusAssignOp___n_pluseq__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   ATTR_parser_nodes___APlusAssignOp____n_pluseq( self) /*APlusAssignOp::_n_pluseq*/ =  variable0 /*n*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ ==  NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -19392,18 +20240,20 @@ void parser_prod___APlusAssignOp___n_pluseq__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___APlusAssignOp___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 10227, LOCATE_parser_prod___APlusAssignOp___empty_init};
+  struct trace_t trace = {NULL, NULL, 10227, LOCATE_parser_prod___APlusAssignOp___empty_init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_APlusAssignOp].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_APlusAssignOp].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser_prod___APlusAssignOp___init_aplusassignop(val_t  self, val_t  param0, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 10229, LOCATE_parser_prod___APlusAssignOp___init_aplusassignop};
+  struct trace_t trace = {NULL, NULL, 10229, LOCATE_parser_prod___APlusAssignOp___init_aplusassignop};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_APlusAssignOp].i]) return;
   ATTR_parser_nodes___APlusAssignOp____n_pluseq( self) /*APlusAssignOp::_n_pluseq*/ =  variable0 /*n_pluseq*/;
@@ -19416,11 +20266,12 @@ void parser_prod___APlusAssignOp___init_aplusassignop(val_t  self, val_t  param0
   return;
 }
 void parser_prod___APlusAssignOp___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 10239, LOCATE_parser_prod___APlusAssignOp___replace_child};
+  struct trace_t trace = {NULL, NULL, 10239, LOCATE_parser_prod___APlusAssignOp___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 =  param1;
   variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ ==  NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -19444,10 +20295,11 @@ void parser_prod___APlusAssignOp___replace_child(val_t  self, val_t  param0, val
   return;
 }
 void parser_prod___APlusAssignOp___visit_all(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 10254, LOCATE_parser_prod___APlusAssignOp___visit_all};
+  struct trace_t trace = {NULL, NULL, 10254, LOCATE_parser_prod___APlusAssignOp___visit_all};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___APlusAssignOp____n_pluseq( self) /*APlusAssignOp::_n_pluseq*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 ==  NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -19459,10 +20311,11 @@ void parser_prod___APlusAssignOp___visit_all(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___APlusAssignOp___visit_all_reverse(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 10261, LOCATE_parser_prod___APlusAssignOp___visit_all_reverse};
+  struct trace_t trace = {NULL, NULL, 10261, LOCATE_parser_prod___APlusAssignOp___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___APlusAssignOp____n_pluseq( self) /*APlusAssignOp::_n_pluseq*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 ==  NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -19474,10 +20327,11 @@ void parser_prod___APlusAssignOp___visit_all_reverse(val_t  self, val_t  param0)
   return;
 }
 void parser_prod___AMinusAssignOp___n_minuseq__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 10269, LOCATE_parser_prod___AMinusAssignOp___n_minuseq__eq};
+  struct trace_t trace = {NULL, NULL, 10269, LOCATE_parser_prod___AMinusAssignOp___n_minuseq__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   ATTR_parser_nodes___AMinusAssignOp____n_minuseq( self) /*AMinusAssignOp::_n_minuseq*/ =  variable0 /*n*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ ==  NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -19488,18 +20342,20 @@ void parser_prod___AMinusAssignOp___n_minuseq__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AMinusAssignOp___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 10277, LOCATE_parser_prod___AMinusAssignOp___empty_init};
+  struct trace_t trace = {NULL, NULL, 10277, LOCATE_parser_prod___AMinusAssignOp___empty_init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AMinusAssignOp].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AMinusAssignOp].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AMinusAssignOp___init_aminusassignop(val_t  self, val_t  param0, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 10279, LOCATE_parser_prod___AMinusAssignOp___init_aminusassignop};
+  struct trace_t trace = {NULL, NULL, 10279, LOCATE_parser_prod___AMinusAssignOp___init_aminusassignop};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AMinusAssignOp].i]) return;
   ATTR_parser_nodes___AMinusAssignOp____n_minuseq( self) /*AMinusAssignOp::_n_minuseq*/ =  variable0 /*n_minuseq*/;
@@ -19512,11 +20368,12 @@ void parser_prod___AMinusAssignOp___init_aminusassignop(val_t  self, val_t  para
   return;
 }
 void parser_prod___AMinusAssignOp___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 10289, LOCATE_parser_prod___AMinusAssignOp___replace_child};
+  struct trace_t trace = {NULL, NULL, 10289, LOCATE_parser_prod___AMinusAssignOp___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 =  param1;
   variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ ==  NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -19540,10 +20397,11 @@ void parser_prod___AMinusAssignOp___replace_child(val_t  self, val_t  param0, va
   return;
 }
 void parser_prod___AMinusAssignOp___visit_all(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 10304, LOCATE_parser_prod___AMinusAssignOp___visit_all};
+  struct trace_t trace = {NULL, NULL, 10304, LOCATE_parser_prod___AMinusAssignOp___visit_all};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___AMinusAssignOp____n_minuseq( self) /*AMinusAssignOp::_n_minuseq*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 ==  NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -19555,10 +20413,11 @@ void parser_prod___AMinusAssignOp___visit_all(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AMinusAssignOp___visit_all_reverse(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 10311, LOCATE_parser_prod___AMinusAssignOp___visit_all_reverse};
+  struct trace_t trace = {NULL, NULL, 10311, LOCATE_parser_prod___AMinusAssignOp___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___AMinusAssignOp____n_minuseq( self) /*AMinusAssignOp::_n_minuseq*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 ==  NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -19570,10 +20429,11 @@ void parser_prod___AMinusAssignOp___visit_all_reverse(val_t  self, val_t  param0
   return;
 }
 void parser_prod___AQualified___n_classid__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 10319, LOCATE_parser_prod___AQualified___n_classid__eq};
+  struct trace_t trace = {NULL, NULL, 10319, LOCATE_parser_prod___AQualified___n_classid__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   ATTR_parser_nodes___AQualified____n_classid( self) /*AQualified::_n_classid*/ =  variable0 /*n*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ ==  NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -19584,21 +20444,23 @@ void parser_prod___AQualified___n_classid__eq(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AQualified___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 10327, LOCATE_parser_prod___AQualified___empty_init};
+  struct trace_t trace = {NULL, NULL, 10327, LOCATE_parser_prod___AQualified___empty_init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AQualified].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AQualified].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AQualified___init_aqualified(val_t  self, val_t  param0, val_t  param1, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 10329, LOCATE_parser_prod___AQualified___init_aqualified};
+  struct trace_t trace = {NULL, NULL, 10329, LOCATE_parser_prod___AQualified___init_aqualified};
   val_t variable0;
   val_t variable1;
   val_t variable2;
     val_t variable3;
     val_t variable4;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 =  param1;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AQualified].i]) return;
@@ -19628,13 +20490,14 @@ void parser_prod___AQualified___init_aqualified(val_t  self, val_t  param0, val_
   return;
 }
 void parser_prod___AQualified___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 10346, LOCATE_parser_prod___AQualified___replace_child};
+  struct trace_t trace = {NULL, NULL, 10346, LOCATE_parser_prod___AQualified___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   val_t variable3;
     val_t variable4;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 =  param1;
   variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ ==  NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -19688,11 +20551,12 @@ void parser_prod___AQualified___replace_child(val_t  self, val_t  param0, val_t
   return;
 }
 void parser_prod___AQualified___visit_all(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 10373, LOCATE_parser_prod___AQualified___visit_all};
+  struct trace_t trace = {NULL, NULL, 10373, LOCATE_parser_prod___AQualified___visit_all};
   val_t variable0;
   val_t variable1;
     val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___AQualified____n_id( self) /*AQualified::_n_id*/;
   variable1 = ((list___List___iterator_t)CALL(variable1,COLOR_abstract_collection___Collection___iterator))(variable1) /*List::iterator*/;
@@ -19715,11 +20579,12 @@ void parser_prod___AQualified___visit_all(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___AQualified___visit_all_reverse(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 10383, LOCATE_parser_prod___AQualified___visit_all_reverse};
+  struct trace_t trace = {NULL, NULL, 10383, LOCATE_parser_prod___AQualified___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable2 = ATTR_parser_nodes___AQualified____n_id( self) /*AQualified::_n_id*/;
   variable2 = ((list___List___length_t)CALL(variable2,COLOR_abstract_collection___Collection___length))(variable2) /*List::length*/;
@@ -19745,20 +20610,22 @@ void parser_prod___AQualified___visit_all_reverse(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___ADoc___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 10399, LOCATE_parser_prod___ADoc___empty_init};
+  struct trace_t trace = {NULL, NULL, 10399, LOCATE_parser_prod___ADoc___empty_init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ADoc].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ADoc].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser_prod___ADoc___init_adoc(val_t  self, val_t  param0, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 10401, LOCATE_parser_prod___ADoc___init_adoc};
+  struct trace_t trace = {NULL, NULL, 10401, LOCATE_parser_prod___ADoc___init_adoc};
   val_t variable0;
   val_t variable1;
     val_t variable2;
     val_t variable3;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ADoc].i]) return;
   variable1 = NEW_list___List___init(); /*new List[E]*/
@@ -19782,13 +20649,14 @@ void parser_prod___ADoc___init_adoc(val_t  self, val_t  param0, int* init_table)
   return;
 }
 void parser_prod___ADoc___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 10413, LOCATE_parser_prod___ADoc___replace_child};
+  struct trace_t trace = {NULL, NULL, 10413, LOCATE_parser_prod___ADoc___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   val_t variable3;
     val_t variable4;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 =  param1;
   variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ ==  NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -19828,11 +20696,12 @@ void parser_prod___ADoc___replace_child(val_t  self, val_t  param0, val_t  param
   return;
 }
 void parser_prod___ADoc___visit_all(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 10430, LOCATE_parser_prod___ADoc___visit_all};
+  struct trace_t trace = {NULL, NULL, 10430, LOCATE_parser_prod___ADoc___visit_all};
   val_t variable0;
   val_t variable1;
     val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___ADoc____n_comment( self) /*ADoc::_n_comment*/;
   variable1 = ((list___List___iterator_t)CALL(variable1,COLOR_abstract_collection___Collection___iterator))(variable1) /*List::iterator*/;
@@ -19849,11 +20718,12 @@ void parser_prod___ADoc___visit_all(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___ADoc___visit_all_reverse(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 10437, LOCATE_parser_prod___ADoc___visit_all_reverse};
+  struct trace_t trace = {NULL, NULL, 10437, LOCATE_parser_prod___ADoc___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable2 = ATTR_parser_nodes___ADoc____n_comment( self) /*ADoc::_n_comment*/;
   variable2 = ((list___List___length_t)CALL(variable2,COLOR_abstract_collection___Collection___length))(variable2) /*List::length*/;
@@ -19873,10 +20743,11 @@ void parser_prod___ADoc___visit_all_reverse(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___Start___init(val_t  self, val_t  param0, val_t  param1, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 10450, LOCATE_parser_prod___Start___init};
+  struct trace_t trace = {NULL, NULL, 10450, LOCATE_parser_prod___Start___init};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 =  param1;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_Start].i]) return;
@@ -19887,11 +20758,12 @@ void parser_prod___Start___init(val_t  self, val_t  param0, val_t  param1, int*
   return;
 }
 void parser_prod___Start___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 10458, LOCATE_parser_prod___Start___replace_child};
+  struct trace_t trace = {NULL, NULL, 10458, LOCATE_parser_prod___Start___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 =  param1;
   variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ ==  NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -19915,10 +20787,11 @@ void parser_prod___Start___replace_child(val_t  self, val_t  param0, val_t  para
   return;
 }
 void parser_prod___Start___visit_all(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 10473, LOCATE_parser_prod___Start___visit_all};
+  struct trace_t trace = {NULL, NULL, 10473, LOCATE_parser_prod___Start___visit_all};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___Start____n_base( self) /*Start::_n_base*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 ==  NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -19930,10 +20803,11 @@ void parser_prod___Start___visit_all(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___Start___visit_all_reverse(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod, 10480, LOCATE_parser_prod___Start___visit_all_reverse};
+  struct trace_t trace = {NULL, NULL, 10480, LOCATE_parser_prod___Start___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_prod;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___Start____n_base( self) /*Start::_n_base*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 ==  NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1,  NIT_NULL /*null*/) /*Object::==*/)))))));
index e9e8e5e..d7859f9 100644 (file)
@@ -1,11 +1,11 @@
 /* This C header file is generated by NIT to compile modules and programs that requires parser_prod. */
-#ifndef parser_prod_2_sep
-#define parser_prod_2_sep
+#ifndef parser_prod_sep
+#define parser_prod_sep
 #include "lexer._sep.h"
 #include <nit_common.h>
 
 extern const classtable_elt_t VFT_Visitor[];
-#define LOCATE_parser_prod "./parser//parser_prod.nit"
+extern const char *LOCATE_parser_prod;
 extern const int SFT_parser_prod[];
 #define COLOR_parser_prod___PNode____parent SFT_parser_prod[0]
 #define COLOR_parser_prod___PNode___parent SFT_parser_prod[1]
index 864ae13..18a617d 100644 (file)
@@ -1,7 +1,7 @@
 /* This C file is generated by NIT to compile module parser_tables. */
 #include "parser_tables._sep.h"
 void parser_tables___ParserTable___build_action_table(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 8, LOCATE_parser_tables___ParserTable___build_action_table};
+  struct trace_t trace = {NULL, NULL, 8, LOCATE_parser_tables___ParserTable___build_action_table};
   val_t variable0;
   static val_t once_value_variable0_1; static int once_bool_variable0_1;
     val_t variable1;
@@ -1170,6 +1170,7 @@ void parser_tables___ParserTable___build_action_table(val_t  self) {
     val_t variable1164;
     val_t variable1165;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   if (once_bool_variable0_1) variable0 = once_value_variable0_1;
   else {
     variable0 = NEW_array___Array___with_capacity(TAG_Int(1165)); /*new Array[E]*/
@@ -3511,10 +3512,11 @@ void parser_tables___ParserTable___build_action_table(val_t  self) {
   return;
 }
 val_t parser_tables___ParserTable___action_table_row1(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 1179, LOCATE_parser_tables___ParserTable___action_table_row1};
+  struct trace_t trace = {NULL, NULL, 1179, LOCATE_parser_tables___ParserTable___action_table_row1};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(12)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -3535,10 +3537,11 @@ val_t parser_tables___ParserTable___action_table_row1(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row2(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 1188, LOCATE_parser_tables___ParserTable___action_table_row2};
+  struct trace_t trace = {NULL, NULL, 1188, LOCATE_parser_tables___ParserTable___action_table_row2};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -3550,10 +3553,11 @@ val_t parser_tables___ParserTable___action_table_row2(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row3(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 1194, LOCATE_parser_tables___ParserTable___action_table_row3};
+  struct trace_t trace = {NULL, NULL, 1194, LOCATE_parser_tables___ParserTable___action_table_row3};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -3565,11 +3569,12 @@ val_t parser_tables___ParserTable___action_table_row3(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row4(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 1200, LOCATE_parser_tables___ParserTable___action_table_row4};
+  struct trace_t trace = {NULL, NULL, 1200, LOCATE_parser_tables___ParserTable___action_table_row4};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -3585,10 +3590,11 @@ val_t parser_tables___ParserTable___action_table_row4(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row5(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 1207, LOCATE_parser_tables___ParserTable___action_table_row5};
+  struct trace_t trace = {NULL, NULL, 1207, LOCATE_parser_tables___ParserTable___action_table_row5};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(12)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -3609,10 +3615,11 @@ val_t parser_tables___ParserTable___action_table_row5(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row6(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 1216, LOCATE_parser_tables___ParserTable___action_table_row6};
+  struct trace_t trace = {NULL, NULL, 1216, LOCATE_parser_tables___ParserTable___action_table_row6};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -3624,10 +3631,11 @@ val_t parser_tables___ParserTable___action_table_row6(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row7(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 1222, LOCATE_parser_tables___ParserTable___action_table_row7};
+  struct trace_t trace = {NULL, NULL, 1222, LOCATE_parser_tables___ParserTable___action_table_row7};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -3639,10 +3647,11 @@ val_t parser_tables___ParserTable___action_table_row7(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row8(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 1228, LOCATE_parser_tables___ParserTable___action_table_row8};
+  struct trace_t trace = {NULL, NULL, 1228, LOCATE_parser_tables___ParserTable___action_table_row8};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -3654,10 +3663,11 @@ val_t parser_tables___ParserTable___action_table_row8(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row9(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 1234, LOCATE_parser_tables___ParserTable___action_table_row9};
+  struct trace_t trace = {NULL, NULL, 1234, LOCATE_parser_tables___ParserTable___action_table_row9};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -3669,10 +3679,11 @@ val_t parser_tables___ParserTable___action_table_row9(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row10(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 1240, LOCATE_parser_tables___ParserTable___action_table_row10};
+  struct trace_t trace = {NULL, NULL, 1240, LOCATE_parser_tables___ParserTable___action_table_row10};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -3690,10 +3701,11 @@ val_t parser_tables___ParserTable___action_table_row10(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row11(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 1248, LOCATE_parser_tables___ParserTable___action_table_row11};
+  struct trace_t trace = {NULL, NULL, 1248, LOCATE_parser_tables___ParserTable___action_table_row11};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -3708,10 +3720,11 @@ val_t parser_tables___ParserTable___action_table_row11(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row12(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 1255, LOCATE_parser_tables___ParserTable___action_table_row12};
+  struct trace_t trace = {NULL, NULL, 1255, LOCATE_parser_tables___ParserTable___action_table_row12};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(99)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -3819,10 +3832,11 @@ val_t parser_tables___ParserTable___action_table_row12(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row13(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 1293, LOCATE_parser_tables___ParserTable___action_table_row13};
+  struct trace_t trace = {NULL, NULL, 1293, LOCATE_parser_tables___ParserTable___action_table_row13};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -3837,10 +3851,11 @@ val_t parser_tables___ParserTable___action_table_row13(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row14(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 1300, LOCATE_parser_tables___ParserTable___action_table_row14};
+  struct trace_t trace = {NULL, NULL, 1300, LOCATE_parser_tables___ParserTable___action_table_row14};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(12)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -3861,10 +3876,11 @@ val_t parser_tables___ParserTable___action_table_row14(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row15(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 1309, LOCATE_parser_tables___ParserTable___action_table_row15};
+  struct trace_t trace = {NULL, NULL, 1309, LOCATE_parser_tables___ParserTable___action_table_row15};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(12)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -3885,10 +3901,11 @@ val_t parser_tables___ParserTable___action_table_row15(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row16(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 1318, LOCATE_parser_tables___ParserTable___action_table_row16};
+  struct trace_t trace = {NULL, NULL, 1318, LOCATE_parser_tables___ParserTable___action_table_row16};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -3906,10 +3923,11 @@ val_t parser_tables___ParserTable___action_table_row16(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row17(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 1326, LOCATE_parser_tables___ParserTable___action_table_row17};
+  struct trace_t trace = {NULL, NULL, 1326, LOCATE_parser_tables___ParserTable___action_table_row17};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -3924,10 +3942,11 @@ val_t parser_tables___ParserTable___action_table_row17(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row18(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 1333, LOCATE_parser_tables___ParserTable___action_table_row18};
+  struct trace_t trace = {NULL, NULL, 1333, LOCATE_parser_tables___ParserTable___action_table_row18};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -3939,10 +3958,11 @@ val_t parser_tables___ParserTable___action_table_row18(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row19(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 1339, LOCATE_parser_tables___ParserTable___action_table_row19};
+  struct trace_t trace = {NULL, NULL, 1339, LOCATE_parser_tables___ParserTable___action_table_row19};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -3960,10 +3980,11 @@ val_t parser_tables___ParserTable___action_table_row19(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row20(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 1347, LOCATE_parser_tables___ParserTable___action_table_row20};
+  struct trace_t trace = {NULL, NULL, 1347, LOCATE_parser_tables___ParserTable___action_table_row20};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(96)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -4068,10 +4089,11 @@ val_t parser_tables___ParserTable___action_table_row20(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row21(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 1384, LOCATE_parser_tables___ParserTable___action_table_row21};
+  struct trace_t trace = {NULL, NULL, 1384, LOCATE_parser_tables___ParserTable___action_table_row21};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(12)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -4092,10 +4114,11 @@ val_t parser_tables___ParserTable___action_table_row21(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row22(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 1393, LOCATE_parser_tables___ParserTable___action_table_row22};
+  struct trace_t trace = {NULL, NULL, 1393, LOCATE_parser_tables___ParserTable___action_table_row22};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(12)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -4116,10 +4139,11 @@ val_t parser_tables___ParserTable___action_table_row22(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row23(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 1402, LOCATE_parser_tables___ParserTable___action_table_row23};
+  struct trace_t trace = {NULL, NULL, 1402, LOCATE_parser_tables___ParserTable___action_table_row23};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -4131,10 +4155,11 @@ val_t parser_tables___ParserTable___action_table_row23(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row24(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 1408, LOCATE_parser_tables___ParserTable___action_table_row24};
+  struct trace_t trace = {NULL, NULL, 1408, LOCATE_parser_tables___ParserTable___action_table_row24};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -4146,10 +4171,11 @@ val_t parser_tables___ParserTable___action_table_row24(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row25(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 1414, LOCATE_parser_tables___ParserTable___action_table_row25};
+  struct trace_t trace = {NULL, NULL, 1414, LOCATE_parser_tables___ParserTable___action_table_row25};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(12)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -4170,10 +4196,11 @@ val_t parser_tables___ParserTable___action_table_row25(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row26(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 1423, LOCATE_parser_tables___ParserTable___action_table_row26};
+  struct trace_t trace = {NULL, NULL, 1423, LOCATE_parser_tables___ParserTable___action_table_row26};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -4191,10 +4218,11 @@ val_t parser_tables___ParserTable___action_table_row26(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row27(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 1431, LOCATE_parser_tables___ParserTable___action_table_row27};
+  struct trace_t trace = {NULL, NULL, 1431, LOCATE_parser_tables___ParserTable___action_table_row27};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(69)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -4272,10 +4300,11 @@ val_t parser_tables___ParserTable___action_table_row27(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row28(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 1459, LOCATE_parser_tables___ParserTable___action_table_row28};
+  struct trace_t trace = {NULL, NULL, 1459, LOCATE_parser_tables___ParserTable___action_table_row28};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(12)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -4296,10 +4325,11 @@ val_t parser_tables___ParserTable___action_table_row28(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row29(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 1468, LOCATE_parser_tables___ParserTable___action_table_row29};
+  struct trace_t trace = {NULL, NULL, 1468, LOCATE_parser_tables___ParserTable___action_table_row29};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(93)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -4401,10 +4431,11 @@ val_t parser_tables___ParserTable___action_table_row29(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row30(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 1504, LOCATE_parser_tables___ParserTable___action_table_row30};
+  struct trace_t trace = {NULL, NULL, 1504, LOCATE_parser_tables___ParserTable___action_table_row30};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -4419,10 +4450,11 @@ val_t parser_tables___ParserTable___action_table_row30(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row31(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 1511, LOCATE_parser_tables___ParserTable___action_table_row31};
+  struct trace_t trace = {NULL, NULL, 1511, LOCATE_parser_tables___ParserTable___action_table_row31};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -4440,10 +4472,11 @@ val_t parser_tables___ParserTable___action_table_row31(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row32(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 1519, LOCATE_parser_tables___ParserTable___action_table_row32};
+  struct trace_t trace = {NULL, NULL, 1519, LOCATE_parser_tables___ParserTable___action_table_row32};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -4461,10 +4494,11 @@ val_t parser_tables___ParserTable___action_table_row32(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row33(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 1527, LOCATE_parser_tables___ParserTable___action_table_row33};
+  struct trace_t trace = {NULL, NULL, 1527, LOCATE_parser_tables___ParserTable___action_table_row33};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -4482,10 +4516,11 @@ val_t parser_tables___ParserTable___action_table_row33(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row34(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 1535, LOCATE_parser_tables___ParserTable___action_table_row34};
+  struct trace_t trace = {NULL, NULL, 1535, LOCATE_parser_tables___ParserTable___action_table_row34};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -4503,10 +4538,11 @@ val_t parser_tables___ParserTable___action_table_row34(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row35(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 1543, LOCATE_parser_tables___ParserTable___action_table_row35};
+  struct trace_t trace = {NULL, NULL, 1543, LOCATE_parser_tables___ParserTable___action_table_row35};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -4524,10 +4560,11 @@ val_t parser_tables___ParserTable___action_table_row35(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row36(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 1551, LOCATE_parser_tables___ParserTable___action_table_row36};
+  struct trace_t trace = {NULL, NULL, 1551, LOCATE_parser_tables___ParserTable___action_table_row36};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -4545,10 +4582,11 @@ val_t parser_tables___ParserTable___action_table_row36(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row37(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 1559, LOCATE_parser_tables___ParserTable___action_table_row37};
+  struct trace_t trace = {NULL, NULL, 1559, LOCATE_parser_tables___ParserTable___action_table_row37};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(66)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -4623,10 +4661,11 @@ val_t parser_tables___ParserTable___action_table_row37(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row38(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 1586, LOCATE_parser_tables___ParserTable___action_table_row38};
+  struct trace_t trace = {NULL, NULL, 1586, LOCATE_parser_tables___ParserTable___action_table_row38};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -4638,10 +4677,11 @@ val_t parser_tables___ParserTable___action_table_row38(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row39(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 1592, LOCATE_parser_tables___ParserTable___action_table_row39};
+  struct trace_t trace = {NULL, NULL, 1592, LOCATE_parser_tables___ParserTable___action_table_row39};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -4653,10 +4693,11 @@ val_t parser_tables___ParserTable___action_table_row39(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row40(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 1598, LOCATE_parser_tables___ParserTable___action_table_row40};
+  struct trace_t trace = {NULL, NULL, 1598, LOCATE_parser_tables___ParserTable___action_table_row40};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -4668,10 +4709,11 @@ val_t parser_tables___ParserTable___action_table_row40(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row41(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 1604, LOCATE_parser_tables___ParserTable___action_table_row41};
+  struct trace_t trace = {NULL, NULL, 1604, LOCATE_parser_tables___ParserTable___action_table_row41};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(66)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -4746,10 +4788,11 @@ val_t parser_tables___ParserTable___action_table_row41(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row42(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 1631, LOCATE_parser_tables___ParserTable___action_table_row42};
+  struct trace_t trace = {NULL, NULL, 1631, LOCATE_parser_tables___ParserTable___action_table_row42};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -4767,10 +4810,11 @@ val_t parser_tables___ParserTable___action_table_row42(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row43(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 1639, LOCATE_parser_tables___ParserTable___action_table_row43};
+  struct trace_t trace = {NULL, NULL, 1639, LOCATE_parser_tables___ParserTable___action_table_row43};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(69)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -4848,10 +4892,11 @@ val_t parser_tables___ParserTable___action_table_row43(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row44(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 1667, LOCATE_parser_tables___ParserTable___action_table_row44};
+  struct trace_t trace = {NULL, NULL, 1667, LOCATE_parser_tables___ParserTable___action_table_row44};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -4863,10 +4908,11 @@ val_t parser_tables___ParserTable___action_table_row44(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row45(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 1673, LOCATE_parser_tables___ParserTable___action_table_row45};
+  struct trace_t trace = {NULL, NULL, 1673, LOCATE_parser_tables___ParserTable___action_table_row45};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -4878,10 +4924,11 @@ val_t parser_tables___ParserTable___action_table_row45(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row46(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 1679, LOCATE_parser_tables___ParserTable___action_table_row46};
+  struct trace_t trace = {NULL, NULL, 1679, LOCATE_parser_tables___ParserTable___action_table_row46};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -4893,10 +4940,11 @@ val_t parser_tables___ParserTable___action_table_row46(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row47(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 1685, LOCATE_parser_tables___ParserTable___action_table_row47};
+  struct trace_t trace = {NULL, NULL, 1685, LOCATE_parser_tables___ParserTable___action_table_row47};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -4908,10 +4956,11 @@ val_t parser_tables___ParserTable___action_table_row47(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row48(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 1691, LOCATE_parser_tables___ParserTable___action_table_row48};
+  struct trace_t trace = {NULL, NULL, 1691, LOCATE_parser_tables___ParserTable___action_table_row48};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(66)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -4986,10 +5035,11 @@ val_t parser_tables___ParserTable___action_table_row48(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row49(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 1718, LOCATE_parser_tables___ParserTable___action_table_row49};
+  struct trace_t trace = {NULL, NULL, 1718, LOCATE_parser_tables___ParserTable___action_table_row49};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -5007,10 +5057,11 @@ val_t parser_tables___ParserTable___action_table_row49(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row50(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 1726, LOCATE_parser_tables___ParserTable___action_table_row50};
+  struct trace_t trace = {NULL, NULL, 1726, LOCATE_parser_tables___ParserTable___action_table_row50};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -5025,10 +5076,11 @@ val_t parser_tables___ParserTable___action_table_row50(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row51(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 1733, LOCATE_parser_tables___ParserTable___action_table_row51};
+  struct trace_t trace = {NULL, NULL, 1733, LOCATE_parser_tables___ParserTable___action_table_row51};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(78)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -5115,10 +5167,11 @@ val_t parser_tables___ParserTable___action_table_row51(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row52(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 1764, LOCATE_parser_tables___ParserTable___action_table_row52};
+  struct trace_t trace = {NULL, NULL, 1764, LOCATE_parser_tables___ParserTable___action_table_row52};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(12)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -5139,10 +5192,11 @@ val_t parser_tables___ParserTable___action_table_row52(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row53(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 1773, LOCATE_parser_tables___ParserTable___action_table_row53};
+  struct trace_t trace = {NULL, NULL, 1773, LOCATE_parser_tables___ParserTable___action_table_row53};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -5154,10 +5208,11 @@ val_t parser_tables___ParserTable___action_table_row53(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row54(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 1779, LOCATE_parser_tables___ParserTable___action_table_row54};
+  struct trace_t trace = {NULL, NULL, 1779, LOCATE_parser_tables___ParserTable___action_table_row54};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -5169,10 +5224,11 @@ val_t parser_tables___ParserTable___action_table_row54(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row55(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 1785, LOCATE_parser_tables___ParserTable___action_table_row55};
+  struct trace_t trace = {NULL, NULL, 1785, LOCATE_parser_tables___ParserTable___action_table_row55};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -5184,10 +5240,11 @@ val_t parser_tables___ParserTable___action_table_row55(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row56(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 1791, LOCATE_parser_tables___ParserTable___action_table_row56};
+  struct trace_t trace = {NULL, NULL, 1791, LOCATE_parser_tables___ParserTable___action_table_row56};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -5199,10 +5256,11 @@ val_t parser_tables___ParserTable___action_table_row56(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row57(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 1797, LOCATE_parser_tables___ParserTable___action_table_row57};
+  struct trace_t trace = {NULL, NULL, 1797, LOCATE_parser_tables___ParserTable___action_table_row57};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -5214,10 +5272,11 @@ val_t parser_tables___ParserTable___action_table_row57(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row58(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 1803, LOCATE_parser_tables___ParserTable___action_table_row58};
+  struct trace_t trace = {NULL, NULL, 1803, LOCATE_parser_tables___ParserTable___action_table_row58};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(21)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -5247,10 +5306,11 @@ val_t parser_tables___ParserTable___action_table_row58(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row59(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 1815, LOCATE_parser_tables___ParserTable___action_table_row59};
+  struct trace_t trace = {NULL, NULL, 1815, LOCATE_parser_tables___ParserTable___action_table_row59};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -5268,10 +5328,11 @@ val_t parser_tables___ParserTable___action_table_row59(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row60(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 1823, LOCATE_parser_tables___ParserTable___action_table_row60};
+  struct trace_t trace = {NULL, NULL, 1823, LOCATE_parser_tables___ParserTable___action_table_row60};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -5283,10 +5344,11 @@ val_t parser_tables___ParserTable___action_table_row60(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row61(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 1829, LOCATE_parser_tables___ParserTable___action_table_row61};
+  struct trace_t trace = {NULL, NULL, 1829, LOCATE_parser_tables___ParserTable___action_table_row61};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -5298,10 +5360,11 @@ val_t parser_tables___ParserTable___action_table_row61(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row62(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 1835, LOCATE_parser_tables___ParserTable___action_table_row62};
+  struct trace_t trace = {NULL, NULL, 1835, LOCATE_parser_tables___ParserTable___action_table_row62};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -5313,10 +5376,11 @@ val_t parser_tables___ParserTable___action_table_row62(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row63(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 1841, LOCATE_parser_tables___ParserTable___action_table_row63};
+  struct trace_t trace = {NULL, NULL, 1841, LOCATE_parser_tables___ParserTable___action_table_row63};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -5328,10 +5392,11 @@ val_t parser_tables___ParserTable___action_table_row63(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row64(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 1847, LOCATE_parser_tables___ParserTable___action_table_row64};
+  struct trace_t trace = {NULL, NULL, 1847, LOCATE_parser_tables___ParserTable___action_table_row64};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -5343,10 +5408,11 @@ val_t parser_tables___ParserTable___action_table_row64(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row65(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 1853, LOCATE_parser_tables___ParserTable___action_table_row65};
+  struct trace_t trace = {NULL, NULL, 1853, LOCATE_parser_tables___ParserTable___action_table_row65};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -5358,10 +5424,11 @@ val_t parser_tables___ParserTable___action_table_row65(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row66(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 1859, LOCATE_parser_tables___ParserTable___action_table_row66};
+  struct trace_t trace = {NULL, NULL, 1859, LOCATE_parser_tables___ParserTable___action_table_row66};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -5379,10 +5446,11 @@ val_t parser_tables___ParserTable___action_table_row66(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row67(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 1867, LOCATE_parser_tables___ParserTable___action_table_row67};
+  struct trace_t trace = {NULL, NULL, 1867, LOCATE_parser_tables___ParserTable___action_table_row67};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -5394,10 +5462,11 @@ val_t parser_tables___ParserTable___action_table_row67(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row68(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 1873, LOCATE_parser_tables___ParserTable___action_table_row68};
+  struct trace_t trace = {NULL, NULL, 1873, LOCATE_parser_tables___ParserTable___action_table_row68};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -5415,10 +5484,11 @@ val_t parser_tables___ParserTable___action_table_row68(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row69(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 1881, LOCATE_parser_tables___ParserTable___action_table_row69};
+  struct trace_t trace = {NULL, NULL, 1881, LOCATE_parser_tables___ParserTable___action_table_row69};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -5430,10 +5500,11 @@ val_t parser_tables___ParserTable___action_table_row69(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row70(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 1887, LOCATE_parser_tables___ParserTable___action_table_row70};
+  struct trace_t trace = {NULL, NULL, 1887, LOCATE_parser_tables___ParserTable___action_table_row70};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -5451,10 +5522,11 @@ val_t parser_tables___ParserTable___action_table_row70(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row71(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 1895, LOCATE_parser_tables___ParserTable___action_table_row71};
+  struct trace_t trace = {NULL, NULL, 1895, LOCATE_parser_tables___ParserTable___action_table_row71};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -5472,10 +5544,11 @@ val_t parser_tables___ParserTable___action_table_row71(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row72(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 1903, LOCATE_parser_tables___ParserTable___action_table_row72};
+  struct trace_t trace = {NULL, NULL, 1903, LOCATE_parser_tables___ParserTable___action_table_row72};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -5487,10 +5560,11 @@ val_t parser_tables___ParserTable___action_table_row72(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row73(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 1909, LOCATE_parser_tables___ParserTable___action_table_row73};
+  struct trace_t trace = {NULL, NULL, 1909, LOCATE_parser_tables___ParserTable___action_table_row73};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -5505,10 +5579,11 @@ val_t parser_tables___ParserTable___action_table_row73(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row74(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 1916, LOCATE_parser_tables___ParserTable___action_table_row74};
+  struct trace_t trace = {NULL, NULL, 1916, LOCATE_parser_tables___ParserTable___action_table_row74};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -5520,10 +5595,11 @@ val_t parser_tables___ParserTable___action_table_row74(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row75(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 1922, LOCATE_parser_tables___ParserTable___action_table_row75};
+  struct trace_t trace = {NULL, NULL, 1922, LOCATE_parser_tables___ParserTable___action_table_row75};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -5535,10 +5611,11 @@ val_t parser_tables___ParserTable___action_table_row75(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row76(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 1928, LOCATE_parser_tables___ParserTable___action_table_row76};
+  struct trace_t trace = {NULL, NULL, 1928, LOCATE_parser_tables___ParserTable___action_table_row76};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -5556,10 +5633,11 @@ val_t parser_tables___ParserTable___action_table_row76(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row77(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 1936, LOCATE_parser_tables___ParserTable___action_table_row77};
+  struct trace_t trace = {NULL, NULL, 1936, LOCATE_parser_tables___ParserTable___action_table_row77};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -5577,10 +5655,11 @@ val_t parser_tables___ParserTable___action_table_row77(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row78(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 1944, LOCATE_parser_tables___ParserTable___action_table_row78};
+  struct trace_t trace = {NULL, NULL, 1944, LOCATE_parser_tables___ParserTable___action_table_row78};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -5592,10 +5671,11 @@ val_t parser_tables___ParserTable___action_table_row78(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row79(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 1950, LOCATE_parser_tables___ParserTable___action_table_row79};
+  struct trace_t trace = {NULL, NULL, 1950, LOCATE_parser_tables___ParserTable___action_table_row79};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -5607,10 +5687,11 @@ val_t parser_tables___ParserTable___action_table_row79(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row80(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 1956, LOCATE_parser_tables___ParserTable___action_table_row80};
+  struct trace_t trace = {NULL, NULL, 1956, LOCATE_parser_tables___ParserTable___action_table_row80};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -5628,10 +5709,11 @@ val_t parser_tables___ParserTable___action_table_row80(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row81(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 1964, LOCATE_parser_tables___ParserTable___action_table_row81};
+  struct trace_t trace = {NULL, NULL, 1964, LOCATE_parser_tables___ParserTable___action_table_row81};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(12)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -5652,10 +5734,11 @@ val_t parser_tables___ParserTable___action_table_row81(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row82(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 1973, LOCATE_parser_tables___ParserTable___action_table_row82};
+  struct trace_t trace = {NULL, NULL, 1973, LOCATE_parser_tables___ParserTable___action_table_row82};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -5667,10 +5750,11 @@ val_t parser_tables___ParserTable___action_table_row82(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row83(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 1979, LOCATE_parser_tables___ParserTable___action_table_row83};
+  struct trace_t trace = {NULL, NULL, 1979, LOCATE_parser_tables___ParserTable___action_table_row83};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -5682,10 +5766,11 @@ val_t parser_tables___ParserTable___action_table_row83(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row84(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 1985, LOCATE_parser_tables___ParserTable___action_table_row84};
+  struct trace_t trace = {NULL, NULL, 1985, LOCATE_parser_tables___ParserTable___action_table_row84};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -5703,10 +5788,11 @@ val_t parser_tables___ParserTable___action_table_row84(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row85(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 1993, LOCATE_parser_tables___ParserTable___action_table_row85};
+  struct trace_t trace = {NULL, NULL, 1993, LOCATE_parser_tables___ParserTable___action_table_row85};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(96)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -5811,10 +5897,11 @@ val_t parser_tables___ParserTable___action_table_row85(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row86(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 2030, LOCATE_parser_tables___ParserTable___action_table_row86};
+  struct trace_t trace = {NULL, NULL, 2030, LOCATE_parser_tables___ParserTable___action_table_row86};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -5826,10 +5913,11 @@ val_t parser_tables___ParserTable___action_table_row86(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row87(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 2036, LOCATE_parser_tables___ParserTable___action_table_row87};
+  struct trace_t trace = {NULL, NULL, 2036, LOCATE_parser_tables___ParserTable___action_table_row87};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -5844,10 +5932,11 @@ val_t parser_tables___ParserTable___action_table_row87(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row88(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 2043, LOCATE_parser_tables___ParserTable___action_table_row88};
+  struct trace_t trace = {NULL, NULL, 2043, LOCATE_parser_tables___ParserTable___action_table_row88};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -5859,10 +5948,11 @@ val_t parser_tables___ParserTable___action_table_row88(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row89(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 2049, LOCATE_parser_tables___ParserTable___action_table_row89};
+  struct trace_t trace = {NULL, NULL, 2049, LOCATE_parser_tables___ParserTable___action_table_row89};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(12)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -5883,10 +5973,11 @@ val_t parser_tables___ParserTable___action_table_row89(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row90(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 2058, LOCATE_parser_tables___ParserTable___action_table_row90};
+  struct trace_t trace = {NULL, NULL, 2058, LOCATE_parser_tables___ParserTable___action_table_row90};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -5898,10 +5989,11 @@ val_t parser_tables___ParserTable___action_table_row90(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row91(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 2064, LOCATE_parser_tables___ParserTable___action_table_row91};
+  struct trace_t trace = {NULL, NULL, 2064, LOCATE_parser_tables___ParserTable___action_table_row91};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -5919,10 +6011,11 @@ val_t parser_tables___ParserTable___action_table_row91(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row92(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 2072, LOCATE_parser_tables___ParserTable___action_table_row92};
+  struct trace_t trace = {NULL, NULL, 2072, LOCATE_parser_tables___ParserTable___action_table_row92};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(12)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -5943,10 +6036,11 @@ val_t parser_tables___ParserTable___action_table_row92(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row93(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 2081, LOCATE_parser_tables___ParserTable___action_table_row93};
+  struct trace_t trace = {NULL, NULL, 2081, LOCATE_parser_tables___ParserTable___action_table_row93};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -5958,10 +6052,11 @@ val_t parser_tables___ParserTable___action_table_row93(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row94(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 2087, LOCATE_parser_tables___ParserTable___action_table_row94};
+  struct trace_t trace = {NULL, NULL, 2087, LOCATE_parser_tables___ParserTable___action_table_row94};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -5979,10 +6074,11 @@ val_t parser_tables___ParserTable___action_table_row94(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row95(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 2095, LOCATE_parser_tables___ParserTable___action_table_row95};
+  struct trace_t trace = {NULL, NULL, 2095, LOCATE_parser_tables___ParserTable___action_table_row95};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -5994,10 +6090,11 @@ val_t parser_tables___ParserTable___action_table_row95(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row96(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 2101, LOCATE_parser_tables___ParserTable___action_table_row96};
+  struct trace_t trace = {NULL, NULL, 2101, LOCATE_parser_tables___ParserTable___action_table_row96};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -6009,10 +6106,11 @@ val_t parser_tables___ParserTable___action_table_row96(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row97(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 2107, LOCATE_parser_tables___ParserTable___action_table_row97};
+  struct trace_t trace = {NULL, NULL, 2107, LOCATE_parser_tables___ParserTable___action_table_row97};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -6030,10 +6128,11 @@ val_t parser_tables___ParserTable___action_table_row97(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row98(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 2115, LOCATE_parser_tables___ParserTable___action_table_row98};
+  struct trace_t trace = {NULL, NULL, 2115, LOCATE_parser_tables___ParserTable___action_table_row98};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(96)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -6138,10 +6237,11 @@ val_t parser_tables___ParserTable___action_table_row98(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row99(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 2152, LOCATE_parser_tables___ParserTable___action_table_row99};
+  struct trace_t trace = {NULL, NULL, 2152, LOCATE_parser_tables___ParserTable___action_table_row99};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(12)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -6162,10 +6262,11 @@ val_t parser_tables___ParserTable___action_table_row99(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row100(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 2161, LOCATE_parser_tables___ParserTable___action_table_row100};
+  struct trace_t trace = {NULL, NULL, 2161, LOCATE_parser_tables___ParserTable___action_table_row100};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -6177,10 +6278,11 @@ val_t parser_tables___ParserTable___action_table_row100(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row101(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 2167, LOCATE_parser_tables___ParserTable___action_table_row101};
+  struct trace_t trace = {NULL, NULL, 2167, LOCATE_parser_tables___ParserTable___action_table_row101};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -6195,10 +6297,11 @@ val_t parser_tables___ParserTable___action_table_row101(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row102(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 2174, LOCATE_parser_tables___ParserTable___action_table_row102};
+  struct trace_t trace = {NULL, NULL, 2174, LOCATE_parser_tables___ParserTable___action_table_row102};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -6213,10 +6316,11 @@ val_t parser_tables___ParserTable___action_table_row102(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row103(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 2181, LOCATE_parser_tables___ParserTable___action_table_row103};
+  struct trace_t trace = {NULL, NULL, 2181, LOCATE_parser_tables___ParserTable___action_table_row103};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -6234,10 +6338,11 @@ val_t parser_tables___ParserTable___action_table_row103(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row104(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 2189, LOCATE_parser_tables___ParserTable___action_table_row104};
+  struct trace_t trace = {NULL, NULL, 2189, LOCATE_parser_tables___ParserTable___action_table_row104};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -6255,10 +6360,11 @@ val_t parser_tables___ParserTable___action_table_row104(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row105(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 2197, LOCATE_parser_tables___ParserTable___action_table_row105};
+  struct trace_t trace = {NULL, NULL, 2197, LOCATE_parser_tables___ParserTable___action_table_row105};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -6276,10 +6382,11 @@ val_t parser_tables___ParserTable___action_table_row105(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row106(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 2205, LOCATE_parser_tables___ParserTable___action_table_row106};
+  struct trace_t trace = {NULL, NULL, 2205, LOCATE_parser_tables___ParserTable___action_table_row106};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -6297,10 +6404,11 @@ val_t parser_tables___ParserTable___action_table_row106(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row107(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 2213, LOCATE_parser_tables___ParserTable___action_table_row107};
+  struct trace_t trace = {NULL, NULL, 2213, LOCATE_parser_tables___ParserTable___action_table_row107};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -6315,10 +6423,11 @@ val_t parser_tables___ParserTable___action_table_row107(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row108(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 2220, LOCATE_parser_tables___ParserTable___action_table_row108};
+  struct trace_t trace = {NULL, NULL, 2220, LOCATE_parser_tables___ParserTable___action_table_row108};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -6330,10 +6439,11 @@ val_t parser_tables___ParserTable___action_table_row108(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row109(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 2226, LOCATE_parser_tables___ParserTable___action_table_row109};
+  struct trace_t trace = {NULL, NULL, 2226, LOCATE_parser_tables___ParserTable___action_table_row109};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -6345,10 +6455,11 @@ val_t parser_tables___ParserTable___action_table_row109(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row110(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 2232, LOCATE_parser_tables___ParserTable___action_table_row110};
+  struct trace_t trace = {NULL, NULL, 2232, LOCATE_parser_tables___ParserTable___action_table_row110};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -6360,10 +6471,11 @@ val_t parser_tables___ParserTable___action_table_row110(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row111(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 2238, LOCATE_parser_tables___ParserTable___action_table_row111};
+  struct trace_t trace = {NULL, NULL, 2238, LOCATE_parser_tables___ParserTable___action_table_row111};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -6375,10 +6487,11 @@ val_t parser_tables___ParserTable___action_table_row111(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row112(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 2244, LOCATE_parser_tables___ParserTable___action_table_row112};
+  struct trace_t trace = {NULL, NULL, 2244, LOCATE_parser_tables___ParserTable___action_table_row112};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -6396,10 +6509,11 @@ val_t parser_tables___ParserTable___action_table_row112(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row113(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 2252, LOCATE_parser_tables___ParserTable___action_table_row113};
+  struct trace_t trace = {NULL, NULL, 2252, LOCATE_parser_tables___ParserTable___action_table_row113};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -6417,10 +6531,11 @@ val_t parser_tables___ParserTable___action_table_row113(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row114(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 2260, LOCATE_parser_tables___ParserTable___action_table_row114};
+  struct trace_t trace = {NULL, NULL, 2260, LOCATE_parser_tables___ParserTable___action_table_row114};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -6438,10 +6553,11 @@ val_t parser_tables___ParserTable___action_table_row114(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row115(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 2268, LOCATE_parser_tables___ParserTable___action_table_row115};
+  struct trace_t trace = {NULL, NULL, 2268, LOCATE_parser_tables___ParserTable___action_table_row115};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -6453,10 +6569,11 @@ val_t parser_tables___ParserTable___action_table_row115(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row116(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 2274, LOCATE_parser_tables___ParserTable___action_table_row116};
+  struct trace_t trace = {NULL, NULL, 2274, LOCATE_parser_tables___ParserTable___action_table_row116};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -6468,10 +6585,11 @@ val_t parser_tables___ParserTable___action_table_row116(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row117(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 2280, LOCATE_parser_tables___ParserTable___action_table_row117};
+  struct trace_t trace = {NULL, NULL, 2280, LOCATE_parser_tables___ParserTable___action_table_row117};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -6483,10 +6601,11 @@ val_t parser_tables___ParserTable___action_table_row117(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row118(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 2286, LOCATE_parser_tables___ParserTable___action_table_row118};
+  struct trace_t trace = {NULL, NULL, 2286, LOCATE_parser_tables___ParserTable___action_table_row118};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -6498,10 +6617,11 @@ val_t parser_tables___ParserTable___action_table_row118(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row119(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 2292, LOCATE_parser_tables___ParserTable___action_table_row119};
+  struct trace_t trace = {NULL, NULL, 2292, LOCATE_parser_tables___ParserTable___action_table_row119};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -6513,10 +6633,11 @@ val_t parser_tables___ParserTable___action_table_row119(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row120(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 2298, LOCATE_parser_tables___ParserTable___action_table_row120};
+  struct trace_t trace = {NULL, NULL, 2298, LOCATE_parser_tables___ParserTable___action_table_row120};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -6528,10 +6649,11 @@ val_t parser_tables___ParserTable___action_table_row120(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row121(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 2304, LOCATE_parser_tables___ParserTable___action_table_row121};
+  struct trace_t trace = {NULL, NULL, 2304, LOCATE_parser_tables___ParserTable___action_table_row121};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -6543,10 +6665,11 @@ val_t parser_tables___ParserTable___action_table_row121(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row122(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 2310, LOCATE_parser_tables___ParserTable___action_table_row122};
+  struct trace_t trace = {NULL, NULL, 2310, LOCATE_parser_tables___ParserTable___action_table_row122};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -6558,10 +6681,11 @@ val_t parser_tables___ParserTable___action_table_row122(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row123(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 2316, LOCATE_parser_tables___ParserTable___action_table_row123};
+  struct trace_t trace = {NULL, NULL, 2316, LOCATE_parser_tables___ParserTable___action_table_row123};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -6576,10 +6700,11 @@ val_t parser_tables___ParserTable___action_table_row123(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row124(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 2323, LOCATE_parser_tables___ParserTable___action_table_row124};
+  struct trace_t trace = {NULL, NULL, 2323, LOCATE_parser_tables___ParserTable___action_table_row124};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -6591,10 +6716,11 @@ val_t parser_tables___ParserTable___action_table_row124(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row125(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 2329, LOCATE_parser_tables___ParserTable___action_table_row125};
+  struct trace_t trace = {NULL, NULL, 2329, LOCATE_parser_tables___ParserTable___action_table_row125};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -6612,10 +6738,11 @@ val_t parser_tables___ParserTable___action_table_row125(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row126(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 2337, LOCATE_parser_tables___ParserTable___action_table_row126};
+  struct trace_t trace = {NULL, NULL, 2337, LOCATE_parser_tables___ParserTable___action_table_row126};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -6627,10 +6754,11 @@ val_t parser_tables___ParserTable___action_table_row126(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row127(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 2343, LOCATE_parser_tables___ParserTable___action_table_row127};
+  struct trace_t trace = {NULL, NULL, 2343, LOCATE_parser_tables___ParserTable___action_table_row127};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -6642,10 +6770,11 @@ val_t parser_tables___ParserTable___action_table_row127(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row128(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 2349, LOCATE_parser_tables___ParserTable___action_table_row128};
+  struct trace_t trace = {NULL, NULL, 2349, LOCATE_parser_tables___ParserTable___action_table_row128};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(36)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -6690,10 +6819,11 @@ val_t parser_tables___ParserTable___action_table_row128(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row129(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 2366, LOCATE_parser_tables___ParserTable___action_table_row129};
+  struct trace_t trace = {NULL, NULL, 2366, LOCATE_parser_tables___ParserTable___action_table_row129};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(12)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -6714,10 +6844,11 @@ val_t parser_tables___ParserTable___action_table_row129(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row130(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 2375, LOCATE_parser_tables___ParserTable___action_table_row130};
+  struct trace_t trace = {NULL, NULL, 2375, LOCATE_parser_tables___ParserTable___action_table_row130};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -6729,10 +6860,11 @@ val_t parser_tables___ParserTable___action_table_row130(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row131(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 2381, LOCATE_parser_tables___ParserTable___action_table_row131};
+  struct trace_t trace = {NULL, NULL, 2381, LOCATE_parser_tables___ParserTable___action_table_row131};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -6744,10 +6876,11 @@ val_t parser_tables___ParserTable___action_table_row131(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row132(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 2387, LOCATE_parser_tables___ParserTable___action_table_row132};
+  struct trace_t trace = {NULL, NULL, 2387, LOCATE_parser_tables___ParserTable___action_table_row132};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -6762,10 +6895,11 @@ val_t parser_tables___ParserTable___action_table_row132(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row133(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 2394, LOCATE_parser_tables___ParserTable___action_table_row133};
+  struct trace_t trace = {NULL, NULL, 2394, LOCATE_parser_tables___ParserTable___action_table_row133};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(18)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -6792,10 +6926,11 @@ val_t parser_tables___ParserTable___action_table_row133(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row134(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 2405, LOCATE_parser_tables___ParserTable___action_table_row134};
+  struct trace_t trace = {NULL, NULL, 2405, LOCATE_parser_tables___ParserTable___action_table_row134};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -6807,10 +6942,11 @@ val_t parser_tables___ParserTable___action_table_row134(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row135(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 2411, LOCATE_parser_tables___ParserTable___action_table_row135};
+  struct trace_t trace = {NULL, NULL, 2411, LOCATE_parser_tables___ParserTable___action_table_row135};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -6822,10 +6958,11 @@ val_t parser_tables___ParserTable___action_table_row135(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row136(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 2417, LOCATE_parser_tables___ParserTable___action_table_row136};
+  struct trace_t trace = {NULL, NULL, 2417, LOCATE_parser_tables___ParserTable___action_table_row136};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -6837,10 +6974,11 @@ val_t parser_tables___ParserTable___action_table_row136(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row137(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 2423, LOCATE_parser_tables___ParserTable___action_table_row137};
+  struct trace_t trace = {NULL, NULL, 2423, LOCATE_parser_tables___ParserTable___action_table_row137};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(87)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -6936,10 +7074,11 @@ val_t parser_tables___ParserTable___action_table_row137(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row138(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 2457, LOCATE_parser_tables___ParserTable___action_table_row138};
+  struct trace_t trace = {NULL, NULL, 2457, LOCATE_parser_tables___ParserTable___action_table_row138};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -6957,10 +7096,11 @@ val_t parser_tables___ParserTable___action_table_row138(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row139(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 2465, LOCATE_parser_tables___ParserTable___action_table_row139};
+  struct trace_t trace = {NULL, NULL, 2465, LOCATE_parser_tables___ParserTable___action_table_row139};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -6972,10 +7112,11 @@ val_t parser_tables___ParserTable___action_table_row139(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row140(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 2471, LOCATE_parser_tables___ParserTable___action_table_row140};
+  struct trace_t trace = {NULL, NULL, 2471, LOCATE_parser_tables___ParserTable___action_table_row140};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -6987,10 +7128,11 @@ val_t parser_tables___ParserTable___action_table_row140(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row141(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 2477, LOCATE_parser_tables___ParserTable___action_table_row141};
+  struct trace_t trace = {NULL, NULL, 2477, LOCATE_parser_tables___ParserTable___action_table_row141};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -7002,10 +7144,11 @@ val_t parser_tables___ParserTable___action_table_row141(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row142(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 2483, LOCATE_parser_tables___ParserTable___action_table_row142};
+  struct trace_t trace = {NULL, NULL, 2483, LOCATE_parser_tables___ParserTable___action_table_row142};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(66)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -7080,10 +7223,11 @@ val_t parser_tables___ParserTable___action_table_row142(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row143(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 2510, LOCATE_parser_tables___ParserTable___action_table_row143};
+  struct trace_t trace = {NULL, NULL, 2510, LOCATE_parser_tables___ParserTable___action_table_row143};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(66)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -7158,10 +7302,11 @@ val_t parser_tables___ParserTable___action_table_row143(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row144(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 2537, LOCATE_parser_tables___ParserTable___action_table_row144};
+  struct trace_t trace = {NULL, NULL, 2537, LOCATE_parser_tables___ParserTable___action_table_row144};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -7176,10 +7321,11 @@ val_t parser_tables___ParserTable___action_table_row144(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row145(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 2544, LOCATE_parser_tables___ParserTable___action_table_row145};
+  struct trace_t trace = {NULL, NULL, 2544, LOCATE_parser_tables___ParserTable___action_table_row145};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -7194,10 +7340,11 @@ val_t parser_tables___ParserTable___action_table_row145(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row146(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 2551, LOCATE_parser_tables___ParserTable___action_table_row146};
+  struct trace_t trace = {NULL, NULL, 2551, LOCATE_parser_tables___ParserTable___action_table_row146};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -7215,10 +7362,11 @@ val_t parser_tables___ParserTable___action_table_row146(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row147(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 2559, LOCATE_parser_tables___ParserTable___action_table_row147};
+  struct trace_t trace = {NULL, NULL, 2559, LOCATE_parser_tables___ParserTable___action_table_row147};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -7236,10 +7384,11 @@ val_t parser_tables___ParserTable___action_table_row147(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row148(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 2567, LOCATE_parser_tables___ParserTable___action_table_row148};
+  struct trace_t trace = {NULL, NULL, 2567, LOCATE_parser_tables___ParserTable___action_table_row148};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -7257,10 +7406,11 @@ val_t parser_tables___ParserTable___action_table_row148(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row149(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 2575, LOCATE_parser_tables___ParserTable___action_table_row149};
+  struct trace_t trace = {NULL, NULL, 2575, LOCATE_parser_tables___ParserTable___action_table_row149};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -7278,10 +7428,11 @@ val_t parser_tables___ParserTable___action_table_row149(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row150(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 2583, LOCATE_parser_tables___ParserTable___action_table_row150};
+  struct trace_t trace = {NULL, NULL, 2583, LOCATE_parser_tables___ParserTable___action_table_row150};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -7296,10 +7447,11 @@ val_t parser_tables___ParserTable___action_table_row150(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row151(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 2590, LOCATE_parser_tables___ParserTable___action_table_row151};
+  struct trace_t trace = {NULL, NULL, 2590, LOCATE_parser_tables___ParserTable___action_table_row151};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -7317,10 +7469,11 @@ val_t parser_tables___ParserTable___action_table_row151(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row152(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 2598, LOCATE_parser_tables___ParserTable___action_table_row152};
+  struct trace_t trace = {NULL, NULL, 2598, LOCATE_parser_tables___ParserTable___action_table_row152};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -7338,10 +7491,11 @@ val_t parser_tables___ParserTable___action_table_row152(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row153(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 2606, LOCATE_parser_tables___ParserTable___action_table_row153};
+  struct trace_t trace = {NULL, NULL, 2606, LOCATE_parser_tables___ParserTable___action_table_row153};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -7353,10 +7507,11 @@ val_t parser_tables___ParserTable___action_table_row153(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row154(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 2612, LOCATE_parser_tables___ParserTable___action_table_row154};
+  struct trace_t trace = {NULL, NULL, 2612, LOCATE_parser_tables___ParserTable___action_table_row154};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -7368,10 +7523,11 @@ val_t parser_tables___ParserTable___action_table_row154(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row155(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 2618, LOCATE_parser_tables___ParserTable___action_table_row155};
+  struct trace_t trace = {NULL, NULL, 2618, LOCATE_parser_tables___ParserTable___action_table_row155};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -7389,10 +7545,11 @@ val_t parser_tables___ParserTable___action_table_row155(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row156(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 2626, LOCATE_parser_tables___ParserTable___action_table_row156};
+  struct trace_t trace = {NULL, NULL, 2626, LOCATE_parser_tables___ParserTable___action_table_row156};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -7404,10 +7561,11 @@ val_t parser_tables___ParserTable___action_table_row156(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row157(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 2632, LOCATE_parser_tables___ParserTable___action_table_row157};
+  struct trace_t trace = {NULL, NULL, 2632, LOCATE_parser_tables___ParserTable___action_table_row157};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -7419,10 +7577,11 @@ val_t parser_tables___ParserTable___action_table_row157(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row158(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 2638, LOCATE_parser_tables___ParserTable___action_table_row158};
+  struct trace_t trace = {NULL, NULL, 2638, LOCATE_parser_tables___ParserTable___action_table_row158};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(36)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -7467,10 +7626,11 @@ val_t parser_tables___ParserTable___action_table_row158(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row159(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 2655, LOCATE_parser_tables___ParserTable___action_table_row159};
+  struct trace_t trace = {NULL, NULL, 2655, LOCATE_parser_tables___ParserTable___action_table_row159};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(12)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -7491,10 +7651,11 @@ val_t parser_tables___ParserTable___action_table_row159(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row160(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 2664, LOCATE_parser_tables___ParserTable___action_table_row160};
+  struct trace_t trace = {NULL, NULL, 2664, LOCATE_parser_tables___ParserTable___action_table_row160};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -7506,10 +7667,11 @@ val_t parser_tables___ParserTable___action_table_row160(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row161(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 2670, LOCATE_parser_tables___ParserTable___action_table_row161};
+  struct trace_t trace = {NULL, NULL, 2670, LOCATE_parser_tables___ParserTable___action_table_row161};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -7521,10 +7683,11 @@ val_t parser_tables___ParserTable___action_table_row161(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row162(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 2676, LOCATE_parser_tables___ParserTable___action_table_row162};
+  struct trace_t trace = {NULL, NULL, 2676, LOCATE_parser_tables___ParserTable___action_table_row162};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -7542,10 +7705,11 @@ val_t parser_tables___ParserTable___action_table_row162(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row163(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 2684, LOCATE_parser_tables___ParserTable___action_table_row163};
+  struct trace_t trace = {NULL, NULL, 2684, LOCATE_parser_tables___ParserTable___action_table_row163};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -7560,10 +7724,11 @@ val_t parser_tables___ParserTable___action_table_row163(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row164(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 2691, LOCATE_parser_tables___ParserTable___action_table_row164};
+  struct trace_t trace = {NULL, NULL, 2691, LOCATE_parser_tables___ParserTable___action_table_row164};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(12)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -7584,10 +7749,11 @@ val_t parser_tables___ParserTable___action_table_row164(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row165(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 2700, LOCATE_parser_tables___ParserTable___action_table_row165};
+  struct trace_t trace = {NULL, NULL, 2700, LOCATE_parser_tables___ParserTable___action_table_row165};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(66)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -7662,10 +7828,11 @@ val_t parser_tables___ParserTable___action_table_row165(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row166(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 2727, LOCATE_parser_tables___ParserTable___action_table_row166};
+  struct trace_t trace = {NULL, NULL, 2727, LOCATE_parser_tables___ParserTable___action_table_row166};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -7677,10 +7844,11 @@ val_t parser_tables___ParserTable___action_table_row166(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row167(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 2733, LOCATE_parser_tables___ParserTable___action_table_row167};
+  struct trace_t trace = {NULL, NULL, 2733, LOCATE_parser_tables___ParserTable___action_table_row167};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -7695,10 +7863,11 @@ val_t parser_tables___ParserTable___action_table_row167(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row168(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 2740, LOCATE_parser_tables___ParserTable___action_table_row168};
+  struct trace_t trace = {NULL, NULL, 2740, LOCATE_parser_tables___ParserTable___action_table_row168};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -7710,10 +7879,11 @@ val_t parser_tables___ParserTable___action_table_row168(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row169(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 2746, LOCATE_parser_tables___ParserTable___action_table_row169};
+  struct trace_t trace = {NULL, NULL, 2746, LOCATE_parser_tables___ParserTable___action_table_row169};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -7725,10 +7895,11 @@ val_t parser_tables___ParserTable___action_table_row169(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row170(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 2752, LOCATE_parser_tables___ParserTable___action_table_row170};
+  struct trace_t trace = {NULL, NULL, 2752, LOCATE_parser_tables___ParserTable___action_table_row170};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -7743,10 +7914,11 @@ val_t parser_tables___ParserTable___action_table_row170(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row171(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 2759, LOCATE_parser_tables___ParserTable___action_table_row171};
+  struct trace_t trace = {NULL, NULL, 2759, LOCATE_parser_tables___ParserTable___action_table_row171};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(66)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -7821,10 +7993,11 @@ val_t parser_tables___ParserTable___action_table_row171(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row172(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 2786, LOCATE_parser_tables___ParserTable___action_table_row172};
+  struct trace_t trace = {NULL, NULL, 2786, LOCATE_parser_tables___ParserTable___action_table_row172};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -7842,10 +8015,11 @@ val_t parser_tables___ParserTable___action_table_row172(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row173(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 2794, LOCATE_parser_tables___ParserTable___action_table_row173};
+  struct trace_t trace = {NULL, NULL, 2794, LOCATE_parser_tables___ParserTable___action_table_row173};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -7863,10 +8037,11 @@ val_t parser_tables___ParserTable___action_table_row173(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row174(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 2802, LOCATE_parser_tables___ParserTable___action_table_row174};
+  struct trace_t trace = {NULL, NULL, 2802, LOCATE_parser_tables___ParserTable___action_table_row174};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(12)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -7887,10 +8062,11 @@ val_t parser_tables___ParserTable___action_table_row174(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row175(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 2811, LOCATE_parser_tables___ParserTable___action_table_row175};
+  struct trace_t trace = {NULL, NULL, 2811, LOCATE_parser_tables___ParserTable___action_table_row175};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -7902,10 +8078,11 @@ val_t parser_tables___ParserTable___action_table_row175(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row176(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 2817, LOCATE_parser_tables___ParserTable___action_table_row176};
+  struct trace_t trace = {NULL, NULL, 2817, LOCATE_parser_tables___ParserTable___action_table_row176};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(66)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -7980,10 +8157,11 @@ val_t parser_tables___ParserTable___action_table_row176(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row177(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 2844, LOCATE_parser_tables___ParserTable___action_table_row177};
+  struct trace_t trace = {NULL, NULL, 2844, LOCATE_parser_tables___ParserTable___action_table_row177};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -7995,10 +8173,11 @@ val_t parser_tables___ParserTable___action_table_row177(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row178(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 2850, LOCATE_parser_tables___ParserTable___action_table_row178};
+  struct trace_t trace = {NULL, NULL, 2850, LOCATE_parser_tables___ParserTable___action_table_row178};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -8010,10 +8189,11 @@ val_t parser_tables___ParserTable___action_table_row178(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row179(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 2856, LOCATE_parser_tables___ParserTable___action_table_row179};
+  struct trace_t trace = {NULL, NULL, 2856, LOCATE_parser_tables___ParserTable___action_table_row179};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(66)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -8088,10 +8268,11 @@ val_t parser_tables___ParserTable___action_table_row179(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row180(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 2883, LOCATE_parser_tables___ParserTable___action_table_row180};
+  struct trace_t trace = {NULL, NULL, 2883, LOCATE_parser_tables___ParserTable___action_table_row180};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -8109,10 +8290,11 @@ val_t parser_tables___ParserTable___action_table_row180(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row181(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 2891, LOCATE_parser_tables___ParserTable___action_table_row181};
+  struct trace_t trace = {NULL, NULL, 2891, LOCATE_parser_tables___ParserTable___action_table_row181};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -8124,10 +8306,11 @@ val_t parser_tables___ParserTable___action_table_row181(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row182(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 2897, LOCATE_parser_tables___ParserTable___action_table_row182};
+  struct trace_t trace = {NULL, NULL, 2897, LOCATE_parser_tables___ParserTable___action_table_row182};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -8142,10 +8325,11 @@ val_t parser_tables___ParserTable___action_table_row182(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row183(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 2904, LOCATE_parser_tables___ParserTable___action_table_row183};
+  struct trace_t trace = {NULL, NULL, 2904, LOCATE_parser_tables___ParserTable___action_table_row183};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -8157,10 +8341,11 @@ val_t parser_tables___ParserTable___action_table_row183(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row184(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 2910, LOCATE_parser_tables___ParserTable___action_table_row184};
+  struct trace_t trace = {NULL, NULL, 2910, LOCATE_parser_tables___ParserTable___action_table_row184};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -8172,10 +8357,11 @@ val_t parser_tables___ParserTable___action_table_row184(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row185(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 2916, LOCATE_parser_tables___ParserTable___action_table_row185};
+  struct trace_t trace = {NULL, NULL, 2916, LOCATE_parser_tables___ParserTable___action_table_row185};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(45)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -8229,10 +8415,11 @@ val_t parser_tables___ParserTable___action_table_row185(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row186(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 2936, LOCATE_parser_tables___ParserTable___action_table_row186};
+  struct trace_t trace = {NULL, NULL, 2936, LOCATE_parser_tables___ParserTable___action_table_row186};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -8250,10 +8437,11 @@ val_t parser_tables___ParserTable___action_table_row186(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row187(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 2944, LOCATE_parser_tables___ParserTable___action_table_row187};
+  struct trace_t trace = {NULL, NULL, 2944, LOCATE_parser_tables___ParserTable___action_table_row187};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -8265,10 +8453,11 @@ val_t parser_tables___ParserTable___action_table_row187(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row188(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 2950, LOCATE_parser_tables___ParserTable___action_table_row188};
+  struct trace_t trace = {NULL, NULL, 2950, LOCATE_parser_tables___ParserTable___action_table_row188};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(84)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -8361,10 +8550,11 @@ val_t parser_tables___ParserTable___action_table_row188(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row189(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 2983, LOCATE_parser_tables___ParserTable___action_table_row189};
+  struct trace_t trace = {NULL, NULL, 2983, LOCATE_parser_tables___ParserTable___action_table_row189};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -8376,10 +8566,11 @@ val_t parser_tables___ParserTable___action_table_row189(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row190(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 2989, LOCATE_parser_tables___ParserTable___action_table_row190};
+  struct trace_t trace = {NULL, NULL, 2989, LOCATE_parser_tables___ParserTable___action_table_row190};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -8397,10 +8588,11 @@ val_t parser_tables___ParserTable___action_table_row190(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row191(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 2997, LOCATE_parser_tables___ParserTable___action_table_row191};
+  struct trace_t trace = {NULL, NULL, 2997, LOCATE_parser_tables___ParserTable___action_table_row191};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -8415,10 +8607,11 @@ val_t parser_tables___ParserTable___action_table_row191(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row192(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 3004, LOCATE_parser_tables___ParserTable___action_table_row192};
+  struct trace_t trace = {NULL, NULL, 3004, LOCATE_parser_tables___ParserTable___action_table_row192};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -8436,10 +8629,11 @@ val_t parser_tables___ParserTable___action_table_row192(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row193(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 3012, LOCATE_parser_tables___ParserTable___action_table_row193};
+  struct trace_t trace = {NULL, NULL, 3012, LOCATE_parser_tables___ParserTable___action_table_row193};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -8457,10 +8651,11 @@ val_t parser_tables___ParserTable___action_table_row193(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row194(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 3020, LOCATE_parser_tables___ParserTable___action_table_row194};
+  struct trace_t trace = {NULL, NULL, 3020, LOCATE_parser_tables___ParserTable___action_table_row194};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(12)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -8481,10 +8676,11 @@ val_t parser_tables___ParserTable___action_table_row194(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row195(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 3029, LOCATE_parser_tables___ParserTable___action_table_row195};
+  struct trace_t trace = {NULL, NULL, 3029, LOCATE_parser_tables___ParserTable___action_table_row195};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -8496,10 +8692,11 @@ val_t parser_tables___ParserTable___action_table_row195(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row196(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 3035, LOCATE_parser_tables___ParserTable___action_table_row196};
+  struct trace_t trace = {NULL, NULL, 3035, LOCATE_parser_tables___ParserTable___action_table_row196};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -8511,10 +8708,11 @@ val_t parser_tables___ParserTable___action_table_row196(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row197(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 3041, LOCATE_parser_tables___ParserTable___action_table_row197};
+  struct trace_t trace = {NULL, NULL, 3041, LOCATE_parser_tables___ParserTable___action_table_row197};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -8526,10 +8724,11 @@ val_t parser_tables___ParserTable___action_table_row197(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row198(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 3047, LOCATE_parser_tables___ParserTable___action_table_row198};
+  struct trace_t trace = {NULL, NULL, 3047, LOCATE_parser_tables___ParserTable___action_table_row198};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -8547,10 +8746,11 @@ val_t parser_tables___ParserTable___action_table_row198(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row199(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 3055, LOCATE_parser_tables___ParserTable___action_table_row199};
+  struct trace_t trace = {NULL, NULL, 3055, LOCATE_parser_tables___ParserTable___action_table_row199};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -8562,10 +8762,11 @@ val_t parser_tables___ParserTable___action_table_row199(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row200(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 3061, LOCATE_parser_tables___ParserTable___action_table_row200};
+  struct trace_t trace = {NULL, NULL, 3061, LOCATE_parser_tables___ParserTable___action_table_row200};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -8583,10 +8784,11 @@ val_t parser_tables___ParserTable___action_table_row200(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row201(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 3069, LOCATE_parser_tables___ParserTable___action_table_row201};
+  struct trace_t trace = {NULL, NULL, 3069, LOCATE_parser_tables___ParserTable___action_table_row201};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(66)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -8661,10 +8863,11 @@ val_t parser_tables___ParserTable___action_table_row201(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row202(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 3096, LOCATE_parser_tables___ParserTable___action_table_row202};
+  struct trace_t trace = {NULL, NULL, 3096, LOCATE_parser_tables___ParserTable___action_table_row202};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(69)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -8742,10 +8945,11 @@ val_t parser_tables___ParserTable___action_table_row202(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row203(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 3124, LOCATE_parser_tables___ParserTable___action_table_row203};
+  struct trace_t trace = {NULL, NULL, 3124, LOCATE_parser_tables___ParserTable___action_table_row203};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -8760,10 +8964,11 @@ val_t parser_tables___ParserTable___action_table_row203(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row204(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 3131, LOCATE_parser_tables___ParserTable___action_table_row204};
+  struct trace_t trace = {NULL, NULL, 3131, LOCATE_parser_tables___ParserTable___action_table_row204};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -8775,10 +8980,11 @@ val_t parser_tables___ParserTable___action_table_row204(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row205(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 3137, LOCATE_parser_tables___ParserTable___action_table_row205};
+  struct trace_t trace = {NULL, NULL, 3137, LOCATE_parser_tables___ParserTable___action_table_row205};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -8790,10 +8996,11 @@ val_t parser_tables___ParserTable___action_table_row205(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row206(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 3143, LOCATE_parser_tables___ParserTable___action_table_row206};
+  struct trace_t trace = {NULL, NULL, 3143, LOCATE_parser_tables___ParserTable___action_table_row206};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -8808,10 +9015,11 @@ val_t parser_tables___ParserTable___action_table_row206(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row207(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 3150, LOCATE_parser_tables___ParserTable___action_table_row207};
+  struct trace_t trace = {NULL, NULL, 3150, LOCATE_parser_tables___ParserTable___action_table_row207};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(12)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -8832,10 +9040,11 @@ val_t parser_tables___ParserTable___action_table_row207(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row208(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 3159, LOCATE_parser_tables___ParserTable___action_table_row208};
+  struct trace_t trace = {NULL, NULL, 3159, LOCATE_parser_tables___ParserTable___action_table_row208};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -8847,10 +9056,11 @@ val_t parser_tables___ParserTable___action_table_row208(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row209(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 3165, LOCATE_parser_tables___ParserTable___action_table_row209};
+  struct trace_t trace = {NULL, NULL, 3165, LOCATE_parser_tables___ParserTable___action_table_row209};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -8868,10 +9078,11 @@ val_t parser_tables___ParserTable___action_table_row209(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row210(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 3173, LOCATE_parser_tables___ParserTable___action_table_row210};
+  struct trace_t trace = {NULL, NULL, 3173, LOCATE_parser_tables___ParserTable___action_table_row210};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(12)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -8892,10 +9103,11 @@ val_t parser_tables___ParserTable___action_table_row210(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row211(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 3182, LOCATE_parser_tables___ParserTable___action_table_row211};
+  struct trace_t trace = {NULL, NULL, 3182, LOCATE_parser_tables___ParserTable___action_table_row211};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(18)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -8922,10 +9134,11 @@ val_t parser_tables___ParserTable___action_table_row211(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row212(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 3193, LOCATE_parser_tables___ParserTable___action_table_row212};
+  struct trace_t trace = {NULL, NULL, 3193, LOCATE_parser_tables___ParserTable___action_table_row212};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -8937,10 +9150,11 @@ val_t parser_tables___ParserTable___action_table_row212(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row213(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 3199, LOCATE_parser_tables___ParserTable___action_table_row213};
+  struct trace_t trace = {NULL, NULL, 3199, LOCATE_parser_tables___ParserTable___action_table_row213};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(12)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -8961,10 +9175,11 @@ val_t parser_tables___ParserTable___action_table_row213(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row214(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 3208, LOCATE_parser_tables___ParserTable___action_table_row214};
+  struct trace_t trace = {NULL, NULL, 3208, LOCATE_parser_tables___ParserTable___action_table_row214};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(12)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -8985,10 +9200,11 @@ val_t parser_tables___ParserTable___action_table_row214(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row215(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 3217, LOCATE_parser_tables___ParserTable___action_table_row215};
+  struct trace_t trace = {NULL, NULL, 3217, LOCATE_parser_tables___ParserTable___action_table_row215};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -9000,10 +9216,11 @@ val_t parser_tables___ParserTable___action_table_row215(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row216(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 3223, LOCATE_parser_tables___ParserTable___action_table_row216};
+  struct trace_t trace = {NULL, NULL, 3223, LOCATE_parser_tables___ParserTable___action_table_row216};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -9021,10 +9238,11 @@ val_t parser_tables___ParserTable___action_table_row216(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row217(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 3231, LOCATE_parser_tables___ParserTable___action_table_row217};
+  struct trace_t trace = {NULL, NULL, 3231, LOCATE_parser_tables___ParserTable___action_table_row217};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(12)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -9045,10 +9263,11 @@ val_t parser_tables___ParserTable___action_table_row217(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row218(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 3240, LOCATE_parser_tables___ParserTable___action_table_row218};
+  struct trace_t trace = {NULL, NULL, 3240, LOCATE_parser_tables___ParserTable___action_table_row218};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -9060,10 +9279,11 @@ val_t parser_tables___ParserTable___action_table_row218(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row219(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 3246, LOCATE_parser_tables___ParserTable___action_table_row219};
+  struct trace_t trace = {NULL, NULL, 3246, LOCATE_parser_tables___ParserTable___action_table_row219};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(12)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -9084,10 +9304,11 @@ val_t parser_tables___ParserTable___action_table_row219(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row220(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 3255, LOCATE_parser_tables___ParserTable___action_table_row220};
+  struct trace_t trace = {NULL, NULL, 3255, LOCATE_parser_tables___ParserTable___action_table_row220};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -9102,10 +9323,11 @@ val_t parser_tables___ParserTable___action_table_row220(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row221(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 3262, LOCATE_parser_tables___ParserTable___action_table_row221};
+  struct trace_t trace = {NULL, NULL, 3262, LOCATE_parser_tables___ParserTable___action_table_row221};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -9117,10 +9339,11 @@ val_t parser_tables___ParserTable___action_table_row221(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row222(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 3268, LOCATE_parser_tables___ParserTable___action_table_row222};
+  struct trace_t trace = {NULL, NULL, 3268, LOCATE_parser_tables___ParserTable___action_table_row222};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -9132,10 +9355,11 @@ val_t parser_tables___ParserTable___action_table_row222(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row223(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 3274, LOCATE_parser_tables___ParserTable___action_table_row223};
+  struct trace_t trace = {NULL, NULL, 3274, LOCATE_parser_tables___ParserTable___action_table_row223};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -9153,10 +9377,11 @@ val_t parser_tables___ParserTable___action_table_row223(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row224(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 3282, LOCATE_parser_tables___ParserTable___action_table_row224};
+  struct trace_t trace = {NULL, NULL, 3282, LOCATE_parser_tables___ParserTable___action_table_row224};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -9174,10 +9399,11 @@ val_t parser_tables___ParserTable___action_table_row224(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row225(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 3290, LOCATE_parser_tables___ParserTable___action_table_row225};
+  struct trace_t trace = {NULL, NULL, 3290, LOCATE_parser_tables___ParserTable___action_table_row225};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -9189,10 +9415,11 @@ val_t parser_tables___ParserTable___action_table_row225(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row226(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 3296, LOCATE_parser_tables___ParserTable___action_table_row226};
+  struct trace_t trace = {NULL, NULL, 3296, LOCATE_parser_tables___ParserTable___action_table_row226};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(66)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -9267,10 +9494,11 @@ val_t parser_tables___ParserTable___action_table_row226(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row227(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 3323, LOCATE_parser_tables___ParserTable___action_table_row227};
+  struct trace_t trace = {NULL, NULL, 3323, LOCATE_parser_tables___ParserTable___action_table_row227};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(57)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -9336,10 +9564,11 @@ val_t parser_tables___ParserTable___action_table_row227(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row228(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 3347, LOCATE_parser_tables___ParserTable___action_table_row228};
+  struct trace_t trace = {NULL, NULL, 3347, LOCATE_parser_tables___ParserTable___action_table_row228};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -9354,10 +9583,11 @@ val_t parser_tables___ParserTable___action_table_row228(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row229(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 3354, LOCATE_parser_tables___ParserTable___action_table_row229};
+  struct trace_t trace = {NULL, NULL, 3354, LOCATE_parser_tables___ParserTable___action_table_row229};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(54)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -9420,10 +9650,11 @@ val_t parser_tables___ParserTable___action_table_row229(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row230(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 3377, LOCATE_parser_tables___ParserTable___action_table_row230};
+  struct trace_t trace = {NULL, NULL, 3377, LOCATE_parser_tables___ParserTable___action_table_row230};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -9435,10 +9666,11 @@ val_t parser_tables___ParserTable___action_table_row230(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row231(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 3383, LOCATE_parser_tables___ParserTable___action_table_row231};
+  struct trace_t trace = {NULL, NULL, 3383, LOCATE_parser_tables___ParserTable___action_table_row231};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(69)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -9516,10 +9748,11 @@ val_t parser_tables___ParserTable___action_table_row231(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row232(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 3411, LOCATE_parser_tables___ParserTable___action_table_row232};
+  struct trace_t trace = {NULL, NULL, 3411, LOCATE_parser_tables___ParserTable___action_table_row232};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(54)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -9582,10 +9815,11 @@ val_t parser_tables___ParserTable___action_table_row232(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row233(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 3434, LOCATE_parser_tables___ParserTable___action_table_row233};
+  struct trace_t trace = {NULL, NULL, 3434, LOCATE_parser_tables___ParserTable___action_table_row233};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -9597,10 +9831,11 @@ val_t parser_tables___ParserTable___action_table_row233(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row234(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 3440, LOCATE_parser_tables___ParserTable___action_table_row234};
+  struct trace_t trace = {NULL, NULL, 3440, LOCATE_parser_tables___ParserTable___action_table_row234};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -9615,10 +9850,11 @@ val_t parser_tables___ParserTable___action_table_row234(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row235(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 3447, LOCATE_parser_tables___ParserTable___action_table_row235};
+  struct trace_t trace = {NULL, NULL, 3447, LOCATE_parser_tables___ParserTable___action_table_row235};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -9636,10 +9872,11 @@ val_t parser_tables___ParserTable___action_table_row235(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row236(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 3455, LOCATE_parser_tables___ParserTable___action_table_row236};
+  struct trace_t trace = {NULL, NULL, 3455, LOCATE_parser_tables___ParserTable___action_table_row236};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -9657,10 +9894,11 @@ val_t parser_tables___ParserTable___action_table_row236(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row237(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 3463, LOCATE_parser_tables___ParserTable___action_table_row237};
+  struct trace_t trace = {NULL, NULL, 3463, LOCATE_parser_tables___ParserTable___action_table_row237};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -9678,10 +9916,11 @@ val_t parser_tables___ParserTable___action_table_row237(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row238(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 3471, LOCATE_parser_tables___ParserTable___action_table_row238};
+  struct trace_t trace = {NULL, NULL, 3471, LOCATE_parser_tables___ParserTable___action_table_row238};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -9699,10 +9938,11 @@ val_t parser_tables___ParserTable___action_table_row238(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row239(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 3479, LOCATE_parser_tables___ParserTable___action_table_row239};
+  struct trace_t trace = {NULL, NULL, 3479, LOCATE_parser_tables___ParserTable___action_table_row239};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -9720,10 +9960,11 @@ val_t parser_tables___ParserTable___action_table_row239(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row240(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 3487, LOCATE_parser_tables___ParserTable___action_table_row240};
+  struct trace_t trace = {NULL, NULL, 3487, LOCATE_parser_tables___ParserTable___action_table_row240};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -9741,10 +9982,11 @@ val_t parser_tables___ParserTable___action_table_row240(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row241(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 3495, LOCATE_parser_tables___ParserTable___action_table_row241};
+  struct trace_t trace = {NULL, NULL, 3495, LOCATE_parser_tables___ParserTable___action_table_row241};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -9762,10 +10004,11 @@ val_t parser_tables___ParserTable___action_table_row241(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row242(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 3503, LOCATE_parser_tables___ParserTable___action_table_row242};
+  struct trace_t trace = {NULL, NULL, 3503, LOCATE_parser_tables___ParserTable___action_table_row242};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -9783,10 +10026,11 @@ val_t parser_tables___ParserTable___action_table_row242(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row243(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 3511, LOCATE_parser_tables___ParserTable___action_table_row243};
+  struct trace_t trace = {NULL, NULL, 3511, LOCATE_parser_tables___ParserTable___action_table_row243};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -9804,10 +10048,11 @@ val_t parser_tables___ParserTable___action_table_row243(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row244(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 3519, LOCATE_parser_tables___ParserTable___action_table_row244};
+  struct trace_t trace = {NULL, NULL, 3519, LOCATE_parser_tables___ParserTable___action_table_row244};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -9825,10 +10070,11 @@ val_t parser_tables___ParserTable___action_table_row244(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row245(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 3527, LOCATE_parser_tables___ParserTable___action_table_row245};
+  struct trace_t trace = {NULL, NULL, 3527, LOCATE_parser_tables___ParserTable___action_table_row245};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -9846,10 +10092,11 @@ val_t parser_tables___ParserTable___action_table_row245(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row246(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 3535, LOCATE_parser_tables___ParserTable___action_table_row246};
+  struct trace_t trace = {NULL, NULL, 3535, LOCATE_parser_tables___ParserTable___action_table_row246};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -9867,10 +10114,11 @@ val_t parser_tables___ParserTable___action_table_row246(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row247(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 3543, LOCATE_parser_tables___ParserTable___action_table_row247};
+  struct trace_t trace = {NULL, NULL, 3543, LOCATE_parser_tables___ParserTable___action_table_row247};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -9888,10 +10136,11 @@ val_t parser_tables___ParserTable___action_table_row247(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row248(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 3551, LOCATE_parser_tables___ParserTable___action_table_row248};
+  struct trace_t trace = {NULL, NULL, 3551, LOCATE_parser_tables___ParserTable___action_table_row248};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -9909,10 +10158,11 @@ val_t parser_tables___ParserTable___action_table_row248(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row249(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 3559, LOCATE_parser_tables___ParserTable___action_table_row249};
+  struct trace_t trace = {NULL, NULL, 3559, LOCATE_parser_tables___ParserTable___action_table_row249};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -9930,10 +10180,11 @@ val_t parser_tables___ParserTable___action_table_row249(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row250(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 3567, LOCATE_parser_tables___ParserTable___action_table_row250};
+  struct trace_t trace = {NULL, NULL, 3567, LOCATE_parser_tables___ParserTable___action_table_row250};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -9951,10 +10202,11 @@ val_t parser_tables___ParserTable___action_table_row250(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row251(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 3575, LOCATE_parser_tables___ParserTable___action_table_row251};
+  struct trace_t trace = {NULL, NULL, 3575, LOCATE_parser_tables___ParserTable___action_table_row251};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -9972,10 +10224,11 @@ val_t parser_tables___ParserTable___action_table_row251(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row252(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 3583, LOCATE_parser_tables___ParserTable___action_table_row252};
+  struct trace_t trace = {NULL, NULL, 3583, LOCATE_parser_tables___ParserTable___action_table_row252};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(45)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -10029,10 +10282,11 @@ val_t parser_tables___ParserTable___action_table_row252(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row253(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 3603, LOCATE_parser_tables___ParserTable___action_table_row253};
+  struct trace_t trace = {NULL, NULL, 3603, LOCATE_parser_tables___ParserTable___action_table_row253};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -10050,10 +10304,11 @@ val_t parser_tables___ParserTable___action_table_row253(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row254(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 3611, LOCATE_parser_tables___ParserTable___action_table_row254};
+  struct trace_t trace = {NULL, NULL, 3611, LOCATE_parser_tables___ParserTable___action_table_row254};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -10065,10 +10320,11 @@ val_t parser_tables___ParserTable___action_table_row254(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row255(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 3617, LOCATE_parser_tables___ParserTable___action_table_row255};
+  struct trace_t trace = {NULL, NULL, 3617, LOCATE_parser_tables___ParserTable___action_table_row255};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -10086,10 +10342,11 @@ val_t parser_tables___ParserTable___action_table_row255(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row256(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 3625, LOCATE_parser_tables___ParserTable___action_table_row256};
+  struct trace_t trace = {NULL, NULL, 3625, LOCATE_parser_tables___ParserTable___action_table_row256};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -10107,10 +10364,11 @@ val_t parser_tables___ParserTable___action_table_row256(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row257(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 3633, LOCATE_parser_tables___ParserTable___action_table_row257};
+  struct trace_t trace = {NULL, NULL, 3633, LOCATE_parser_tables___ParserTable___action_table_row257};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -10128,10 +10386,11 @@ val_t parser_tables___ParserTable___action_table_row257(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row258(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 3641, LOCATE_parser_tables___ParserTable___action_table_row258};
+  struct trace_t trace = {NULL, NULL, 3641, LOCATE_parser_tables___ParserTable___action_table_row258};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -10146,10 +10405,11 @@ val_t parser_tables___ParserTable___action_table_row258(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row259(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 3648, LOCATE_parser_tables___ParserTable___action_table_row259};
+  struct trace_t trace = {NULL, NULL, 3648, LOCATE_parser_tables___ParserTable___action_table_row259};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -10167,10 +10427,11 @@ val_t parser_tables___ParserTable___action_table_row259(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row260(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 3656, LOCATE_parser_tables___ParserTable___action_table_row260};
+  struct trace_t trace = {NULL, NULL, 3656, LOCATE_parser_tables___ParserTable___action_table_row260};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -10188,10 +10449,11 @@ val_t parser_tables___ParserTable___action_table_row260(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row261(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 3664, LOCATE_parser_tables___ParserTable___action_table_row261};
+  struct trace_t trace = {NULL, NULL, 3664, LOCATE_parser_tables___ParserTable___action_table_row261};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -10209,10 +10471,11 @@ val_t parser_tables___ParserTable___action_table_row261(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row262(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 3672, LOCATE_parser_tables___ParserTable___action_table_row262};
+  struct trace_t trace = {NULL, NULL, 3672, LOCATE_parser_tables___ParserTable___action_table_row262};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(66)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -10287,10 +10550,11 @@ val_t parser_tables___ParserTable___action_table_row262(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row263(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 3699, LOCATE_parser_tables___ParserTable___action_table_row263};
+  struct trace_t trace = {NULL, NULL, 3699, LOCATE_parser_tables___ParserTable___action_table_row263};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(63)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -10362,10 +10626,11 @@ val_t parser_tables___ParserTable___action_table_row263(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row264(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 3725, LOCATE_parser_tables___ParserTable___action_table_row264};
+  struct trace_t trace = {NULL, NULL, 3725, LOCATE_parser_tables___ParserTable___action_table_row264};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -10380,10 +10645,11 @@ val_t parser_tables___ParserTable___action_table_row264(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row265(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 3732, LOCATE_parser_tables___ParserTable___action_table_row265};
+  struct trace_t trace = {NULL, NULL, 3732, LOCATE_parser_tables___ParserTable___action_table_row265};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(60)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -10452,10 +10718,11 @@ val_t parser_tables___ParserTable___action_table_row265(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row266(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 3757, LOCATE_parser_tables___ParserTable___action_table_row266};
+  struct trace_t trace = {NULL, NULL, 3757, LOCATE_parser_tables___ParserTable___action_table_row266};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(60)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -10524,10 +10791,11 @@ val_t parser_tables___ParserTable___action_table_row266(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row267(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 3782, LOCATE_parser_tables___ParserTable___action_table_row267};
+  struct trace_t trace = {NULL, NULL, 3782, LOCATE_parser_tables___ParserTable___action_table_row267};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -10539,10 +10807,11 @@ val_t parser_tables___ParserTable___action_table_row267(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row268(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 3788, LOCATE_parser_tables___ParserTable___action_table_row268};
+  struct trace_t trace = {NULL, NULL, 3788, LOCATE_parser_tables___ParserTable___action_table_row268};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -10560,10 +10829,11 @@ val_t parser_tables___ParserTable___action_table_row268(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row269(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 3796, LOCATE_parser_tables___ParserTable___action_table_row269};
+  struct trace_t trace = {NULL, NULL, 3796, LOCATE_parser_tables___ParserTable___action_table_row269};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -10581,10 +10851,11 @@ val_t parser_tables___ParserTable___action_table_row269(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row270(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 3804, LOCATE_parser_tables___ParserTable___action_table_row270};
+  struct trace_t trace = {NULL, NULL, 3804, LOCATE_parser_tables___ParserTable___action_table_row270};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -10602,10 +10873,11 @@ val_t parser_tables___ParserTable___action_table_row270(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row271(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 3812, LOCATE_parser_tables___ParserTable___action_table_row271};
+  struct trace_t trace = {NULL, NULL, 3812, LOCATE_parser_tables___ParserTable___action_table_row271};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -10623,10 +10895,11 @@ val_t parser_tables___ParserTable___action_table_row271(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row272(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 3820, LOCATE_parser_tables___ParserTable___action_table_row272};
+  struct trace_t trace = {NULL, NULL, 3820, LOCATE_parser_tables___ParserTable___action_table_row272};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -10644,10 +10917,11 @@ val_t parser_tables___ParserTable___action_table_row272(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row273(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 3828, LOCATE_parser_tables___ParserTable___action_table_row273};
+  struct trace_t trace = {NULL, NULL, 3828, LOCATE_parser_tables___ParserTable___action_table_row273};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -10665,10 +10939,11 @@ val_t parser_tables___ParserTable___action_table_row273(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row274(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 3836, LOCATE_parser_tables___ParserTable___action_table_row274};
+  struct trace_t trace = {NULL, NULL, 3836, LOCATE_parser_tables___ParserTable___action_table_row274};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -10686,10 +10961,11 @@ val_t parser_tables___ParserTable___action_table_row274(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row275(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 3844, LOCATE_parser_tables___ParserTable___action_table_row275};
+  struct trace_t trace = {NULL, NULL, 3844, LOCATE_parser_tables___ParserTable___action_table_row275};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -10707,10 +10983,11 @@ val_t parser_tables___ParserTable___action_table_row275(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row276(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 3852, LOCATE_parser_tables___ParserTable___action_table_row276};
+  struct trace_t trace = {NULL, NULL, 3852, LOCATE_parser_tables___ParserTable___action_table_row276};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -10728,10 +11005,11 @@ val_t parser_tables___ParserTable___action_table_row276(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row277(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 3860, LOCATE_parser_tables___ParserTable___action_table_row277};
+  struct trace_t trace = {NULL, NULL, 3860, LOCATE_parser_tables___ParserTable___action_table_row277};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -10749,10 +11027,11 @@ val_t parser_tables___ParserTable___action_table_row277(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row278(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 3868, LOCATE_parser_tables___ParserTable___action_table_row278};
+  struct trace_t trace = {NULL, NULL, 3868, LOCATE_parser_tables___ParserTable___action_table_row278};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -10770,10 +11049,11 @@ val_t parser_tables___ParserTable___action_table_row278(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row279(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 3876, LOCATE_parser_tables___ParserTable___action_table_row279};
+  struct trace_t trace = {NULL, NULL, 3876, LOCATE_parser_tables___ParserTable___action_table_row279};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -10791,10 +11071,11 @@ val_t parser_tables___ParserTable___action_table_row279(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row280(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 3884, LOCATE_parser_tables___ParserTable___action_table_row280};
+  struct trace_t trace = {NULL, NULL, 3884, LOCATE_parser_tables___ParserTable___action_table_row280};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -10812,10 +11093,11 @@ val_t parser_tables___ParserTable___action_table_row280(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row281(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 3892, LOCATE_parser_tables___ParserTable___action_table_row281};
+  struct trace_t trace = {NULL, NULL, 3892, LOCATE_parser_tables___ParserTable___action_table_row281};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -10833,10 +11115,11 @@ val_t parser_tables___ParserTable___action_table_row281(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row282(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 3900, LOCATE_parser_tables___ParserTable___action_table_row282};
+  struct trace_t trace = {NULL, NULL, 3900, LOCATE_parser_tables___ParserTable___action_table_row282};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -10854,10 +11137,11 @@ val_t parser_tables___ParserTable___action_table_row282(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row283(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 3908, LOCATE_parser_tables___ParserTable___action_table_row283};
+  struct trace_t trace = {NULL, NULL, 3908, LOCATE_parser_tables___ParserTable___action_table_row283};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -10875,10 +11159,11 @@ val_t parser_tables___ParserTable___action_table_row283(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row284(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 3916, LOCATE_parser_tables___ParserTable___action_table_row284};
+  struct trace_t trace = {NULL, NULL, 3916, LOCATE_parser_tables___ParserTable___action_table_row284};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -10896,10 +11181,11 @@ val_t parser_tables___ParserTable___action_table_row284(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row285(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 3924, LOCATE_parser_tables___ParserTable___action_table_row285};
+  struct trace_t trace = {NULL, NULL, 3924, LOCATE_parser_tables___ParserTable___action_table_row285};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -10911,10 +11197,11 @@ val_t parser_tables___ParserTable___action_table_row285(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row286(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 3930, LOCATE_parser_tables___ParserTable___action_table_row286};
+  struct trace_t trace = {NULL, NULL, 3930, LOCATE_parser_tables___ParserTable___action_table_row286};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -10929,10 +11216,11 @@ val_t parser_tables___ParserTable___action_table_row286(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row287(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 3937, LOCATE_parser_tables___ParserTable___action_table_row287};
+  struct trace_t trace = {NULL, NULL, 3937, LOCATE_parser_tables___ParserTable___action_table_row287};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -10944,10 +11232,11 @@ val_t parser_tables___ParserTable___action_table_row287(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row288(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 3943, LOCATE_parser_tables___ParserTable___action_table_row288};
+  struct trace_t trace = {NULL, NULL, 3943, LOCATE_parser_tables___ParserTable___action_table_row288};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -10959,10 +11248,11 @@ val_t parser_tables___ParserTable___action_table_row288(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row289(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 3949, LOCATE_parser_tables___ParserTable___action_table_row289};
+  struct trace_t trace = {NULL, NULL, 3949, LOCATE_parser_tables___ParserTable___action_table_row289};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -10977,10 +11267,11 @@ val_t parser_tables___ParserTable___action_table_row289(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row290(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 3956, LOCATE_parser_tables___ParserTable___action_table_row290};
+  struct trace_t trace = {NULL, NULL, 3956, LOCATE_parser_tables___ParserTable___action_table_row290};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -10995,10 +11286,11 @@ val_t parser_tables___ParserTable___action_table_row290(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row291(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 3963, LOCATE_parser_tables___ParserTable___action_table_row291};
+  struct trace_t trace = {NULL, NULL, 3963, LOCATE_parser_tables___ParserTable___action_table_row291};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -11010,10 +11302,11 @@ val_t parser_tables___ParserTable___action_table_row291(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row292(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 3969, LOCATE_parser_tables___ParserTable___action_table_row292};
+  struct trace_t trace = {NULL, NULL, 3969, LOCATE_parser_tables___ParserTable___action_table_row292};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -11031,10 +11324,11 @@ val_t parser_tables___ParserTable___action_table_row292(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row293(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 3977, LOCATE_parser_tables___ParserTable___action_table_row293};
+  struct trace_t trace = {NULL, NULL, 3977, LOCATE_parser_tables___ParserTable___action_table_row293};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -11046,10 +11340,11 @@ val_t parser_tables___ParserTable___action_table_row293(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row294(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 3983, LOCATE_parser_tables___ParserTable___action_table_row294};
+  struct trace_t trace = {NULL, NULL, 3983, LOCATE_parser_tables___ParserTable___action_table_row294};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -11061,10 +11356,11 @@ val_t parser_tables___ParserTable___action_table_row294(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row295(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 3989, LOCATE_parser_tables___ParserTable___action_table_row295};
+  struct trace_t trace = {NULL, NULL, 3989, LOCATE_parser_tables___ParserTable___action_table_row295};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(66)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -11139,10 +11435,11 @@ val_t parser_tables___ParserTable___action_table_row295(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row296(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 4016, LOCATE_parser_tables___ParserTable___action_table_row296};
+  struct trace_t trace = {NULL, NULL, 4016, LOCATE_parser_tables___ParserTable___action_table_row296};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(66)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -11217,10 +11514,11 @@ val_t parser_tables___ParserTable___action_table_row296(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row297(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 4043, LOCATE_parser_tables___ParserTable___action_table_row297};
+  struct trace_t trace = {NULL, NULL, 4043, LOCATE_parser_tables___ParserTable___action_table_row297};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -11232,10 +11530,11 @@ val_t parser_tables___ParserTable___action_table_row297(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row298(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 4049, LOCATE_parser_tables___ParserTable___action_table_row298};
+  struct trace_t trace = {NULL, NULL, 4049, LOCATE_parser_tables___ParserTable___action_table_row298};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -11247,10 +11546,11 @@ val_t parser_tables___ParserTable___action_table_row298(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row299(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 4055, LOCATE_parser_tables___ParserTable___action_table_row299};
+  struct trace_t trace = {NULL, NULL, 4055, LOCATE_parser_tables___ParserTable___action_table_row299};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -11268,10 +11568,11 @@ val_t parser_tables___ParserTable___action_table_row299(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row300(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 4063, LOCATE_parser_tables___ParserTable___action_table_row300};
+  struct trace_t trace = {NULL, NULL, 4063, LOCATE_parser_tables___ParserTable___action_table_row300};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -11283,10 +11584,11 @@ val_t parser_tables___ParserTable___action_table_row300(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row301(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 4069, LOCATE_parser_tables___ParserTable___action_table_row301};
+  struct trace_t trace = {NULL, NULL, 4069, LOCATE_parser_tables___ParserTable___action_table_row301};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -11301,10 +11603,11 @@ val_t parser_tables___ParserTable___action_table_row301(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row302(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 4076, LOCATE_parser_tables___ParserTable___action_table_row302};
+  struct trace_t trace = {NULL, NULL, 4076, LOCATE_parser_tables___ParserTable___action_table_row302};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -11316,10 +11619,11 @@ val_t parser_tables___ParserTable___action_table_row302(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row303(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 4082, LOCATE_parser_tables___ParserTable___action_table_row303};
+  struct trace_t trace = {NULL, NULL, 4082, LOCATE_parser_tables___ParserTable___action_table_row303};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -11331,10 +11635,11 @@ val_t parser_tables___ParserTable___action_table_row303(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row304(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 4088, LOCATE_parser_tables___ParserTable___action_table_row304};
+  struct trace_t trace = {NULL, NULL, 4088, LOCATE_parser_tables___ParserTable___action_table_row304};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -11346,10 +11651,11 @@ val_t parser_tables___ParserTable___action_table_row304(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row305(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 4094, LOCATE_parser_tables___ParserTable___action_table_row305};
+  struct trace_t trace = {NULL, NULL, 4094, LOCATE_parser_tables___ParserTable___action_table_row305};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -11361,10 +11667,11 @@ val_t parser_tables___ParserTable___action_table_row305(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row306(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 4100, LOCATE_parser_tables___ParserTable___action_table_row306};
+  struct trace_t trace = {NULL, NULL, 4100, LOCATE_parser_tables___ParserTable___action_table_row306};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -11376,10 +11683,11 @@ val_t parser_tables___ParserTable___action_table_row306(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row307(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 4106, LOCATE_parser_tables___ParserTable___action_table_row307};
+  struct trace_t trace = {NULL, NULL, 4106, LOCATE_parser_tables___ParserTable___action_table_row307};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -11391,10 +11699,11 @@ val_t parser_tables___ParserTable___action_table_row307(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row308(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 4112, LOCATE_parser_tables___ParserTable___action_table_row308};
+  struct trace_t trace = {NULL, NULL, 4112, LOCATE_parser_tables___ParserTable___action_table_row308};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -11406,10 +11715,11 @@ val_t parser_tables___ParserTable___action_table_row308(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row309(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 4118, LOCATE_parser_tables___ParserTable___action_table_row309};
+  struct trace_t trace = {NULL, NULL, 4118, LOCATE_parser_tables___ParserTable___action_table_row309};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -11421,10 +11731,11 @@ val_t parser_tables___ParserTable___action_table_row309(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row310(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 4124, LOCATE_parser_tables___ParserTable___action_table_row310};
+  struct trace_t trace = {NULL, NULL, 4124, LOCATE_parser_tables___ParserTable___action_table_row310};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -11436,10 +11747,11 @@ val_t parser_tables___ParserTable___action_table_row310(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row311(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 4130, LOCATE_parser_tables___ParserTable___action_table_row311};
+  struct trace_t trace = {NULL, NULL, 4130, LOCATE_parser_tables___ParserTable___action_table_row311};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -11451,10 +11763,11 @@ val_t parser_tables___ParserTable___action_table_row311(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row312(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 4136, LOCATE_parser_tables___ParserTable___action_table_row312};
+  struct trace_t trace = {NULL, NULL, 4136, LOCATE_parser_tables___ParserTable___action_table_row312};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -11466,10 +11779,11 @@ val_t parser_tables___ParserTable___action_table_row312(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row313(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 4142, LOCATE_parser_tables___ParserTable___action_table_row313};
+  struct trace_t trace = {NULL, NULL, 4142, LOCATE_parser_tables___ParserTable___action_table_row313};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -11481,10 +11795,11 @@ val_t parser_tables___ParserTable___action_table_row313(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row314(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 4148, LOCATE_parser_tables___ParserTable___action_table_row314};
+  struct trace_t trace = {NULL, NULL, 4148, LOCATE_parser_tables___ParserTable___action_table_row314};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -11499,10 +11814,11 @@ val_t parser_tables___ParserTable___action_table_row314(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row315(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 4155, LOCATE_parser_tables___ParserTable___action_table_row315};
+  struct trace_t trace = {NULL, NULL, 4155, LOCATE_parser_tables___ParserTable___action_table_row315};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -11520,10 +11836,11 @@ val_t parser_tables___ParserTable___action_table_row315(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row316(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 4163, LOCATE_parser_tables___ParserTable___action_table_row316};
+  struct trace_t trace = {NULL, NULL, 4163, LOCATE_parser_tables___ParserTable___action_table_row316};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -11538,10 +11855,11 @@ val_t parser_tables___ParserTable___action_table_row316(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row317(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 4170, LOCATE_parser_tables___ParserTable___action_table_row317};
+  struct trace_t trace = {NULL, NULL, 4170, LOCATE_parser_tables___ParserTable___action_table_row317};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -11553,10 +11871,11 @@ val_t parser_tables___ParserTable___action_table_row317(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row318(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 4176, LOCATE_parser_tables___ParserTable___action_table_row318};
+  struct trace_t trace = {NULL, NULL, 4176, LOCATE_parser_tables___ParserTable___action_table_row318};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -11568,10 +11887,11 @@ val_t parser_tables___ParserTable___action_table_row318(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row319(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 4182, LOCATE_parser_tables___ParserTable___action_table_row319};
+  struct trace_t trace = {NULL, NULL, 4182, LOCATE_parser_tables___ParserTable___action_table_row319};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -11583,10 +11903,11 @@ val_t parser_tables___ParserTable___action_table_row319(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row320(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 4188, LOCATE_parser_tables___ParserTable___action_table_row320};
+  struct trace_t trace = {NULL, NULL, 4188, LOCATE_parser_tables___ParserTable___action_table_row320};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(93)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -11688,10 +12009,11 @@ val_t parser_tables___ParserTable___action_table_row320(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row321(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 4224, LOCATE_parser_tables___ParserTable___action_table_row321};
+  struct trace_t trace = {NULL, NULL, 4224, LOCATE_parser_tables___ParserTable___action_table_row321};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(66)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -11766,10 +12088,11 @@ val_t parser_tables___ParserTable___action_table_row321(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row322(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 4251, LOCATE_parser_tables___ParserTable___action_table_row322};
+  struct trace_t trace = {NULL, NULL, 4251, LOCATE_parser_tables___ParserTable___action_table_row322};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(15)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -11793,10 +12116,11 @@ val_t parser_tables___ParserTable___action_table_row322(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row323(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 4261, LOCATE_parser_tables___ParserTable___action_table_row323};
+  struct trace_t trace = {NULL, NULL, 4261, LOCATE_parser_tables___ParserTable___action_table_row323};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(66)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -11871,10 +12195,11 @@ val_t parser_tables___ParserTable___action_table_row323(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row324(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 4288, LOCATE_parser_tables___ParserTable___action_table_row324};
+  struct trace_t trace = {NULL, NULL, 4288, LOCATE_parser_tables___ParserTable___action_table_row324};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(66)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -11949,10 +12274,11 @@ val_t parser_tables___ParserTable___action_table_row324(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row325(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 4315, LOCATE_parser_tables___ParserTable___action_table_row325};
+  struct trace_t trace = {NULL, NULL, 4315, LOCATE_parser_tables___ParserTable___action_table_row325};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(66)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -12027,10 +12353,11 @@ val_t parser_tables___ParserTable___action_table_row325(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row326(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 4342, LOCATE_parser_tables___ParserTable___action_table_row326};
+  struct trace_t trace = {NULL, NULL, 4342, LOCATE_parser_tables___ParserTable___action_table_row326};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -12042,10 +12369,11 @@ val_t parser_tables___ParserTable___action_table_row326(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row327(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 4348, LOCATE_parser_tables___ParserTable___action_table_row327};
+  struct trace_t trace = {NULL, NULL, 4348, LOCATE_parser_tables___ParserTable___action_table_row327};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -12057,10 +12385,11 @@ val_t parser_tables___ParserTable___action_table_row327(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row328(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 4354, LOCATE_parser_tables___ParserTable___action_table_row328};
+  struct trace_t trace = {NULL, NULL, 4354, LOCATE_parser_tables___ParserTable___action_table_row328};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -12078,10 +12407,11 @@ val_t parser_tables___ParserTable___action_table_row328(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row329(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 4362, LOCATE_parser_tables___ParserTable___action_table_row329};
+  struct trace_t trace = {NULL, NULL, 4362, LOCATE_parser_tables___ParserTable___action_table_row329};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -12093,10 +12423,11 @@ val_t parser_tables___ParserTable___action_table_row329(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row330(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 4368, LOCATE_parser_tables___ParserTable___action_table_row330};
+  struct trace_t trace = {NULL, NULL, 4368, LOCATE_parser_tables___ParserTable___action_table_row330};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -12108,10 +12439,11 @@ val_t parser_tables___ParserTable___action_table_row330(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row331(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 4374, LOCATE_parser_tables___ParserTable___action_table_row331};
+  struct trace_t trace = {NULL, NULL, 4374, LOCATE_parser_tables___ParserTable___action_table_row331};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -12123,10 +12455,11 @@ val_t parser_tables___ParserTable___action_table_row331(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row332(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 4380, LOCATE_parser_tables___ParserTable___action_table_row332};
+  struct trace_t trace = {NULL, NULL, 4380, LOCATE_parser_tables___ParserTable___action_table_row332};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(12)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -12147,10 +12480,11 @@ val_t parser_tables___ParserTable___action_table_row332(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row333(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 4389, LOCATE_parser_tables___ParserTable___action_table_row333};
+  struct trace_t trace = {NULL, NULL, 4389, LOCATE_parser_tables___ParserTable___action_table_row333};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(12)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -12171,10 +12505,11 @@ val_t parser_tables___ParserTable___action_table_row333(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row334(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 4398, LOCATE_parser_tables___ParserTable___action_table_row334};
+  struct trace_t trace = {NULL, NULL, 4398, LOCATE_parser_tables___ParserTable___action_table_row334};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -12186,10 +12521,11 @@ val_t parser_tables___ParserTable___action_table_row334(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row335(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 4404, LOCATE_parser_tables___ParserTable___action_table_row335};
+  struct trace_t trace = {NULL, NULL, 4404, LOCATE_parser_tables___ParserTable___action_table_row335};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(12)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -12210,10 +12546,11 @@ val_t parser_tables___ParserTable___action_table_row335(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row336(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 4413, LOCATE_parser_tables___ParserTable___action_table_row336};
+  struct trace_t trace = {NULL, NULL, 4413, LOCATE_parser_tables___ParserTable___action_table_row336};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -12225,10 +12562,11 @@ val_t parser_tables___ParserTable___action_table_row336(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row337(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 4419, LOCATE_parser_tables___ParserTable___action_table_row337};
+  struct trace_t trace = {NULL, NULL, 4419, LOCATE_parser_tables___ParserTable___action_table_row337};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -12240,10 +12578,11 @@ val_t parser_tables___ParserTable___action_table_row337(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row338(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 4425, LOCATE_parser_tables___ParserTable___action_table_row338};
+  struct trace_t trace = {NULL, NULL, 4425, LOCATE_parser_tables___ParserTable___action_table_row338};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(12)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -12264,10 +12603,11 @@ val_t parser_tables___ParserTable___action_table_row338(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row339(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 4434, LOCATE_parser_tables___ParserTable___action_table_row339};
+  struct trace_t trace = {NULL, NULL, 4434, LOCATE_parser_tables___ParserTable___action_table_row339};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(12)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -12288,10 +12628,11 @@ val_t parser_tables___ParserTable___action_table_row339(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row340(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 4443, LOCATE_parser_tables___ParserTable___action_table_row340};
+  struct trace_t trace = {NULL, NULL, 4443, LOCATE_parser_tables___ParserTable___action_table_row340};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -12303,10 +12644,11 @@ val_t parser_tables___ParserTable___action_table_row340(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row341(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 4449, LOCATE_parser_tables___ParserTable___action_table_row341};
+  struct trace_t trace = {NULL, NULL, 4449, LOCATE_parser_tables___ParserTable___action_table_row341};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(12)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -12327,10 +12669,11 @@ val_t parser_tables___ParserTable___action_table_row341(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row342(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 4458, LOCATE_parser_tables___ParserTable___action_table_row342};
+  struct trace_t trace = {NULL, NULL, 4458, LOCATE_parser_tables___ParserTable___action_table_row342};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -12345,10 +12688,11 @@ val_t parser_tables___ParserTable___action_table_row342(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row343(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 4465, LOCATE_parser_tables___ParserTable___action_table_row343};
+  struct trace_t trace = {NULL, NULL, 4465, LOCATE_parser_tables___ParserTable___action_table_row343};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -12360,10 +12704,11 @@ val_t parser_tables___ParserTable___action_table_row343(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row344(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 4471, LOCATE_parser_tables___ParserTable___action_table_row344};
+  struct trace_t trace = {NULL, NULL, 4471, LOCATE_parser_tables___ParserTable___action_table_row344};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(69)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -12441,10 +12786,11 @@ val_t parser_tables___ParserTable___action_table_row344(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row345(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 4499, LOCATE_parser_tables___ParserTable___action_table_row345};
+  struct trace_t trace = {NULL, NULL, 4499, LOCATE_parser_tables___ParserTable___action_table_row345};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -12462,10 +12808,11 @@ val_t parser_tables___ParserTable___action_table_row345(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row346(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 4507, LOCATE_parser_tables___ParserTable___action_table_row346};
+  struct trace_t trace = {NULL, NULL, 4507, LOCATE_parser_tables___ParserTable___action_table_row346};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -12477,10 +12824,11 @@ val_t parser_tables___ParserTable___action_table_row346(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row347(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 4513, LOCATE_parser_tables___ParserTable___action_table_row347};
+  struct trace_t trace = {NULL, NULL, 4513, LOCATE_parser_tables___ParserTable___action_table_row347};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -12495,10 +12843,11 @@ val_t parser_tables___ParserTable___action_table_row347(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row348(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 4520, LOCATE_parser_tables___ParserTable___action_table_row348};
+  struct trace_t trace = {NULL, NULL, 4520, LOCATE_parser_tables___ParserTable___action_table_row348};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -12516,10 +12865,11 @@ val_t parser_tables___ParserTable___action_table_row348(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row349(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 4528, LOCATE_parser_tables___ParserTable___action_table_row349};
+  struct trace_t trace = {NULL, NULL, 4528, LOCATE_parser_tables___ParserTable___action_table_row349};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -12531,10 +12881,11 @@ val_t parser_tables___ParserTable___action_table_row349(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row350(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 4534, LOCATE_parser_tables___ParserTable___action_table_row350};
+  struct trace_t trace = {NULL, NULL, 4534, LOCATE_parser_tables___ParserTable___action_table_row350};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(18)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -12561,10 +12912,11 @@ val_t parser_tables___ParserTable___action_table_row350(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row351(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 4545, LOCATE_parser_tables___ParserTable___action_table_row351};
+  struct trace_t trace = {NULL, NULL, 4545, LOCATE_parser_tables___ParserTable___action_table_row351};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -12582,10 +12934,11 @@ val_t parser_tables___ParserTable___action_table_row351(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row352(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 4553, LOCATE_parser_tables___ParserTable___action_table_row352};
+  struct trace_t trace = {NULL, NULL, 4553, LOCATE_parser_tables___ParserTable___action_table_row352};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -12597,10 +12950,11 @@ val_t parser_tables___ParserTable___action_table_row352(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row353(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 4559, LOCATE_parser_tables___ParserTable___action_table_row353};
+  struct trace_t trace = {NULL, NULL, 4559, LOCATE_parser_tables___ParserTable___action_table_row353};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -12612,10 +12966,11 @@ val_t parser_tables___ParserTable___action_table_row353(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row354(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 4565, LOCATE_parser_tables___ParserTable___action_table_row354};
+  struct trace_t trace = {NULL, NULL, 4565, LOCATE_parser_tables___ParserTable___action_table_row354};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(57)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -12681,10 +13036,11 @@ val_t parser_tables___ParserTable___action_table_row354(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row355(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 4589, LOCATE_parser_tables___ParserTable___action_table_row355};
+  struct trace_t trace = {NULL, NULL, 4589, LOCATE_parser_tables___ParserTable___action_table_row355};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(57)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -12750,10 +13106,11 @@ val_t parser_tables___ParserTable___action_table_row355(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row356(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 4613, LOCATE_parser_tables___ParserTable___action_table_row356};
+  struct trace_t trace = {NULL, NULL, 4613, LOCATE_parser_tables___ParserTable___action_table_row356};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(54)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -12816,10 +13173,11 @@ val_t parser_tables___ParserTable___action_table_row356(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row357(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 4636, LOCATE_parser_tables___ParserTable___action_table_row357};
+  struct trace_t trace = {NULL, NULL, 4636, LOCATE_parser_tables___ParserTable___action_table_row357};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -12834,10 +13192,11 @@ val_t parser_tables___ParserTable___action_table_row357(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row358(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 4643, LOCATE_parser_tables___ParserTable___action_table_row358};
+  struct trace_t trace = {NULL, NULL, 4643, LOCATE_parser_tables___ParserTable___action_table_row358};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(54)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -12900,10 +13259,11 @@ val_t parser_tables___ParserTable___action_table_row358(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row359(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 4666, LOCATE_parser_tables___ParserTable___action_table_row359};
+  struct trace_t trace = {NULL, NULL, 4666, LOCATE_parser_tables___ParserTable___action_table_row359};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(54)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -12966,10 +13326,11 @@ val_t parser_tables___ParserTable___action_table_row359(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row360(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 4689, LOCATE_parser_tables___ParserTable___action_table_row360};
+  struct trace_t trace = {NULL, NULL, 4689, LOCATE_parser_tables___ParserTable___action_table_row360};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(54)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -13032,10 +13393,11 @@ val_t parser_tables___ParserTable___action_table_row360(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row361(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 4712, LOCATE_parser_tables___ParserTable___action_table_row361};
+  struct trace_t trace = {NULL, NULL, 4712, LOCATE_parser_tables___ParserTable___action_table_row361};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(54)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -13098,10 +13460,11 @@ val_t parser_tables___ParserTable___action_table_row361(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row362(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 4735, LOCATE_parser_tables___ParserTable___action_table_row362};
+  struct trace_t trace = {NULL, NULL, 4735, LOCATE_parser_tables___ParserTable___action_table_row362};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(54)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -13164,10 +13527,11 @@ val_t parser_tables___ParserTable___action_table_row362(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row363(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 4758, LOCATE_parser_tables___ParserTable___action_table_row363};
+  struct trace_t trace = {NULL, NULL, 4758, LOCATE_parser_tables___ParserTable___action_table_row363};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(54)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -13230,10 +13594,11 @@ val_t parser_tables___ParserTable___action_table_row363(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row364(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 4781, LOCATE_parser_tables___ParserTable___action_table_row364};
+  struct trace_t trace = {NULL, NULL, 4781, LOCATE_parser_tables___ParserTable___action_table_row364};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(54)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -13296,10 +13661,11 @@ val_t parser_tables___ParserTable___action_table_row364(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row365(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 4804, LOCATE_parser_tables___ParserTable___action_table_row365};
+  struct trace_t trace = {NULL, NULL, 4804, LOCATE_parser_tables___ParserTable___action_table_row365};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(54)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -13362,10 +13728,11 @@ val_t parser_tables___ParserTable___action_table_row365(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row366(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 4827, LOCATE_parser_tables___ParserTable___action_table_row366};
+  struct trace_t trace = {NULL, NULL, 4827, LOCATE_parser_tables___ParserTable___action_table_row366};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(54)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -13428,10 +13795,11 @@ val_t parser_tables___ParserTable___action_table_row366(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row367(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 4850, LOCATE_parser_tables___ParserTable___action_table_row367};
+  struct trace_t trace = {NULL, NULL, 4850, LOCATE_parser_tables___ParserTable___action_table_row367};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(54)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -13494,10 +13862,11 @@ val_t parser_tables___ParserTable___action_table_row367(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row368(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 4873, LOCATE_parser_tables___ParserTable___action_table_row368};
+  struct trace_t trace = {NULL, NULL, 4873, LOCATE_parser_tables___ParserTable___action_table_row368};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(54)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -13560,10 +13929,11 @@ val_t parser_tables___ParserTable___action_table_row368(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row369(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 4896, LOCATE_parser_tables___ParserTable___action_table_row369};
+  struct trace_t trace = {NULL, NULL, 4896, LOCATE_parser_tables___ParserTable___action_table_row369};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(54)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -13626,10 +13996,11 @@ val_t parser_tables___ParserTable___action_table_row369(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row370(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 4919, LOCATE_parser_tables___ParserTable___action_table_row370};
+  struct trace_t trace = {NULL, NULL, 4919, LOCATE_parser_tables___ParserTable___action_table_row370};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(15)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -13653,10 +14024,11 @@ val_t parser_tables___ParserTable___action_table_row370(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row371(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 4929, LOCATE_parser_tables___ParserTable___action_table_row371};
+  struct trace_t trace = {NULL, NULL, 4929, LOCATE_parser_tables___ParserTable___action_table_row371};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -13674,10 +14046,11 @@ val_t parser_tables___ParserTable___action_table_row371(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row372(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 4937, LOCATE_parser_tables___ParserTable___action_table_row372};
+  struct trace_t trace = {NULL, NULL, 4937, LOCATE_parser_tables___ParserTable___action_table_row372};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -13692,10 +14065,11 @@ val_t parser_tables___ParserTable___action_table_row372(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row373(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 4944, LOCATE_parser_tables___ParserTable___action_table_row373};
+  struct trace_t trace = {NULL, NULL, 4944, LOCATE_parser_tables___ParserTable___action_table_row373};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(87)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -13791,10 +14165,11 @@ val_t parser_tables___ParserTable___action_table_row373(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row374(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 4978, LOCATE_parser_tables___ParserTable___action_table_row374};
+  struct trace_t trace = {NULL, NULL, 4978, LOCATE_parser_tables___ParserTable___action_table_row374};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -13812,10 +14187,11 @@ val_t parser_tables___ParserTable___action_table_row374(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row375(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 4986, LOCATE_parser_tables___ParserTable___action_table_row375};
+  struct trace_t trace = {NULL, NULL, 4986, LOCATE_parser_tables___ParserTable___action_table_row375};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -13830,10 +14206,11 @@ val_t parser_tables___ParserTable___action_table_row375(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row376(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 4993, LOCATE_parser_tables___ParserTable___action_table_row376};
+  struct trace_t trace = {NULL, NULL, 4993, LOCATE_parser_tables___ParserTable___action_table_row376};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(66)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -13908,10 +14285,11 @@ val_t parser_tables___ParserTable___action_table_row376(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row377(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 5020, LOCATE_parser_tables___ParserTable___action_table_row377};
+  struct trace_t trace = {NULL, NULL, 5020, LOCATE_parser_tables___ParserTable___action_table_row377};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -13929,10 +14307,11 @@ val_t parser_tables___ParserTable___action_table_row377(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row378(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 5028, LOCATE_parser_tables___ParserTable___action_table_row378};
+  struct trace_t trace = {NULL, NULL, 5028, LOCATE_parser_tables___ParserTable___action_table_row378};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -13947,10 +14326,11 @@ val_t parser_tables___ParserTable___action_table_row378(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row379(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 5035, LOCATE_parser_tables___ParserTable___action_table_row379};
+  struct trace_t trace = {NULL, NULL, 5035, LOCATE_parser_tables___ParserTable___action_table_row379};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -13965,10 +14345,11 @@ val_t parser_tables___ParserTable___action_table_row379(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row380(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 5042, LOCATE_parser_tables___ParserTable___action_table_row380};
+  struct trace_t trace = {NULL, NULL, 5042, LOCATE_parser_tables___ParserTable___action_table_row380};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -13983,10 +14364,11 @@ val_t parser_tables___ParserTable___action_table_row380(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row381(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 5049, LOCATE_parser_tables___ParserTable___action_table_row381};
+  struct trace_t trace = {NULL, NULL, 5049, LOCATE_parser_tables___ParserTable___action_table_row381};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -14004,10 +14386,11 @@ val_t parser_tables___ParserTable___action_table_row381(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row382(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 5057, LOCATE_parser_tables___ParserTable___action_table_row382};
+  struct trace_t trace = {NULL, NULL, 5057, LOCATE_parser_tables___ParserTable___action_table_row382};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -14019,10 +14402,11 @@ val_t parser_tables___ParserTable___action_table_row382(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row383(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 5063, LOCATE_parser_tables___ParserTable___action_table_row383};
+  struct trace_t trace = {NULL, NULL, 5063, LOCATE_parser_tables___ParserTable___action_table_row383};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -14040,10 +14424,11 @@ val_t parser_tables___ParserTable___action_table_row383(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row384(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 5071, LOCATE_parser_tables___ParserTable___action_table_row384};
+  struct trace_t trace = {NULL, NULL, 5071, LOCATE_parser_tables___ParserTable___action_table_row384};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -14055,10 +14440,11 @@ val_t parser_tables___ParserTable___action_table_row384(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row385(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 5077, LOCATE_parser_tables___ParserTable___action_table_row385};
+  struct trace_t trace = {NULL, NULL, 5077, LOCATE_parser_tables___ParserTable___action_table_row385};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -14070,10 +14456,11 @@ val_t parser_tables___ParserTable___action_table_row385(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row386(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 5083, LOCATE_parser_tables___ParserTable___action_table_row386};
+  struct trace_t trace = {NULL, NULL, 5083, LOCATE_parser_tables___ParserTable___action_table_row386};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(63)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -14145,10 +14532,11 @@ val_t parser_tables___ParserTable___action_table_row386(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row387(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 5109, LOCATE_parser_tables___ParserTable___action_table_row387};
+  struct trace_t trace = {NULL, NULL, 5109, LOCATE_parser_tables___ParserTable___action_table_row387};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(63)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -14220,10 +14608,11 @@ val_t parser_tables___ParserTable___action_table_row387(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row388(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 5135, LOCATE_parser_tables___ParserTable___action_table_row388};
+  struct trace_t trace = {NULL, NULL, 5135, LOCATE_parser_tables___ParserTable___action_table_row388};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(60)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -14292,10 +14681,11 @@ val_t parser_tables___ParserTable___action_table_row388(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row389(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 5160, LOCATE_parser_tables___ParserTable___action_table_row389};
+  struct trace_t trace = {NULL, NULL, 5160, LOCATE_parser_tables___ParserTable___action_table_row389};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -14310,10 +14700,11 @@ val_t parser_tables___ParserTable___action_table_row389(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row390(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 5167, LOCATE_parser_tables___ParserTable___action_table_row390};
+  struct trace_t trace = {NULL, NULL, 5167, LOCATE_parser_tables___ParserTable___action_table_row390};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(60)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -14382,10 +14773,11 @@ val_t parser_tables___ParserTable___action_table_row390(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row391(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 5192, LOCATE_parser_tables___ParserTable___action_table_row391};
+  struct trace_t trace = {NULL, NULL, 5192, LOCATE_parser_tables___ParserTable___action_table_row391};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(60)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -14454,10 +14846,11 @@ val_t parser_tables___ParserTable___action_table_row391(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row392(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 5217, LOCATE_parser_tables___ParserTable___action_table_row392};
+  struct trace_t trace = {NULL, NULL, 5217, LOCATE_parser_tables___ParserTable___action_table_row392};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(60)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -14526,10 +14919,11 @@ val_t parser_tables___ParserTable___action_table_row392(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row393(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 5242, LOCATE_parser_tables___ParserTable___action_table_row393};
+  struct trace_t trace = {NULL, NULL, 5242, LOCATE_parser_tables___ParserTable___action_table_row393};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(60)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -14598,10 +14992,11 @@ val_t parser_tables___ParserTable___action_table_row393(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row394(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 5267, LOCATE_parser_tables___ParserTable___action_table_row394};
+  struct trace_t trace = {NULL, NULL, 5267, LOCATE_parser_tables___ParserTable___action_table_row394};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(60)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -14670,10 +15065,11 @@ val_t parser_tables___ParserTable___action_table_row394(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row395(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 5292, LOCATE_parser_tables___ParserTable___action_table_row395};
+  struct trace_t trace = {NULL, NULL, 5292, LOCATE_parser_tables___ParserTable___action_table_row395};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(60)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -14742,10 +15138,11 @@ val_t parser_tables___ParserTable___action_table_row395(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row396(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 5317, LOCATE_parser_tables___ParserTable___action_table_row396};
+  struct trace_t trace = {NULL, NULL, 5317, LOCATE_parser_tables___ParserTable___action_table_row396};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(60)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -14814,10 +15211,11 @@ val_t parser_tables___ParserTable___action_table_row396(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row397(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 5342, LOCATE_parser_tables___ParserTable___action_table_row397};
+  struct trace_t trace = {NULL, NULL, 5342, LOCATE_parser_tables___ParserTable___action_table_row397};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(60)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -14886,10 +15284,11 @@ val_t parser_tables___ParserTable___action_table_row397(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row398(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 5367, LOCATE_parser_tables___ParserTable___action_table_row398};
+  struct trace_t trace = {NULL, NULL, 5367, LOCATE_parser_tables___ParserTable___action_table_row398};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(60)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -14958,10 +15357,11 @@ val_t parser_tables___ParserTable___action_table_row398(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row399(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 5392, LOCATE_parser_tables___ParserTable___action_table_row399};
+  struct trace_t trace = {NULL, NULL, 5392, LOCATE_parser_tables___ParserTable___action_table_row399};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(60)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -15030,10 +15430,11 @@ val_t parser_tables___ParserTable___action_table_row399(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row400(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 5417, LOCATE_parser_tables___ParserTable___action_table_row400};
+  struct trace_t trace = {NULL, NULL, 5417, LOCATE_parser_tables___ParserTable___action_table_row400};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(60)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -15102,10 +15503,11 @@ val_t parser_tables___ParserTable___action_table_row400(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row401(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 5442, LOCATE_parser_tables___ParserTable___action_table_row401};
+  struct trace_t trace = {NULL, NULL, 5442, LOCATE_parser_tables___ParserTable___action_table_row401};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(60)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -15174,10 +15576,11 @@ val_t parser_tables___ParserTable___action_table_row401(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row402(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 5467, LOCATE_parser_tables___ParserTable___action_table_row402};
+  struct trace_t trace = {NULL, NULL, 5467, LOCATE_parser_tables___ParserTable___action_table_row402};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(15)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -15201,10 +15604,11 @@ val_t parser_tables___ParserTable___action_table_row402(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row403(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 5477, LOCATE_parser_tables___ParserTable___action_table_row403};
+  struct trace_t trace = {NULL, NULL, 5477, LOCATE_parser_tables___ParserTable___action_table_row403};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -15222,10 +15626,11 @@ val_t parser_tables___ParserTable___action_table_row403(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row404(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 5485, LOCATE_parser_tables___ParserTable___action_table_row404};
+  struct trace_t trace = {NULL, NULL, 5485, LOCATE_parser_tables___ParserTable___action_table_row404};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -15243,10 +15648,11 @@ val_t parser_tables___ParserTable___action_table_row404(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row405(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 5493, LOCATE_parser_tables___ParserTable___action_table_row405};
+  struct trace_t trace = {NULL, NULL, 5493, LOCATE_parser_tables___ParserTable___action_table_row405};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(12)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -15267,10 +15673,11 @@ val_t parser_tables___ParserTable___action_table_row405(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row406(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 5502, LOCATE_parser_tables___ParserTable___action_table_row406};
+  struct trace_t trace = {NULL, NULL, 5502, LOCATE_parser_tables___ParserTable___action_table_row406};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -15282,10 +15689,11 @@ val_t parser_tables___ParserTable___action_table_row406(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row407(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 5508, LOCATE_parser_tables___ParserTable___action_table_row407};
+  struct trace_t trace = {NULL, NULL, 5508, LOCATE_parser_tables___ParserTable___action_table_row407};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -15297,10 +15705,11 @@ val_t parser_tables___ParserTable___action_table_row407(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row408(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 5514, LOCATE_parser_tables___ParserTable___action_table_row408};
+  struct trace_t trace = {NULL, NULL, 5514, LOCATE_parser_tables___ParserTable___action_table_row408};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -15318,10 +15727,11 @@ val_t parser_tables___ParserTable___action_table_row408(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row409(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 5522, LOCATE_parser_tables___ParserTable___action_table_row409};
+  struct trace_t trace = {NULL, NULL, 5522, LOCATE_parser_tables___ParserTable___action_table_row409};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -15339,10 +15749,11 @@ val_t parser_tables___ParserTable___action_table_row409(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row410(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 5530, LOCATE_parser_tables___ParserTable___action_table_row410};
+  struct trace_t trace = {NULL, NULL, 5530, LOCATE_parser_tables___ParserTable___action_table_row410};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -15357,10 +15768,11 @@ val_t parser_tables___ParserTable___action_table_row410(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row411(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 5537, LOCATE_parser_tables___ParserTable___action_table_row411};
+  struct trace_t trace = {NULL, NULL, 5537, LOCATE_parser_tables___ParserTable___action_table_row411};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -15372,10 +15784,11 @@ val_t parser_tables___ParserTable___action_table_row411(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row412(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 5543, LOCATE_parser_tables___ParserTable___action_table_row412};
+  struct trace_t trace = {NULL, NULL, 5543, LOCATE_parser_tables___ParserTable___action_table_row412};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -15393,10 +15806,11 @@ val_t parser_tables___ParserTable___action_table_row412(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row413(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 5551, LOCATE_parser_tables___ParserTable___action_table_row413};
+  struct trace_t trace = {NULL, NULL, 5551, LOCATE_parser_tables___ParserTable___action_table_row413};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(12)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -15417,10 +15831,11 @@ val_t parser_tables___ParserTable___action_table_row413(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row414(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 5560, LOCATE_parser_tables___ParserTable___action_table_row414};
+  struct trace_t trace = {NULL, NULL, 5560, LOCATE_parser_tables___ParserTable___action_table_row414};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -15435,10 +15850,11 @@ val_t parser_tables___ParserTable___action_table_row414(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row415(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 5567, LOCATE_parser_tables___ParserTable___action_table_row415};
+  struct trace_t trace = {NULL, NULL, 5567, LOCATE_parser_tables___ParserTable___action_table_row415};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -15450,10 +15866,11 @@ val_t parser_tables___ParserTable___action_table_row415(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row416(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 5573, LOCATE_parser_tables___ParserTable___action_table_row416};
+  struct trace_t trace = {NULL, NULL, 5573, LOCATE_parser_tables___ParserTable___action_table_row416};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(12)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -15474,10 +15891,11 @@ val_t parser_tables___ParserTable___action_table_row416(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row417(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 5582, LOCATE_parser_tables___ParserTable___action_table_row417};
+  struct trace_t trace = {NULL, NULL, 5582, LOCATE_parser_tables___ParserTable___action_table_row417};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -15489,10 +15907,11 @@ val_t parser_tables___ParserTable___action_table_row417(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row418(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 5588, LOCATE_parser_tables___ParserTable___action_table_row418};
+  struct trace_t trace = {NULL, NULL, 5588, LOCATE_parser_tables___ParserTable___action_table_row418};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -15510,10 +15929,11 @@ val_t parser_tables___ParserTable___action_table_row418(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row419(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 5596, LOCATE_parser_tables___ParserTable___action_table_row419};
+  struct trace_t trace = {NULL, NULL, 5596, LOCATE_parser_tables___ParserTable___action_table_row419};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(69)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -15591,10 +16011,11 @@ val_t parser_tables___ParserTable___action_table_row419(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row420(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 5624, LOCATE_parser_tables___ParserTable___action_table_row420};
+  struct trace_t trace = {NULL, NULL, 5624, LOCATE_parser_tables___ParserTable___action_table_row420};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -15612,10 +16033,11 @@ val_t parser_tables___ParserTable___action_table_row420(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row421(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 5632, LOCATE_parser_tables___ParserTable___action_table_row421};
+  struct trace_t trace = {NULL, NULL, 5632, LOCATE_parser_tables___ParserTable___action_table_row421};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(75)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -15699,10 +16121,11 @@ val_t parser_tables___ParserTable___action_table_row421(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row422(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 5662, LOCATE_parser_tables___ParserTable___action_table_row422};
+  struct trace_t trace = {NULL, NULL, 5662, LOCATE_parser_tables___ParserTable___action_table_row422};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(12)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -15723,10 +16146,11 @@ val_t parser_tables___ParserTable___action_table_row422(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row423(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 5671, LOCATE_parser_tables___ParserTable___action_table_row423};
+  struct trace_t trace = {NULL, NULL, 5671, LOCATE_parser_tables___ParserTable___action_table_row423};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -15738,10 +16162,11 @@ val_t parser_tables___ParserTable___action_table_row423(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row424(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 5677, LOCATE_parser_tables___ParserTable___action_table_row424};
+  struct trace_t trace = {NULL, NULL, 5677, LOCATE_parser_tables___ParserTable___action_table_row424};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -15753,10 +16178,11 @@ val_t parser_tables___ParserTable___action_table_row424(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row425(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 5683, LOCATE_parser_tables___ParserTable___action_table_row425};
+  struct trace_t trace = {NULL, NULL, 5683, LOCATE_parser_tables___ParserTable___action_table_row425};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -15774,10 +16200,11 @@ val_t parser_tables___ParserTable___action_table_row425(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row426(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 5691, LOCATE_parser_tables___ParserTable___action_table_row426};
+  struct trace_t trace = {NULL, NULL, 5691, LOCATE_parser_tables___ParserTable___action_table_row426};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -15789,10 +16216,11 @@ val_t parser_tables___ParserTable___action_table_row426(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row427(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 5697, LOCATE_parser_tables___ParserTable___action_table_row427};
+  struct trace_t trace = {NULL, NULL, 5697, LOCATE_parser_tables___ParserTable___action_table_row427};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -15804,10 +16232,11 @@ val_t parser_tables___ParserTable___action_table_row427(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row428(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 5703, LOCATE_parser_tables___ParserTable___action_table_row428};
+  struct trace_t trace = {NULL, NULL, 5703, LOCATE_parser_tables___ParserTable___action_table_row428};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -15819,10 +16248,11 @@ val_t parser_tables___ParserTable___action_table_row428(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row429(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 5709, LOCATE_parser_tables___ParserTable___action_table_row429};
+  struct trace_t trace = {NULL, NULL, 5709, LOCATE_parser_tables___ParserTable___action_table_row429};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(12)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -15843,10 +16273,11 @@ val_t parser_tables___ParserTable___action_table_row429(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row430(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 5718, LOCATE_parser_tables___ParserTable___action_table_row430};
+  struct trace_t trace = {NULL, NULL, 5718, LOCATE_parser_tables___ParserTable___action_table_row430};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -15858,10 +16289,11 @@ val_t parser_tables___ParserTable___action_table_row430(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row431(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 5724, LOCATE_parser_tables___ParserTable___action_table_row431};
+  struct trace_t trace = {NULL, NULL, 5724, LOCATE_parser_tables___ParserTable___action_table_row431};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -15873,10 +16305,11 @@ val_t parser_tables___ParserTable___action_table_row431(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row432(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 5730, LOCATE_parser_tables___ParserTable___action_table_row432};
+  struct trace_t trace = {NULL, NULL, 5730, LOCATE_parser_tables___ParserTable___action_table_row432};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -15888,10 +16321,11 @@ val_t parser_tables___ParserTable___action_table_row432(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row433(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 5736, LOCATE_parser_tables___ParserTable___action_table_row433};
+  struct trace_t trace = {NULL, NULL, 5736, LOCATE_parser_tables___ParserTable___action_table_row433};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(12)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -15912,10 +16346,11 @@ val_t parser_tables___ParserTable___action_table_row433(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row434(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 5745, LOCATE_parser_tables___ParserTable___action_table_row434};
+  struct trace_t trace = {NULL, NULL, 5745, LOCATE_parser_tables___ParserTable___action_table_row434};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -15927,10 +16362,11 @@ val_t parser_tables___ParserTable___action_table_row434(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row435(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 5751, LOCATE_parser_tables___ParserTable___action_table_row435};
+  struct trace_t trace = {NULL, NULL, 5751, LOCATE_parser_tables___ParserTable___action_table_row435};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -15942,10 +16378,11 @@ val_t parser_tables___ParserTable___action_table_row435(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row436(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 5757, LOCATE_parser_tables___ParserTable___action_table_row436};
+  struct trace_t trace = {NULL, NULL, 5757, LOCATE_parser_tables___ParserTable___action_table_row436};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -15963,10 +16400,11 @@ val_t parser_tables___ParserTable___action_table_row436(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row437(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 5765, LOCATE_parser_tables___ParserTable___action_table_row437};
+  struct trace_t trace = {NULL, NULL, 5765, LOCATE_parser_tables___ParserTable___action_table_row437};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -15981,10 +16419,11 @@ val_t parser_tables___ParserTable___action_table_row437(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row438(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 5772, LOCATE_parser_tables___ParserTable___action_table_row438};
+  struct trace_t trace = {NULL, NULL, 5772, LOCATE_parser_tables___ParserTable___action_table_row438};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -16002,10 +16441,11 @@ val_t parser_tables___ParserTable___action_table_row438(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row439(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 5780, LOCATE_parser_tables___ParserTable___action_table_row439};
+  struct trace_t trace = {NULL, NULL, 5780, LOCATE_parser_tables___ParserTable___action_table_row439};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -16023,10 +16463,11 @@ val_t parser_tables___ParserTable___action_table_row439(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row440(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 5788, LOCATE_parser_tables___ParserTable___action_table_row440};
+  struct trace_t trace = {NULL, NULL, 5788, LOCATE_parser_tables___ParserTable___action_table_row440};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -16038,10 +16479,11 @@ val_t parser_tables___ParserTable___action_table_row440(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row441(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 5794, LOCATE_parser_tables___ParserTable___action_table_row441};
+  struct trace_t trace = {NULL, NULL, 5794, LOCATE_parser_tables___ParserTable___action_table_row441};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -16059,10 +16501,11 @@ val_t parser_tables___ParserTable___action_table_row441(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row442(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 5802, LOCATE_parser_tables___ParserTable___action_table_row442};
+  struct trace_t trace = {NULL, NULL, 5802, LOCATE_parser_tables___ParserTable___action_table_row442};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -16074,10 +16517,11 @@ val_t parser_tables___ParserTable___action_table_row442(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row443(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 5808, LOCATE_parser_tables___ParserTable___action_table_row443};
+  struct trace_t trace = {NULL, NULL, 5808, LOCATE_parser_tables___ParserTable___action_table_row443};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -16089,10 +16533,11 @@ val_t parser_tables___ParserTable___action_table_row443(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row444(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 5814, LOCATE_parser_tables___ParserTable___action_table_row444};
+  struct trace_t trace = {NULL, NULL, 5814, LOCATE_parser_tables___ParserTable___action_table_row444};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -16110,10 +16555,11 @@ val_t parser_tables___ParserTable___action_table_row444(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row445(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 5822, LOCATE_parser_tables___ParserTable___action_table_row445};
+  struct trace_t trace = {NULL, NULL, 5822, LOCATE_parser_tables___ParserTable___action_table_row445};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -16125,10 +16571,11 @@ val_t parser_tables___ParserTable___action_table_row445(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row446(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 5828, LOCATE_parser_tables___ParserTable___action_table_row446};
+  struct trace_t trace = {NULL, NULL, 5828, LOCATE_parser_tables___ParserTable___action_table_row446};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(12)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -16149,10 +16596,11 @@ val_t parser_tables___ParserTable___action_table_row446(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row447(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 5837, LOCATE_parser_tables___ParserTable___action_table_row447};
+  struct trace_t trace = {NULL, NULL, 5837, LOCATE_parser_tables___ParserTable___action_table_row447};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(12)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -16173,10 +16621,11 @@ val_t parser_tables___ParserTable___action_table_row447(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row448(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 5846, LOCATE_parser_tables___ParserTable___action_table_row448};
+  struct trace_t trace = {NULL, NULL, 5846, LOCATE_parser_tables___ParserTable___action_table_row448};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -16194,10 +16643,11 @@ val_t parser_tables___ParserTable___action_table_row448(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row449(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 5854, LOCATE_parser_tables___ParserTable___action_table_row449};
+  struct trace_t trace = {NULL, NULL, 5854, LOCATE_parser_tables___ParserTable___action_table_row449};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -16215,10 +16665,11 @@ val_t parser_tables___ParserTable___action_table_row449(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row450(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 5862, LOCATE_parser_tables___ParserTable___action_table_row450};
+  struct trace_t trace = {NULL, NULL, 5862, LOCATE_parser_tables___ParserTable___action_table_row450};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -16236,10 +16687,11 @@ val_t parser_tables___ParserTable___action_table_row450(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row451(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 5870, LOCATE_parser_tables___ParserTable___action_table_row451};
+  struct trace_t trace = {NULL, NULL, 5870, LOCATE_parser_tables___ParserTable___action_table_row451};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -16257,10 +16709,11 @@ val_t parser_tables___ParserTable___action_table_row451(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row452(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 5878, LOCATE_parser_tables___ParserTable___action_table_row452};
+  struct trace_t trace = {NULL, NULL, 5878, LOCATE_parser_tables___ParserTable___action_table_row452};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -16278,10 +16731,11 @@ val_t parser_tables___ParserTable___action_table_row452(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row453(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 5886, LOCATE_parser_tables___ParserTable___action_table_row453};
+  struct trace_t trace = {NULL, NULL, 5886, LOCATE_parser_tables___ParserTable___action_table_row453};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -16299,10 +16753,11 @@ val_t parser_tables___ParserTable___action_table_row453(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row454(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 5894, LOCATE_parser_tables___ParserTable___action_table_row454};
+  struct trace_t trace = {NULL, NULL, 5894, LOCATE_parser_tables___ParserTable___action_table_row454};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -16320,10 +16775,11 @@ val_t parser_tables___ParserTable___action_table_row454(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row455(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 5902, LOCATE_parser_tables___ParserTable___action_table_row455};
+  struct trace_t trace = {NULL, NULL, 5902, LOCATE_parser_tables___ParserTable___action_table_row455};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -16335,10 +16791,11 @@ val_t parser_tables___ParserTable___action_table_row455(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row456(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 5908, LOCATE_parser_tables___ParserTable___action_table_row456};
+  struct trace_t trace = {NULL, NULL, 5908, LOCATE_parser_tables___ParserTable___action_table_row456};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -16350,10 +16807,11 @@ val_t parser_tables___ParserTable___action_table_row456(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row457(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 5914, LOCATE_parser_tables___ParserTable___action_table_row457};
+  struct trace_t trace = {NULL, NULL, 5914, LOCATE_parser_tables___ParserTable___action_table_row457};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -16365,10 +16823,11 @@ val_t parser_tables___ParserTable___action_table_row457(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row458(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 5920, LOCATE_parser_tables___ParserTable___action_table_row458};
+  struct trace_t trace = {NULL, NULL, 5920, LOCATE_parser_tables___ParserTable___action_table_row458};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -16383,10 +16842,11 @@ val_t parser_tables___ParserTable___action_table_row458(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row459(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 5927, LOCATE_parser_tables___ParserTable___action_table_row459};
+  struct trace_t trace = {NULL, NULL, 5927, LOCATE_parser_tables___ParserTable___action_table_row459};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -16404,10 +16864,11 @@ val_t parser_tables___ParserTable___action_table_row459(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row460(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 5935, LOCATE_parser_tables___ParserTable___action_table_row460};
+  struct trace_t trace = {NULL, NULL, 5935, LOCATE_parser_tables___ParserTable___action_table_row460};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -16422,10 +16883,11 @@ val_t parser_tables___ParserTable___action_table_row460(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row461(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 5942, LOCATE_parser_tables___ParserTable___action_table_row461};
+  struct trace_t trace = {NULL, NULL, 5942, LOCATE_parser_tables___ParserTable___action_table_row461};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -16437,10 +16899,11 @@ val_t parser_tables___ParserTable___action_table_row461(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row462(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 5948, LOCATE_parser_tables___ParserTable___action_table_row462};
+  struct trace_t trace = {NULL, NULL, 5948, LOCATE_parser_tables___ParserTable___action_table_row462};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(12)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -16461,10 +16924,11 @@ val_t parser_tables___ParserTable___action_table_row462(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row463(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 5957, LOCATE_parser_tables___ParserTable___action_table_row463};
+  struct trace_t trace = {NULL, NULL, 5957, LOCATE_parser_tables___ParserTable___action_table_row463};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(12)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -16485,10 +16949,11 @@ val_t parser_tables___ParserTable___action_table_row463(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row464(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 5966, LOCATE_parser_tables___ParserTable___action_table_row464};
+  struct trace_t trace = {NULL, NULL, 5966, LOCATE_parser_tables___ParserTable___action_table_row464};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -16500,10 +16965,11 @@ val_t parser_tables___ParserTable___action_table_row464(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row465(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 5972, LOCATE_parser_tables___ParserTable___action_table_row465};
+  struct trace_t trace = {NULL, NULL, 5972, LOCATE_parser_tables___ParserTable___action_table_row465};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(87)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -16599,10 +17065,11 @@ val_t parser_tables___ParserTable___action_table_row465(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row466(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 6006, LOCATE_parser_tables___ParserTable___action_table_row466};
+  struct trace_t trace = {NULL, NULL, 6006, LOCATE_parser_tables___ParserTable___action_table_row466};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -16614,10 +17081,11 @@ val_t parser_tables___ParserTable___action_table_row466(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row467(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 6012, LOCATE_parser_tables___ParserTable___action_table_row467};
+  struct trace_t trace = {NULL, NULL, 6012, LOCATE_parser_tables___ParserTable___action_table_row467};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -16629,10 +17097,11 @@ val_t parser_tables___ParserTable___action_table_row467(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row468(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 6018, LOCATE_parser_tables___ParserTable___action_table_row468};
+  struct trace_t trace = {NULL, NULL, 6018, LOCATE_parser_tables___ParserTable___action_table_row468};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(66)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -16707,10 +17176,11 @@ val_t parser_tables___ParserTable___action_table_row468(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row469(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 6045, LOCATE_parser_tables___ParserTable___action_table_row469};
+  struct trace_t trace = {NULL, NULL, 6045, LOCATE_parser_tables___ParserTable___action_table_row469};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(96)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -16815,10 +17285,11 @@ val_t parser_tables___ParserTable___action_table_row469(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row470(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 6082, LOCATE_parser_tables___ParserTable___action_table_row470};
+  struct trace_t trace = {NULL, NULL, 6082, LOCATE_parser_tables___ParserTable___action_table_row470};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(93)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -16920,10 +17391,11 @@ val_t parser_tables___ParserTable___action_table_row470(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row471(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 6118, LOCATE_parser_tables___ParserTable___action_table_row471};
+  struct trace_t trace = {NULL, NULL, 6118, LOCATE_parser_tables___ParserTable___action_table_row471};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -16941,10 +17413,11 @@ val_t parser_tables___ParserTable___action_table_row471(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row472(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 6126, LOCATE_parser_tables___ParserTable___action_table_row472};
+  struct trace_t trace = {NULL, NULL, 6126, LOCATE_parser_tables___ParserTable___action_table_row472};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -16959,10 +17432,11 @@ val_t parser_tables___ParserTable___action_table_row472(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row473(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 6133, LOCATE_parser_tables___ParserTable___action_table_row473};
+  struct trace_t trace = {NULL, NULL, 6133, LOCATE_parser_tables___ParserTable___action_table_row473};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -16974,10 +17448,11 @@ val_t parser_tables___ParserTable___action_table_row473(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row474(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 6139, LOCATE_parser_tables___ParserTable___action_table_row474};
+  struct trace_t trace = {NULL, NULL, 6139, LOCATE_parser_tables___ParserTable___action_table_row474};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -16989,10 +17464,11 @@ val_t parser_tables___ParserTable___action_table_row474(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row475(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 6145, LOCATE_parser_tables___ParserTable___action_table_row475};
+  struct trace_t trace = {NULL, NULL, 6145, LOCATE_parser_tables___ParserTable___action_table_row475};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -17004,10 +17480,11 @@ val_t parser_tables___ParserTable___action_table_row475(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row476(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 6151, LOCATE_parser_tables___ParserTable___action_table_row476};
+  struct trace_t trace = {NULL, NULL, 6151, LOCATE_parser_tables___ParserTable___action_table_row476};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -17025,10 +17502,11 @@ val_t parser_tables___ParserTable___action_table_row476(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row477(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 6159, LOCATE_parser_tables___ParserTable___action_table_row477};
+  struct trace_t trace = {NULL, NULL, 6159, LOCATE_parser_tables___ParserTable___action_table_row477};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -17040,10 +17518,11 @@ val_t parser_tables___ParserTable___action_table_row477(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row478(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 6165, LOCATE_parser_tables___ParserTable___action_table_row478};
+  struct trace_t trace = {NULL, NULL, 6165, LOCATE_parser_tables___ParserTable___action_table_row478};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(12)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -17064,10 +17543,11 @@ val_t parser_tables___ParserTable___action_table_row478(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row479(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 6174, LOCATE_parser_tables___ParserTable___action_table_row479};
+  struct trace_t trace = {NULL, NULL, 6174, LOCATE_parser_tables___ParserTable___action_table_row479};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(12)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -17088,10 +17568,11 @@ val_t parser_tables___ParserTable___action_table_row479(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row480(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 6183, LOCATE_parser_tables___ParserTable___action_table_row480};
+  struct trace_t trace = {NULL, NULL, 6183, LOCATE_parser_tables___ParserTable___action_table_row480};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -17109,10 +17590,11 @@ val_t parser_tables___ParserTable___action_table_row480(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row481(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 6191, LOCATE_parser_tables___ParserTable___action_table_row481};
+  struct trace_t trace = {NULL, NULL, 6191, LOCATE_parser_tables___ParserTable___action_table_row481};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -17130,10 +17612,11 @@ val_t parser_tables___ParserTable___action_table_row481(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row482(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 6199, LOCATE_parser_tables___ParserTable___action_table_row482};
+  struct trace_t trace = {NULL, NULL, 6199, LOCATE_parser_tables___ParserTable___action_table_row482};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -17151,10 +17634,11 @@ val_t parser_tables___ParserTable___action_table_row482(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row483(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 6207, LOCATE_parser_tables___ParserTable___action_table_row483};
+  struct trace_t trace = {NULL, NULL, 6207, LOCATE_parser_tables___ParserTable___action_table_row483};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -17172,10 +17656,11 @@ val_t parser_tables___ParserTable___action_table_row483(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row484(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 6215, LOCATE_parser_tables___ParserTable___action_table_row484};
+  struct trace_t trace = {NULL, NULL, 6215, LOCATE_parser_tables___ParserTable___action_table_row484};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -17193,10 +17678,11 @@ val_t parser_tables___ParserTable___action_table_row484(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row485(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 6223, LOCATE_parser_tables___ParserTable___action_table_row485};
+  struct trace_t trace = {NULL, NULL, 6223, LOCATE_parser_tables___ParserTable___action_table_row485};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -17214,10 +17700,11 @@ val_t parser_tables___ParserTable___action_table_row485(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row486(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 6231, LOCATE_parser_tables___ParserTable___action_table_row486};
+  struct trace_t trace = {NULL, NULL, 6231, LOCATE_parser_tables___ParserTable___action_table_row486};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -17235,10 +17722,11 @@ val_t parser_tables___ParserTable___action_table_row486(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row487(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 6239, LOCATE_parser_tables___ParserTable___action_table_row487};
+  struct trace_t trace = {NULL, NULL, 6239, LOCATE_parser_tables___ParserTable___action_table_row487};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -17250,10 +17738,11 @@ val_t parser_tables___ParserTable___action_table_row487(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row488(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 6245, LOCATE_parser_tables___ParserTable___action_table_row488};
+  struct trace_t trace = {NULL, NULL, 6245, LOCATE_parser_tables___ParserTable___action_table_row488};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -17265,10 +17754,11 @@ val_t parser_tables___ParserTable___action_table_row488(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row489(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 6251, LOCATE_parser_tables___ParserTable___action_table_row489};
+  struct trace_t trace = {NULL, NULL, 6251, LOCATE_parser_tables___ParserTable___action_table_row489};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -17280,10 +17770,11 @@ val_t parser_tables___ParserTable___action_table_row489(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row490(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 6257, LOCATE_parser_tables___ParserTable___action_table_row490};
+  struct trace_t trace = {NULL, NULL, 6257, LOCATE_parser_tables___ParserTable___action_table_row490};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -17298,10 +17789,11 @@ val_t parser_tables___ParserTable___action_table_row490(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row491(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 6264, LOCATE_parser_tables___ParserTable___action_table_row491};
+  struct trace_t trace = {NULL, NULL, 6264, LOCATE_parser_tables___ParserTable___action_table_row491};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -17316,10 +17808,11 @@ val_t parser_tables___ParserTable___action_table_row491(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row492(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 6271, LOCATE_parser_tables___ParserTable___action_table_row492};
+  struct trace_t trace = {NULL, NULL, 6271, LOCATE_parser_tables___ParserTable___action_table_row492};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -17331,10 +17824,11 @@ val_t parser_tables___ParserTable___action_table_row492(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row493(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 6277, LOCATE_parser_tables___ParserTable___action_table_row493};
+  struct trace_t trace = {NULL, NULL, 6277, LOCATE_parser_tables___ParserTable___action_table_row493};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -17349,10 +17843,11 @@ val_t parser_tables___ParserTable___action_table_row493(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row494(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 6284, LOCATE_parser_tables___ParserTable___action_table_row494};
+  struct trace_t trace = {NULL, NULL, 6284, LOCATE_parser_tables___ParserTable___action_table_row494};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -17367,10 +17862,11 @@ val_t parser_tables___ParserTable___action_table_row494(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row495(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 6291, LOCATE_parser_tables___ParserTable___action_table_row495};
+  struct trace_t trace = {NULL, NULL, 6291, LOCATE_parser_tables___ParserTable___action_table_row495};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -17382,10 +17878,11 @@ val_t parser_tables___ParserTable___action_table_row495(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row496(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 6297, LOCATE_parser_tables___ParserTable___action_table_row496};
+  struct trace_t trace = {NULL, NULL, 6297, LOCATE_parser_tables___ParserTable___action_table_row496};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -17403,10 +17900,11 @@ val_t parser_tables___ParserTable___action_table_row496(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row497(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 6305, LOCATE_parser_tables___ParserTable___action_table_row497};
+  struct trace_t trace = {NULL, NULL, 6305, LOCATE_parser_tables___ParserTable___action_table_row497};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -17424,10 +17922,11 @@ val_t parser_tables___ParserTable___action_table_row497(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row498(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 6313, LOCATE_parser_tables___ParserTable___action_table_row498};
+  struct trace_t trace = {NULL, NULL, 6313, LOCATE_parser_tables___ParserTable___action_table_row498};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -17439,10 +17938,11 @@ val_t parser_tables___ParserTable___action_table_row498(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row499(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 6319, LOCATE_parser_tables___ParserTable___action_table_row499};
+  struct trace_t trace = {NULL, NULL, 6319, LOCATE_parser_tables___ParserTable___action_table_row499};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -17460,10 +17960,11 @@ val_t parser_tables___ParserTable___action_table_row499(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row500(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 6327, LOCATE_parser_tables___ParserTable___action_table_row500};
+  struct trace_t trace = {NULL, NULL, 6327, LOCATE_parser_tables___ParserTable___action_table_row500};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -17475,10 +17976,11 @@ val_t parser_tables___ParserTable___action_table_row500(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row501(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 6333, LOCATE_parser_tables___ParserTable___action_table_row501};
+  struct trace_t trace = {NULL, NULL, 6333, LOCATE_parser_tables___ParserTable___action_table_row501};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -17490,10 +17992,11 @@ val_t parser_tables___ParserTable___action_table_row501(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row502(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 6339, LOCATE_parser_tables___ParserTable___action_table_row502};
+  struct trace_t trace = {NULL, NULL, 6339, LOCATE_parser_tables___ParserTable___action_table_row502};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -17505,10 +18008,11 @@ val_t parser_tables___ParserTable___action_table_row502(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row503(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 6345, LOCATE_parser_tables___ParserTable___action_table_row503};
+  struct trace_t trace = {NULL, NULL, 6345, LOCATE_parser_tables___ParserTable___action_table_row503};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -17526,10 +18030,11 @@ val_t parser_tables___ParserTable___action_table_row503(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row504(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 6353, LOCATE_parser_tables___ParserTable___action_table_row504};
+  struct trace_t trace = {NULL, NULL, 6353, LOCATE_parser_tables___ParserTable___action_table_row504};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -17544,10 +18049,11 @@ val_t parser_tables___ParserTable___action_table_row504(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row505(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 6360, LOCATE_parser_tables___ParserTable___action_table_row505};
+  struct trace_t trace = {NULL, NULL, 6360, LOCATE_parser_tables___ParserTable___action_table_row505};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -17562,10 +18068,11 @@ val_t parser_tables___ParserTable___action_table_row505(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row506(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 6367, LOCATE_parser_tables___ParserTable___action_table_row506};
+  struct trace_t trace = {NULL, NULL, 6367, LOCATE_parser_tables___ParserTable___action_table_row506};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -17577,10 +18084,11 @@ val_t parser_tables___ParserTable___action_table_row506(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row507(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 6373, LOCATE_parser_tables___ParserTable___action_table_row507};
+  struct trace_t trace = {NULL, NULL, 6373, LOCATE_parser_tables___ParserTable___action_table_row507};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -17598,10 +18106,11 @@ val_t parser_tables___ParserTable___action_table_row507(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row508(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 6381, LOCATE_parser_tables___ParserTable___action_table_row508};
+  struct trace_t trace = {NULL, NULL, 6381, LOCATE_parser_tables___ParserTable___action_table_row508};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -17619,10 +18128,11 @@ val_t parser_tables___ParserTable___action_table_row508(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row509(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 6389, LOCATE_parser_tables___ParserTable___action_table_row509};
+  struct trace_t trace = {NULL, NULL, 6389, LOCATE_parser_tables___ParserTable___action_table_row509};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -17634,10 +18144,11 @@ val_t parser_tables___ParserTable___action_table_row509(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row510(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 6395, LOCATE_parser_tables___ParserTable___action_table_row510};
+  struct trace_t trace = {NULL, NULL, 6395, LOCATE_parser_tables___ParserTable___action_table_row510};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -17655,10 +18166,11 @@ val_t parser_tables___ParserTable___action_table_row510(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row511(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 6403, LOCATE_parser_tables___ParserTable___action_table_row511};
+  struct trace_t trace = {NULL, NULL, 6403, LOCATE_parser_tables___ParserTable___action_table_row511};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(27)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -17694,10 +18206,11 @@ val_t parser_tables___ParserTable___action_table_row511(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row512(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 6417, LOCATE_parser_tables___ParserTable___action_table_row512};
+  struct trace_t trace = {NULL, NULL, 6417, LOCATE_parser_tables___ParserTable___action_table_row512};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -17715,10 +18228,11 @@ val_t parser_tables___ParserTable___action_table_row512(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row513(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 6425, LOCATE_parser_tables___ParserTable___action_table_row513};
+  struct trace_t trace = {NULL, NULL, 6425, LOCATE_parser_tables___ParserTable___action_table_row513};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -17736,10 +18250,11 @@ val_t parser_tables___ParserTable___action_table_row513(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row514(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 6433, LOCATE_parser_tables___ParserTable___action_table_row514};
+  struct trace_t trace = {NULL, NULL, 6433, LOCATE_parser_tables___ParserTable___action_table_row514};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -17751,10 +18266,11 @@ val_t parser_tables___ParserTable___action_table_row514(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row515(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 6439, LOCATE_parser_tables___ParserTable___action_table_row515};
+  struct trace_t trace = {NULL, NULL, 6439, LOCATE_parser_tables___ParserTable___action_table_row515};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -17766,10 +18282,11 @@ val_t parser_tables___ParserTable___action_table_row515(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row516(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 6445, LOCATE_parser_tables___ParserTable___action_table_row516};
+  struct trace_t trace = {NULL, NULL, 6445, LOCATE_parser_tables___ParserTable___action_table_row516};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -17784,10 +18301,11 @@ val_t parser_tables___ParserTable___action_table_row516(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row517(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 6452, LOCATE_parser_tables___ParserTable___action_table_row517};
+  struct trace_t trace = {NULL, NULL, 6452, LOCATE_parser_tables___ParserTable___action_table_row517};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(12)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -17808,10 +18326,11 @@ val_t parser_tables___ParserTable___action_table_row517(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row518(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 6461, LOCATE_parser_tables___ParserTable___action_table_row518};
+  struct trace_t trace = {NULL, NULL, 6461, LOCATE_parser_tables___ParserTable___action_table_row518};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -17823,10 +18342,11 @@ val_t parser_tables___ParserTable___action_table_row518(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row519(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 6467, LOCATE_parser_tables___ParserTable___action_table_row519};
+  struct trace_t trace = {NULL, NULL, 6467, LOCATE_parser_tables___ParserTable___action_table_row519};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(66)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -17901,10 +18421,11 @@ val_t parser_tables___ParserTable___action_table_row519(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row520(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 6494, LOCATE_parser_tables___ParserTable___action_table_row520};
+  struct trace_t trace = {NULL, NULL, 6494, LOCATE_parser_tables___ParserTable___action_table_row520};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(66)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -17979,10 +18500,11 @@ val_t parser_tables___ParserTable___action_table_row520(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row521(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 6521, LOCATE_parser_tables___ParserTable___action_table_row521};
+  struct trace_t trace = {NULL, NULL, 6521, LOCATE_parser_tables___ParserTable___action_table_row521};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -17994,10 +18516,11 @@ val_t parser_tables___ParserTable___action_table_row521(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row522(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 6527, LOCATE_parser_tables___ParserTable___action_table_row522};
+  struct trace_t trace = {NULL, NULL, 6527, LOCATE_parser_tables___ParserTable___action_table_row522};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -18009,10 +18532,11 @@ val_t parser_tables___ParserTable___action_table_row522(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row523(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 6533, LOCATE_parser_tables___ParserTable___action_table_row523};
+  struct trace_t trace = {NULL, NULL, 6533, LOCATE_parser_tables___ParserTable___action_table_row523};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -18024,10 +18548,11 @@ val_t parser_tables___ParserTable___action_table_row523(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row524(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 6539, LOCATE_parser_tables___ParserTable___action_table_row524};
+  struct trace_t trace = {NULL, NULL, 6539, LOCATE_parser_tables___ParserTable___action_table_row524};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -18045,10 +18570,11 @@ val_t parser_tables___ParserTable___action_table_row524(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row525(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 6547, LOCATE_parser_tables___ParserTable___action_table_row525};
+  struct trace_t trace = {NULL, NULL, 6547, LOCATE_parser_tables___ParserTable___action_table_row525};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -18066,10 +18592,11 @@ val_t parser_tables___ParserTable___action_table_row525(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row526(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 6555, LOCATE_parser_tables___ParserTable___action_table_row526};
+  struct trace_t trace = {NULL, NULL, 6555, LOCATE_parser_tables___ParserTable___action_table_row526};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -18084,10 +18611,11 @@ val_t parser_tables___ParserTable___action_table_row526(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row527(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 6562, LOCATE_parser_tables___ParserTable___action_table_row527};
+  struct trace_t trace = {NULL, NULL, 6562, LOCATE_parser_tables___ParserTable___action_table_row527};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -18102,10 +18630,11 @@ val_t parser_tables___ParserTable___action_table_row527(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row528(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 6569, LOCATE_parser_tables___ParserTable___action_table_row528};
+  struct trace_t trace = {NULL, NULL, 6569, LOCATE_parser_tables___ParserTable___action_table_row528};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(18)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -18132,10 +18661,11 @@ val_t parser_tables___ParserTable___action_table_row528(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row529(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 6580, LOCATE_parser_tables___ParserTable___action_table_row529};
+  struct trace_t trace = {NULL, NULL, 6580, LOCATE_parser_tables___ParserTable___action_table_row529};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -18153,10 +18683,11 @@ val_t parser_tables___ParserTable___action_table_row529(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row530(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 6588, LOCATE_parser_tables___ParserTable___action_table_row530};
+  struct trace_t trace = {NULL, NULL, 6588, LOCATE_parser_tables___ParserTable___action_table_row530};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -18168,10 +18699,11 @@ val_t parser_tables___ParserTable___action_table_row530(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row531(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 6594, LOCATE_parser_tables___ParserTable___action_table_row531};
+  struct trace_t trace = {NULL, NULL, 6594, LOCATE_parser_tables___ParserTable___action_table_row531};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -18186,10 +18718,11 @@ val_t parser_tables___ParserTable___action_table_row531(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row532(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 6601, LOCATE_parser_tables___ParserTable___action_table_row532};
+  struct trace_t trace = {NULL, NULL, 6601, LOCATE_parser_tables___ParserTable___action_table_row532};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -18201,10 +18734,11 @@ val_t parser_tables___ParserTable___action_table_row532(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row533(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 6607, LOCATE_parser_tables___ParserTable___action_table_row533};
+  struct trace_t trace = {NULL, NULL, 6607, LOCATE_parser_tables___ParserTable___action_table_row533};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -18219,10 +18753,11 @@ val_t parser_tables___ParserTable___action_table_row533(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row534(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 6614, LOCATE_parser_tables___ParserTable___action_table_row534};
+  struct trace_t trace = {NULL, NULL, 6614, LOCATE_parser_tables___ParserTable___action_table_row534};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -18237,10 +18772,11 @@ val_t parser_tables___ParserTable___action_table_row534(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row535(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 6621, LOCATE_parser_tables___ParserTable___action_table_row535};
+  struct trace_t trace = {NULL, NULL, 6621, LOCATE_parser_tables___ParserTable___action_table_row535};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -18258,10 +18794,11 @@ val_t parser_tables___ParserTable___action_table_row535(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row536(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 6629, LOCATE_parser_tables___ParserTable___action_table_row536};
+  struct trace_t trace = {NULL, NULL, 6629, LOCATE_parser_tables___ParserTable___action_table_row536};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -18279,10 +18816,11 @@ val_t parser_tables___ParserTable___action_table_row536(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row537(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 6637, LOCATE_parser_tables___ParserTable___action_table_row537};
+  struct trace_t trace = {NULL, NULL, 6637, LOCATE_parser_tables___ParserTable___action_table_row537};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(27)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -18318,10 +18856,11 @@ val_t parser_tables___ParserTable___action_table_row537(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row538(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 6651, LOCATE_parser_tables___ParserTable___action_table_row538};
+  struct trace_t trace = {NULL, NULL, 6651, LOCATE_parser_tables___ParserTable___action_table_row538};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -18339,10 +18878,11 @@ val_t parser_tables___ParserTable___action_table_row538(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row539(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 6659, LOCATE_parser_tables___ParserTable___action_table_row539};
+  struct trace_t trace = {NULL, NULL, 6659, LOCATE_parser_tables___ParserTable___action_table_row539};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -18354,10 +18894,11 @@ val_t parser_tables___ParserTable___action_table_row539(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row540(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 6665, LOCATE_parser_tables___ParserTable___action_table_row540};
+  struct trace_t trace = {NULL, NULL, 6665, LOCATE_parser_tables___ParserTable___action_table_row540};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -18369,10 +18910,11 @@ val_t parser_tables___ParserTable___action_table_row540(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row541(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 6671, LOCATE_parser_tables___ParserTable___action_table_row541};
+  struct trace_t trace = {NULL, NULL, 6671, LOCATE_parser_tables___ParserTable___action_table_row541};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -18384,10 +18926,11 @@ val_t parser_tables___ParserTable___action_table_row541(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row542(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 6677, LOCATE_parser_tables___ParserTable___action_table_row542};
+  struct trace_t trace = {NULL, NULL, 6677, LOCATE_parser_tables___ParserTable___action_table_row542};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(69)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -18465,10 +19008,11 @@ val_t parser_tables___ParserTable___action_table_row542(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row543(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 6705, LOCATE_parser_tables___ParserTable___action_table_row543};
+  struct trace_t trace = {NULL, NULL, 6705, LOCATE_parser_tables___ParserTable___action_table_row543};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(93)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -18570,10 +19114,11 @@ val_t parser_tables___ParserTable___action_table_row543(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row544(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 6741, LOCATE_parser_tables___ParserTable___action_table_row544};
+  struct trace_t trace = {NULL, NULL, 6741, LOCATE_parser_tables___ParserTable___action_table_row544};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -18591,10 +19136,11 @@ val_t parser_tables___ParserTable___action_table_row544(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row545(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 6749, LOCATE_parser_tables___ParserTable___action_table_row545};
+  struct trace_t trace = {NULL, NULL, 6749, LOCATE_parser_tables___ParserTable___action_table_row545};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(93)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -18696,10 +19242,11 @@ val_t parser_tables___ParserTable___action_table_row545(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row546(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 6785, LOCATE_parser_tables___ParserTable___action_table_row546};
+  struct trace_t trace = {NULL, NULL, 6785, LOCATE_parser_tables___ParserTable___action_table_row546};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -18717,10 +19264,11 @@ val_t parser_tables___ParserTable___action_table_row546(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row547(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 6793, LOCATE_parser_tables___ParserTable___action_table_row547};
+  struct trace_t trace = {NULL, NULL, 6793, LOCATE_parser_tables___ParserTable___action_table_row547};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(69)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -18798,10 +19346,11 @@ val_t parser_tables___ParserTable___action_table_row547(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row548(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 6821, LOCATE_parser_tables___ParserTable___action_table_row548};
+  struct trace_t trace = {NULL, NULL, 6821, LOCATE_parser_tables___ParserTable___action_table_row548};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -18816,10 +19365,11 @@ val_t parser_tables___ParserTable___action_table_row548(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row549(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 6828, LOCATE_parser_tables___ParserTable___action_table_row549};
+  struct trace_t trace = {NULL, NULL, 6828, LOCATE_parser_tables___ParserTable___action_table_row549};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -18834,10 +19384,11 @@ val_t parser_tables___ParserTable___action_table_row549(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row550(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 6835, LOCATE_parser_tables___ParserTable___action_table_row550};
+  struct trace_t trace = {NULL, NULL, 6835, LOCATE_parser_tables___ParserTable___action_table_row550};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -18852,10 +19403,11 @@ val_t parser_tables___ParserTable___action_table_row550(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row551(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 6842, LOCATE_parser_tables___ParserTable___action_table_row551};
+  struct trace_t trace = {NULL, NULL, 6842, LOCATE_parser_tables___ParserTable___action_table_row551};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(69)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -18933,10 +19485,11 @@ val_t parser_tables___ParserTable___action_table_row551(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row552(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 6870, LOCATE_parser_tables___ParserTable___action_table_row552};
+  struct trace_t trace = {NULL, NULL, 6870, LOCATE_parser_tables___ParserTable___action_table_row552};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(81)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -19026,10 +19579,11 @@ val_t parser_tables___ParserTable___action_table_row552(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row553(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 6902, LOCATE_parser_tables___ParserTable___action_table_row553};
+  struct trace_t trace = {NULL, NULL, 6902, LOCATE_parser_tables___ParserTable___action_table_row553};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -19041,10 +19595,11 @@ val_t parser_tables___ParserTable___action_table_row553(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row554(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 6908, LOCATE_parser_tables___ParserTable___action_table_row554};
+  struct trace_t trace = {NULL, NULL, 6908, LOCATE_parser_tables___ParserTable___action_table_row554};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -19059,10 +19614,11 @@ val_t parser_tables___ParserTable___action_table_row554(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row555(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 6915, LOCATE_parser_tables___ParserTable___action_table_row555};
+  struct trace_t trace = {NULL, NULL, 6915, LOCATE_parser_tables___ParserTable___action_table_row555};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -19077,10 +19633,11 @@ val_t parser_tables___ParserTable___action_table_row555(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row556(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 6922, LOCATE_parser_tables___ParserTable___action_table_row556};
+  struct trace_t trace = {NULL, NULL, 6922, LOCATE_parser_tables___ParserTable___action_table_row556};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -19092,10 +19649,11 @@ val_t parser_tables___ParserTable___action_table_row556(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row557(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 6928, LOCATE_parser_tables___ParserTable___action_table_row557};
+  struct trace_t trace = {NULL, NULL, 6928, LOCATE_parser_tables___ParserTable___action_table_row557};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -19113,10 +19671,11 @@ val_t parser_tables___ParserTable___action_table_row557(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row558(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 6936, LOCATE_parser_tables___ParserTable___action_table_row558};
+  struct trace_t trace = {NULL, NULL, 6936, LOCATE_parser_tables___ParserTable___action_table_row558};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -19131,10 +19690,11 @@ val_t parser_tables___ParserTable___action_table_row558(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row559(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 6943, LOCATE_parser_tables___ParserTable___action_table_row559};
+  struct trace_t trace = {NULL, NULL, 6943, LOCATE_parser_tables___ParserTable___action_table_row559};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -19152,10 +19712,11 @@ val_t parser_tables___ParserTable___action_table_row559(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row560(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 6951, LOCATE_parser_tables___ParserTable___action_table_row560};
+  struct trace_t trace = {NULL, NULL, 6951, LOCATE_parser_tables___ParserTable___action_table_row560};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -19170,10 +19731,11 @@ val_t parser_tables___ParserTable___action_table_row560(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row561(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 6958, LOCATE_parser_tables___ParserTable___action_table_row561};
+  struct trace_t trace = {NULL, NULL, 6958, LOCATE_parser_tables___ParserTable___action_table_row561};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(90)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -19272,10 +19834,11 @@ val_t parser_tables___ParserTable___action_table_row561(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row562(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 6993, LOCATE_parser_tables___ParserTable___action_table_row562};
+  struct trace_t trace = {NULL, NULL, 6993, LOCATE_parser_tables___ParserTable___action_table_row562};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -19290,10 +19853,11 @@ val_t parser_tables___ParserTable___action_table_row562(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row563(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 7000, LOCATE_parser_tables___ParserTable___action_table_row563};
+  struct trace_t trace = {NULL, NULL, 7000, LOCATE_parser_tables___ParserTable___action_table_row563};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -19305,10 +19869,11 @@ val_t parser_tables___ParserTable___action_table_row563(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row564(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 7006, LOCATE_parser_tables___ParserTable___action_table_row564};
+  struct trace_t trace = {NULL, NULL, 7006, LOCATE_parser_tables___ParserTable___action_table_row564};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -19320,10 +19885,11 @@ val_t parser_tables___ParserTable___action_table_row564(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row565(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 7012, LOCATE_parser_tables___ParserTable___action_table_row565};
+  struct trace_t trace = {NULL, NULL, 7012, LOCATE_parser_tables___ParserTable___action_table_row565};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -19335,10 +19901,11 @@ val_t parser_tables___ParserTable___action_table_row565(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row566(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 7018, LOCATE_parser_tables___ParserTable___action_table_row566};
+  struct trace_t trace = {NULL, NULL, 7018, LOCATE_parser_tables___ParserTable___action_table_row566};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -19350,10 +19917,11 @@ val_t parser_tables___ParserTable___action_table_row566(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row567(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 7024, LOCATE_parser_tables___ParserTable___action_table_row567};
+  struct trace_t trace = {NULL, NULL, 7024, LOCATE_parser_tables___ParserTable___action_table_row567};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -19365,10 +19933,11 @@ val_t parser_tables___ParserTable___action_table_row567(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row568(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 7030, LOCATE_parser_tables___ParserTable___action_table_row568};
+  struct trace_t trace = {NULL, NULL, 7030, LOCATE_parser_tables___ParserTable___action_table_row568};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(66)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -19443,10 +20012,11 @@ val_t parser_tables___ParserTable___action_table_row568(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row569(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 7057, LOCATE_parser_tables___ParserTable___action_table_row569};
+  struct trace_t trace = {NULL, NULL, 7057, LOCATE_parser_tables___ParserTable___action_table_row569};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -19464,10 +20034,11 @@ val_t parser_tables___ParserTable___action_table_row569(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row570(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 7065, LOCATE_parser_tables___ParserTable___action_table_row570};
+  struct trace_t trace = {NULL, NULL, 7065, LOCATE_parser_tables___ParserTable___action_table_row570};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -19479,10 +20050,11 @@ val_t parser_tables___ParserTable___action_table_row570(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row571(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 7071, LOCATE_parser_tables___ParserTable___action_table_row571};
+  struct trace_t trace = {NULL, NULL, 7071, LOCATE_parser_tables___ParserTable___action_table_row571};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -19497,10 +20069,11 @@ val_t parser_tables___ParserTable___action_table_row571(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row572(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 7078, LOCATE_parser_tables___ParserTable___action_table_row572};
+  struct trace_t trace = {NULL, NULL, 7078, LOCATE_parser_tables___ParserTable___action_table_row572};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -19518,10 +20091,11 @@ val_t parser_tables___ParserTable___action_table_row572(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row573(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 7086, LOCATE_parser_tables___ParserTable___action_table_row573};
+  struct trace_t trace = {NULL, NULL, 7086, LOCATE_parser_tables___ParserTable___action_table_row573};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -19536,10 +20110,11 @@ val_t parser_tables___ParserTable___action_table_row573(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row574(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 7093, LOCATE_parser_tables___ParserTable___action_table_row574};
+  struct trace_t trace = {NULL, NULL, 7093, LOCATE_parser_tables___ParserTable___action_table_row574};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(66)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -19614,10 +20189,11 @@ val_t parser_tables___ParserTable___action_table_row574(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row575(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 7120, LOCATE_parser_tables___ParserTable___action_table_row575};
+  struct trace_t trace = {NULL, NULL, 7120, LOCATE_parser_tables___ParserTable___action_table_row575};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(63)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -19689,10 +20265,11 @@ val_t parser_tables___ParserTable___action_table_row575(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row576(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 7146, LOCATE_parser_tables___ParserTable___action_table_row576};
+  struct trace_t trace = {NULL, NULL, 7146, LOCATE_parser_tables___ParserTable___action_table_row576};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -19704,10 +20281,11 @@ val_t parser_tables___ParserTable___action_table_row576(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row577(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 7152, LOCATE_parser_tables___ParserTable___action_table_row577};
+  struct trace_t trace = {NULL, NULL, 7152, LOCATE_parser_tables___ParserTable___action_table_row577};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -19719,10 +20297,11 @@ val_t parser_tables___ParserTable___action_table_row577(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row578(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 7158, LOCATE_parser_tables___ParserTable___action_table_row578};
+  struct trace_t trace = {NULL, NULL, 7158, LOCATE_parser_tables___ParserTable___action_table_row578};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -19734,10 +20313,11 @@ val_t parser_tables___ParserTable___action_table_row578(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row579(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 7164, LOCATE_parser_tables___ParserTable___action_table_row579};
+  struct trace_t trace = {NULL, NULL, 7164, LOCATE_parser_tables___ParserTable___action_table_row579};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -19752,10 +20332,11 @@ val_t parser_tables___ParserTable___action_table_row579(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row580(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 7171, LOCATE_parser_tables___ParserTable___action_table_row580};
+  struct trace_t trace = {NULL, NULL, 7171, LOCATE_parser_tables___ParserTable___action_table_row580};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(12)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -19776,10 +20357,11 @@ val_t parser_tables___ParserTable___action_table_row580(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row581(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 7180, LOCATE_parser_tables___ParserTable___action_table_row581};
+  struct trace_t trace = {NULL, NULL, 7180, LOCATE_parser_tables___ParserTable___action_table_row581};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -19794,10 +20376,11 @@ val_t parser_tables___ParserTable___action_table_row581(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row582(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 7187, LOCATE_parser_tables___ParserTable___action_table_row582};
+  struct trace_t trace = {NULL, NULL, 7187, LOCATE_parser_tables___ParserTable___action_table_row582};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(93)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -19899,10 +20482,11 @@ val_t parser_tables___ParserTable___action_table_row582(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row583(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 7223, LOCATE_parser_tables___ParserTable___action_table_row583};
+  struct trace_t trace = {NULL, NULL, 7223, LOCATE_parser_tables___ParserTable___action_table_row583};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -19917,10 +20501,11 @@ val_t parser_tables___ParserTable___action_table_row583(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row584(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 7230, LOCATE_parser_tables___ParserTable___action_table_row584};
+  struct trace_t trace = {NULL, NULL, 7230, LOCATE_parser_tables___ParserTable___action_table_row584};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -19938,10 +20523,11 @@ val_t parser_tables___ParserTable___action_table_row584(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row585(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 7238, LOCATE_parser_tables___ParserTable___action_table_row585};
+  struct trace_t trace = {NULL, NULL, 7238, LOCATE_parser_tables___ParserTable___action_table_row585};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(27)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -19977,10 +20563,11 @@ val_t parser_tables___ParserTable___action_table_row585(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row586(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 7252, LOCATE_parser_tables___ParserTable___action_table_row586};
+  struct trace_t trace = {NULL, NULL, 7252, LOCATE_parser_tables___ParserTable___action_table_row586};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -19998,10 +20585,11 @@ val_t parser_tables___ParserTable___action_table_row586(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row587(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 7260, LOCATE_parser_tables___ParserTable___action_table_row587};
+  struct trace_t trace = {NULL, NULL, 7260, LOCATE_parser_tables___ParserTable___action_table_row587};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -20019,10 +20607,11 @@ val_t parser_tables___ParserTable___action_table_row587(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row588(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 7268, LOCATE_parser_tables___ParserTable___action_table_row588};
+  struct trace_t trace = {NULL, NULL, 7268, LOCATE_parser_tables___ParserTable___action_table_row588};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -20040,10 +20629,11 @@ val_t parser_tables___ParserTable___action_table_row588(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row589(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 7276, LOCATE_parser_tables___ParserTable___action_table_row589};
+  struct trace_t trace = {NULL, NULL, 7276, LOCATE_parser_tables___ParserTable___action_table_row589};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -20055,10 +20645,11 @@ val_t parser_tables___ParserTable___action_table_row589(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row590(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 7282, LOCATE_parser_tables___ParserTable___action_table_row590};
+  struct trace_t trace = {NULL, NULL, 7282, LOCATE_parser_tables___ParserTable___action_table_row590};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(18)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -20085,10 +20676,11 @@ val_t parser_tables___ParserTable___action_table_row590(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row591(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 7293, LOCATE_parser_tables___ParserTable___action_table_row591};
+  struct trace_t trace = {NULL, NULL, 7293, LOCATE_parser_tables___ParserTable___action_table_row591};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(18)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -20115,10 +20707,11 @@ val_t parser_tables___ParserTable___action_table_row591(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row592(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 7304, LOCATE_parser_tables___ParserTable___action_table_row592};
+  struct trace_t trace = {NULL, NULL, 7304, LOCATE_parser_tables___ParserTable___action_table_row592};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(15)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -20142,10 +20735,11 @@ val_t parser_tables___ParserTable___action_table_row592(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row593(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 7314, LOCATE_parser_tables___ParserTable___action_table_row593};
+  struct trace_t trace = {NULL, NULL, 7314, LOCATE_parser_tables___ParserTable___action_table_row593};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(15)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -20169,10 +20763,11 @@ val_t parser_tables___ParserTable___action_table_row593(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row594(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 7324, LOCATE_parser_tables___ParserTable___action_table_row594};
+  struct trace_t trace = {NULL, NULL, 7324, LOCATE_parser_tables___ParserTable___action_table_row594};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -20184,10 +20779,11 @@ val_t parser_tables___ParserTable___action_table_row594(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row595(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 7330, LOCATE_parser_tables___ParserTable___action_table_row595};
+  struct trace_t trace = {NULL, NULL, 7330, LOCATE_parser_tables___ParserTable___action_table_row595};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -20205,10 +20801,11 @@ val_t parser_tables___ParserTable___action_table_row595(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row596(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 7338, LOCATE_parser_tables___ParserTable___action_table_row596};
+  struct trace_t trace = {NULL, NULL, 7338, LOCATE_parser_tables___ParserTable___action_table_row596};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(27)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -20244,10 +20841,11 @@ val_t parser_tables___ParserTable___action_table_row596(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row597(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 7352, LOCATE_parser_tables___ParserTable___action_table_row597};
+  struct trace_t trace = {NULL, NULL, 7352, LOCATE_parser_tables___ParserTable___action_table_row597};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -20265,10 +20863,11 @@ val_t parser_tables___ParserTable___action_table_row597(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row598(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 7360, LOCATE_parser_tables___ParserTable___action_table_row598};
+  struct trace_t trace = {NULL, NULL, 7360, LOCATE_parser_tables___ParserTable___action_table_row598};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(66)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -20343,10 +20942,11 @@ val_t parser_tables___ParserTable___action_table_row598(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row599(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 7387, LOCATE_parser_tables___ParserTable___action_table_row599};
+  struct trace_t trace = {NULL, NULL, 7387, LOCATE_parser_tables___ParserTable___action_table_row599};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(66)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -20421,10 +21021,11 @@ val_t parser_tables___ParserTable___action_table_row599(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row600(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 7414, LOCATE_parser_tables___ParserTable___action_table_row600};
+  struct trace_t trace = {NULL, NULL, 7414, LOCATE_parser_tables___ParserTable___action_table_row600};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -20436,10 +21037,11 @@ val_t parser_tables___ParserTable___action_table_row600(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row601(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 7420, LOCATE_parser_tables___ParserTable___action_table_row601};
+  struct trace_t trace = {NULL, NULL, 7420, LOCATE_parser_tables___ParserTable___action_table_row601};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -20451,10 +21053,11 @@ val_t parser_tables___ParserTable___action_table_row601(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row602(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 7426, LOCATE_parser_tables___ParserTable___action_table_row602};
+  struct trace_t trace = {NULL, NULL, 7426, LOCATE_parser_tables___ParserTable___action_table_row602};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -20466,10 +21069,11 @@ val_t parser_tables___ParserTable___action_table_row602(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row603(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 7432, LOCATE_parser_tables___ParserTable___action_table_row603};
+  struct trace_t trace = {NULL, NULL, 7432, LOCATE_parser_tables___ParserTable___action_table_row603};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -20487,10 +21091,11 @@ val_t parser_tables___ParserTable___action_table_row603(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row604(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 7440, LOCATE_parser_tables___ParserTable___action_table_row604};
+  struct trace_t trace = {NULL, NULL, 7440, LOCATE_parser_tables___ParserTable___action_table_row604};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(66)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -20565,10 +21170,11 @@ val_t parser_tables___ParserTable___action_table_row604(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row605(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 7467, LOCATE_parser_tables___ParserTable___action_table_row605};
+  struct trace_t trace = {NULL, NULL, 7467, LOCATE_parser_tables___ParserTable___action_table_row605};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -20586,10 +21192,11 @@ val_t parser_tables___ParserTable___action_table_row605(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row606(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 7475, LOCATE_parser_tables___ParserTable___action_table_row606};
+  struct trace_t trace = {NULL, NULL, 7475, LOCATE_parser_tables___ParserTable___action_table_row606};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -20604,10 +21211,11 @@ val_t parser_tables___ParserTable___action_table_row606(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row607(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 7482, LOCATE_parser_tables___ParserTable___action_table_row607};
+  struct trace_t trace = {NULL, NULL, 7482, LOCATE_parser_tables___ParserTable___action_table_row607};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(18)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -20634,10 +21242,11 @@ val_t parser_tables___ParserTable___action_table_row607(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row608(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 7493, LOCATE_parser_tables___ParserTable___action_table_row608};
+  struct trace_t trace = {NULL, NULL, 7493, LOCATE_parser_tables___ParserTable___action_table_row608};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -20655,10 +21264,11 @@ val_t parser_tables___ParserTable___action_table_row608(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row609(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 7501, LOCATE_parser_tables___ParserTable___action_table_row609};
+  struct trace_t trace = {NULL, NULL, 7501, LOCATE_parser_tables___ParserTable___action_table_row609};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -20673,10 +21283,11 @@ val_t parser_tables___ParserTable___action_table_row609(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row610(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 7508, LOCATE_parser_tables___ParserTable___action_table_row610};
+  struct trace_t trace = {NULL, NULL, 7508, LOCATE_parser_tables___ParserTable___action_table_row610};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(93)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -20778,10 +21389,11 @@ val_t parser_tables___ParserTable___action_table_row610(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row611(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 7544, LOCATE_parser_tables___ParserTable___action_table_row611};
+  struct trace_t trace = {NULL, NULL, 7544, LOCATE_parser_tables___ParserTable___action_table_row611};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -20799,10 +21411,11 @@ val_t parser_tables___ParserTable___action_table_row611(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row612(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 7552, LOCATE_parser_tables___ParserTable___action_table_row612};
+  struct trace_t trace = {NULL, NULL, 7552, LOCATE_parser_tables___ParserTable___action_table_row612};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(27)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -20838,10 +21451,11 @@ val_t parser_tables___ParserTable___action_table_row612(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row613(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 7566, LOCATE_parser_tables___ParserTable___action_table_row613};
+  struct trace_t trace = {NULL, NULL, 7566, LOCATE_parser_tables___ParserTable___action_table_row613};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -20859,10 +21473,11 @@ val_t parser_tables___ParserTable___action_table_row613(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row614(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 7574, LOCATE_parser_tables___ParserTable___action_table_row614};
+  struct trace_t trace = {NULL, NULL, 7574, LOCATE_parser_tables___ParserTable___action_table_row614};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -20880,10 +21495,11 @@ val_t parser_tables___ParserTable___action_table_row614(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row615(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 7582, LOCATE_parser_tables___ParserTable___action_table_row615};
+  struct trace_t trace = {NULL, NULL, 7582, LOCATE_parser_tables___ParserTable___action_table_row615};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -20895,10 +21511,11 @@ val_t parser_tables___ParserTable___action_table_row615(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row616(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 7588, LOCATE_parser_tables___ParserTable___action_table_row616};
+  struct trace_t trace = {NULL, NULL, 7588, LOCATE_parser_tables___ParserTable___action_table_row616};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -20916,10 +21533,11 @@ val_t parser_tables___ParserTable___action_table_row616(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row617(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 7596, LOCATE_parser_tables___ParserTable___action_table_row617};
+  struct trace_t trace = {NULL, NULL, 7596, LOCATE_parser_tables___ParserTable___action_table_row617};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(27)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -20955,10 +21573,11 @@ val_t parser_tables___ParserTable___action_table_row617(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row618(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 7610, LOCATE_parser_tables___ParserTable___action_table_row618};
+  struct trace_t trace = {NULL, NULL, 7610, LOCATE_parser_tables___ParserTable___action_table_row618};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -20973,10 +21592,11 @@ val_t parser_tables___ParserTable___action_table_row618(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row619(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 7617, LOCATE_parser_tables___ParserTable___action_table_row619};
+  struct trace_t trace = {NULL, NULL, 7617, LOCATE_parser_tables___ParserTable___action_table_row619};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -20991,10 +21611,11 @@ val_t parser_tables___ParserTable___action_table_row619(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row620(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 7624, LOCATE_parser_tables___ParserTable___action_table_row620};
+  struct trace_t trace = {NULL, NULL, 7624, LOCATE_parser_tables___ParserTable___action_table_row620};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(87)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -21090,10 +21711,11 @@ val_t parser_tables___ParserTable___action_table_row620(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row621(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 7658, LOCATE_parser_tables___ParserTable___action_table_row621};
+  struct trace_t trace = {NULL, NULL, 7658, LOCATE_parser_tables___ParserTable___action_table_row621};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -21105,10 +21727,11 @@ val_t parser_tables___ParserTable___action_table_row621(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row622(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 7664, LOCATE_parser_tables___ParserTable___action_table_row622};
+  struct trace_t trace = {NULL, NULL, 7664, LOCATE_parser_tables___ParserTable___action_table_row622};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -21120,10 +21743,11 @@ val_t parser_tables___ParserTable___action_table_row622(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row623(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 7670, LOCATE_parser_tables___ParserTable___action_table_row623};
+  struct trace_t trace = {NULL, NULL, 7670, LOCATE_parser_tables___ParserTable___action_table_row623};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(66)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -21198,10 +21822,11 @@ val_t parser_tables___ParserTable___action_table_row623(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row624(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 7697, LOCATE_parser_tables___ParserTable___action_table_row624};
+  struct trace_t trace = {NULL, NULL, 7697, LOCATE_parser_tables___ParserTable___action_table_row624};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -21213,10 +21838,11 @@ val_t parser_tables___ParserTable___action_table_row624(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row625(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 7703, LOCATE_parser_tables___ParserTable___action_table_row625};
+  struct trace_t trace = {NULL, NULL, 7703, LOCATE_parser_tables___ParserTable___action_table_row625};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(66)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -21291,10 +21917,11 @@ val_t parser_tables___ParserTable___action_table_row625(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row626(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 7730, LOCATE_parser_tables___ParserTable___action_table_row626};
+  struct trace_t trace = {NULL, NULL, 7730, LOCATE_parser_tables___ParserTable___action_table_row626};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -21309,10 +21936,11 @@ val_t parser_tables___ParserTable___action_table_row626(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row627(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 7737, LOCATE_parser_tables___ParserTable___action_table_row627};
+  struct trace_t trace = {NULL, NULL, 7737, LOCATE_parser_tables___ParserTable___action_table_row627};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -21327,10 +21955,11 @@ val_t parser_tables___ParserTable___action_table_row627(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row628(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 7744, LOCATE_parser_tables___ParserTable___action_table_row628};
+  struct trace_t trace = {NULL, NULL, 7744, LOCATE_parser_tables___ParserTable___action_table_row628};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -21345,10 +21974,11 @@ val_t parser_tables___ParserTable___action_table_row628(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row629(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 7751, LOCATE_parser_tables___ParserTable___action_table_row629};
+  struct trace_t trace = {NULL, NULL, 7751, LOCATE_parser_tables___ParserTable___action_table_row629};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -21363,10 +21993,11 @@ val_t parser_tables___ParserTable___action_table_row629(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row630(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 7758, LOCATE_parser_tables___ParserTable___action_table_row630};
+  struct trace_t trace = {NULL, NULL, 7758, LOCATE_parser_tables___ParserTable___action_table_row630};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -21384,10 +22015,11 @@ val_t parser_tables___ParserTable___action_table_row630(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row631(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 7766, LOCATE_parser_tables___ParserTable___action_table_row631};
+  struct trace_t trace = {NULL, NULL, 7766, LOCATE_parser_tables___ParserTable___action_table_row631};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(69)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -21465,10 +22097,11 @@ val_t parser_tables___ParserTable___action_table_row631(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row632(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 7794, LOCATE_parser_tables___ParserTable___action_table_row632};
+  struct trace_t trace = {NULL, NULL, 7794, LOCATE_parser_tables___ParserTable___action_table_row632};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -21486,10 +22119,11 @@ val_t parser_tables___ParserTable___action_table_row632(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row633(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 7802, LOCATE_parser_tables___ParserTable___action_table_row633};
+  struct trace_t trace = {NULL, NULL, 7802, LOCATE_parser_tables___ParserTable___action_table_row633};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -21501,10 +22135,11 @@ val_t parser_tables___ParserTable___action_table_row633(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row634(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 7808, LOCATE_parser_tables___ParserTable___action_table_row634};
+  struct trace_t trace = {NULL, NULL, 7808, LOCATE_parser_tables___ParserTable___action_table_row634};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(93)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -21606,10 +22241,11 @@ val_t parser_tables___ParserTable___action_table_row634(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row635(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 7844, LOCATE_parser_tables___ParserTable___action_table_row635};
+  struct trace_t trace = {NULL, NULL, 7844, LOCATE_parser_tables___ParserTable___action_table_row635};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -21621,10 +22257,11 @@ val_t parser_tables___ParserTable___action_table_row635(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row636(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 7850, LOCATE_parser_tables___ParserTable___action_table_row636};
+  struct trace_t trace = {NULL, NULL, 7850, LOCATE_parser_tables___ParserTable___action_table_row636};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(66)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -21699,10 +22336,11 @@ val_t parser_tables___ParserTable___action_table_row636(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row637(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 7877, LOCATE_parser_tables___ParserTable___action_table_row637};
+  struct trace_t trace = {NULL, NULL, 7877, LOCATE_parser_tables___ParserTable___action_table_row637};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -21720,10 +22358,11 @@ val_t parser_tables___ParserTable___action_table_row637(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row638(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 7885, LOCATE_parser_tables___ParserTable___action_table_row638};
+  struct trace_t trace = {NULL, NULL, 7885, LOCATE_parser_tables___ParserTable___action_table_row638};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -21735,10 +22374,11 @@ val_t parser_tables___ParserTable___action_table_row638(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row639(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 7891, LOCATE_parser_tables___ParserTable___action_table_row639};
+  struct trace_t trace = {NULL, NULL, 7891, LOCATE_parser_tables___ParserTable___action_table_row639};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -21753,10 +22393,11 @@ val_t parser_tables___ParserTable___action_table_row639(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row640(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 7898, LOCATE_parser_tables___ParserTable___action_table_row640};
+  struct trace_t trace = {NULL, NULL, 7898, LOCATE_parser_tables___ParserTable___action_table_row640};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -21771,10 +22412,11 @@ val_t parser_tables___ParserTable___action_table_row640(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row641(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 7905, LOCATE_parser_tables___ParserTable___action_table_row641};
+  struct trace_t trace = {NULL, NULL, 7905, LOCATE_parser_tables___ParserTable___action_table_row641};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -21786,10 +22428,11 @@ val_t parser_tables___ParserTable___action_table_row641(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row642(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 7911, LOCATE_parser_tables___ParserTable___action_table_row642};
+  struct trace_t trace = {NULL, NULL, 7911, LOCATE_parser_tables___ParserTable___action_table_row642};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -21807,10 +22450,11 @@ val_t parser_tables___ParserTable___action_table_row642(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row643(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 7919, LOCATE_parser_tables___ParserTable___action_table_row643};
+  struct trace_t trace = {NULL, NULL, 7919, LOCATE_parser_tables___ParserTable___action_table_row643};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -21825,10 +22469,11 @@ val_t parser_tables___ParserTable___action_table_row643(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row644(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 7926, LOCATE_parser_tables___ParserTable___action_table_row644};
+  struct trace_t trace = {NULL, NULL, 7926, LOCATE_parser_tables___ParserTable___action_table_row644};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -21846,10 +22491,11 @@ val_t parser_tables___ParserTable___action_table_row644(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row645(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 7934, LOCATE_parser_tables___ParserTable___action_table_row645};
+  struct trace_t trace = {NULL, NULL, 7934, LOCATE_parser_tables___ParserTable___action_table_row645};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -21867,10 +22513,11 @@ val_t parser_tables___ParserTable___action_table_row645(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row646(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 7942, LOCATE_parser_tables___ParserTable___action_table_row646};
+  struct trace_t trace = {NULL, NULL, 7942, LOCATE_parser_tables___ParserTable___action_table_row646};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -21888,10 +22535,11 @@ val_t parser_tables___ParserTable___action_table_row646(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row647(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 7950, LOCATE_parser_tables___ParserTable___action_table_row647};
+  struct trace_t trace = {NULL, NULL, 7950, LOCATE_parser_tables___ParserTable___action_table_row647};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -21909,10 +22557,11 @@ val_t parser_tables___ParserTable___action_table_row647(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row648(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 7958, LOCATE_parser_tables___ParserTable___action_table_row648};
+  struct trace_t trace = {NULL, NULL, 7958, LOCATE_parser_tables___ParserTable___action_table_row648};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -21927,10 +22576,11 @@ val_t parser_tables___ParserTable___action_table_row648(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row649(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 7965, LOCATE_parser_tables___ParserTable___action_table_row649};
+  struct trace_t trace = {NULL, NULL, 7965, LOCATE_parser_tables___ParserTable___action_table_row649};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -21942,10 +22592,11 @@ val_t parser_tables___ParserTable___action_table_row649(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row650(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 7971, LOCATE_parser_tables___ParserTable___action_table_row650};
+  struct trace_t trace = {NULL, NULL, 7971, LOCATE_parser_tables___ParserTable___action_table_row650};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -21957,10 +22608,11 @@ val_t parser_tables___ParserTable___action_table_row650(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row651(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 7977, LOCATE_parser_tables___ParserTable___action_table_row651};
+  struct trace_t trace = {NULL, NULL, 7977, LOCATE_parser_tables___ParserTable___action_table_row651};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -21972,10 +22624,11 @@ val_t parser_tables___ParserTable___action_table_row651(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row652(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 7983, LOCATE_parser_tables___ParserTable___action_table_row652};
+  struct trace_t trace = {NULL, NULL, 7983, LOCATE_parser_tables___ParserTable___action_table_row652};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -21987,10 +22640,11 @@ val_t parser_tables___ParserTable___action_table_row652(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row653(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 7989, LOCATE_parser_tables___ParserTable___action_table_row653};
+  struct trace_t trace = {NULL, NULL, 7989, LOCATE_parser_tables___ParserTable___action_table_row653};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(66)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -22065,10 +22719,11 @@ val_t parser_tables___ParserTable___action_table_row653(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row654(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 8016, LOCATE_parser_tables___ParserTable___action_table_row654};
+  struct trace_t trace = {NULL, NULL, 8016, LOCATE_parser_tables___ParserTable___action_table_row654};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -22086,10 +22741,11 @@ val_t parser_tables___ParserTable___action_table_row654(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row655(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 8024, LOCATE_parser_tables___ParserTable___action_table_row655};
+  struct trace_t trace = {NULL, NULL, 8024, LOCATE_parser_tables___ParserTable___action_table_row655};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -22107,10 +22763,11 @@ val_t parser_tables___ParserTable___action_table_row655(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row656(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 8032, LOCATE_parser_tables___ParserTable___action_table_row656};
+  struct trace_t trace = {NULL, NULL, 8032, LOCATE_parser_tables___ParserTable___action_table_row656};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -22122,10 +22779,11 @@ val_t parser_tables___ParserTable___action_table_row656(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row657(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 8038, LOCATE_parser_tables___ParserTable___action_table_row657};
+  struct trace_t trace = {NULL, NULL, 8038, LOCATE_parser_tables___ParserTable___action_table_row657};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -22137,10 +22795,11 @@ val_t parser_tables___ParserTable___action_table_row657(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row658(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 8044, LOCATE_parser_tables___ParserTable___action_table_row658};
+  struct trace_t trace = {NULL, NULL, 8044, LOCATE_parser_tables___ParserTable___action_table_row658};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -22152,10 +22811,11 @@ val_t parser_tables___ParserTable___action_table_row658(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row659(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 8050, LOCATE_parser_tables___ParserTable___action_table_row659};
+  struct trace_t trace = {NULL, NULL, 8050, LOCATE_parser_tables___ParserTable___action_table_row659};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -22167,10 +22827,11 @@ val_t parser_tables___ParserTable___action_table_row659(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row660(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 8056, LOCATE_parser_tables___ParserTable___action_table_row660};
+  struct trace_t trace = {NULL, NULL, 8056, LOCATE_parser_tables___ParserTable___action_table_row660};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -22182,10 +22843,11 @@ val_t parser_tables___ParserTable___action_table_row660(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row661(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 8062, LOCATE_parser_tables___ParserTable___action_table_row661};
+  struct trace_t trace = {NULL, NULL, 8062, LOCATE_parser_tables___ParserTable___action_table_row661};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -22197,10 +22859,11 @@ val_t parser_tables___ParserTable___action_table_row661(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row662(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 8068, LOCATE_parser_tables___ParserTable___action_table_row662};
+  struct trace_t trace = {NULL, NULL, 8068, LOCATE_parser_tables___ParserTable___action_table_row662};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -22215,10 +22878,11 @@ val_t parser_tables___ParserTable___action_table_row662(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row663(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 8075, LOCATE_parser_tables___ParserTable___action_table_row663};
+  struct trace_t trace = {NULL, NULL, 8075, LOCATE_parser_tables___ParserTable___action_table_row663};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -22236,10 +22900,11 @@ val_t parser_tables___ParserTable___action_table_row663(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row664(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 8083, LOCATE_parser_tables___ParserTable___action_table_row664};
+  struct trace_t trace = {NULL, NULL, 8083, LOCATE_parser_tables___ParserTable___action_table_row664};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -22257,10 +22922,11 @@ val_t parser_tables___ParserTable___action_table_row664(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row665(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 8091, LOCATE_parser_tables___ParserTable___action_table_row665};
+  struct trace_t trace = {NULL, NULL, 8091, LOCATE_parser_tables___ParserTable___action_table_row665};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -22272,10 +22938,11 @@ val_t parser_tables___ParserTable___action_table_row665(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row666(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 8097, LOCATE_parser_tables___ParserTable___action_table_row666};
+  struct trace_t trace = {NULL, NULL, 8097, LOCATE_parser_tables___ParserTable___action_table_row666};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -22287,10 +22954,11 @@ val_t parser_tables___ParserTable___action_table_row666(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row667(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 8103, LOCATE_parser_tables___ParserTable___action_table_row667};
+  struct trace_t trace = {NULL, NULL, 8103, LOCATE_parser_tables___ParserTable___action_table_row667};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(36)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -22335,10 +23003,11 @@ val_t parser_tables___ParserTable___action_table_row667(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row668(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 8120, LOCATE_parser_tables___ParserTable___action_table_row668};
+  struct trace_t trace = {NULL, NULL, 8120, LOCATE_parser_tables___ParserTable___action_table_row668};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(12)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -22359,10 +23028,11 @@ val_t parser_tables___ParserTable___action_table_row668(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row669(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 8129, LOCATE_parser_tables___ParserTable___action_table_row669};
+  struct trace_t trace = {NULL, NULL, 8129, LOCATE_parser_tables___ParserTable___action_table_row669};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -22374,10 +23044,11 @@ val_t parser_tables___ParserTable___action_table_row669(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row670(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 8135, LOCATE_parser_tables___ParserTable___action_table_row670};
+  struct trace_t trace = {NULL, NULL, 8135, LOCATE_parser_tables___ParserTable___action_table_row670};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -22389,10 +23060,11 @@ val_t parser_tables___ParserTable___action_table_row670(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row671(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 8141, LOCATE_parser_tables___ParserTable___action_table_row671};
+  struct trace_t trace = {NULL, NULL, 8141, LOCATE_parser_tables___ParserTable___action_table_row671};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -22407,10 +23079,11 @@ val_t parser_tables___ParserTable___action_table_row671(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row672(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 8148, LOCATE_parser_tables___ParserTable___action_table_row672};
+  struct trace_t trace = {NULL, NULL, 8148, LOCATE_parser_tables___ParserTable___action_table_row672};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -22425,10 +23098,11 @@ val_t parser_tables___ParserTable___action_table_row672(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row673(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 8155, LOCATE_parser_tables___ParserTable___action_table_row673};
+  struct trace_t trace = {NULL, NULL, 8155, LOCATE_parser_tables___ParserTable___action_table_row673};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -22446,10 +23120,11 @@ val_t parser_tables___ParserTable___action_table_row673(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row674(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 8163, LOCATE_parser_tables___ParserTable___action_table_row674};
+  struct trace_t trace = {NULL, NULL, 8163, LOCATE_parser_tables___ParserTable___action_table_row674};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -22461,10 +23136,11 @@ val_t parser_tables___ParserTable___action_table_row674(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row675(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 8169, LOCATE_parser_tables___ParserTable___action_table_row675};
+  struct trace_t trace = {NULL, NULL, 8169, LOCATE_parser_tables___ParserTable___action_table_row675};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -22479,10 +23155,11 @@ val_t parser_tables___ParserTable___action_table_row675(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row676(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 8176, LOCATE_parser_tables___ParserTable___action_table_row676};
+  struct trace_t trace = {NULL, NULL, 8176, LOCATE_parser_tables___ParserTable___action_table_row676};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(12)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -22503,10 +23180,11 @@ val_t parser_tables___ParserTable___action_table_row676(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row677(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 8185, LOCATE_parser_tables___ParserTable___action_table_row677};
+  struct trace_t trace = {NULL, NULL, 8185, LOCATE_parser_tables___ParserTable___action_table_row677};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -22518,10 +23196,11 @@ val_t parser_tables___ParserTable___action_table_row677(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row678(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 8191, LOCATE_parser_tables___ParserTable___action_table_row678};
+  struct trace_t trace = {NULL, NULL, 8191, LOCATE_parser_tables___ParserTable___action_table_row678};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -22533,10 +23212,11 @@ val_t parser_tables___ParserTable___action_table_row678(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row679(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 8197, LOCATE_parser_tables___ParserTable___action_table_row679};
+  struct trace_t trace = {NULL, NULL, 8197, LOCATE_parser_tables___ParserTable___action_table_row679};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -22551,10 +23231,11 @@ val_t parser_tables___ParserTable___action_table_row679(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row680(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 8204, LOCATE_parser_tables___ParserTable___action_table_row680};
+  struct trace_t trace = {NULL, NULL, 8204, LOCATE_parser_tables___ParserTable___action_table_row680};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(12)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -22575,10 +23256,11 @@ val_t parser_tables___ParserTable___action_table_row680(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row681(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 8213, LOCATE_parser_tables___ParserTable___action_table_row681};
+  struct trace_t trace = {NULL, NULL, 8213, LOCATE_parser_tables___ParserTable___action_table_row681};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -22596,10 +23278,11 @@ val_t parser_tables___ParserTable___action_table_row681(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row682(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 8221, LOCATE_parser_tables___ParserTable___action_table_row682};
+  struct trace_t trace = {NULL, NULL, 8221, LOCATE_parser_tables___ParserTable___action_table_row682};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -22611,10 +23294,11 @@ val_t parser_tables___ParserTable___action_table_row682(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row683(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 8227, LOCATE_parser_tables___ParserTable___action_table_row683};
+  struct trace_t trace = {NULL, NULL, 8227, LOCATE_parser_tables___ParserTable___action_table_row683};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -22632,10 +23316,11 @@ val_t parser_tables___ParserTable___action_table_row683(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row684(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 8235, LOCATE_parser_tables___ParserTable___action_table_row684};
+  struct trace_t trace = {NULL, NULL, 8235, LOCATE_parser_tables___ParserTable___action_table_row684};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(27)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -22671,10 +23356,11 @@ val_t parser_tables___ParserTable___action_table_row684(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row685(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 8249, LOCATE_parser_tables___ParserTable___action_table_row685};
+  struct trace_t trace = {NULL, NULL, 8249, LOCATE_parser_tables___ParserTable___action_table_row685};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -22686,10 +23372,11 @@ val_t parser_tables___ParserTable___action_table_row685(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row686(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 8255, LOCATE_parser_tables___ParserTable___action_table_row686};
+  struct trace_t trace = {NULL, NULL, 8255, LOCATE_parser_tables___ParserTable___action_table_row686};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -22707,10 +23394,11 @@ val_t parser_tables___ParserTable___action_table_row686(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row687(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 8263, LOCATE_parser_tables___ParserTable___action_table_row687};
+  struct trace_t trace = {NULL, NULL, 8263, LOCATE_parser_tables___ParserTable___action_table_row687};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(24)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -22743,10 +23431,11 @@ val_t parser_tables___ParserTable___action_table_row687(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row688(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 8276, LOCATE_parser_tables___ParserTable___action_table_row688};
+  struct trace_t trace = {NULL, NULL, 8276, LOCATE_parser_tables___ParserTable___action_table_row688};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -22764,10 +23453,11 @@ val_t parser_tables___ParserTable___action_table_row688(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row689(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 8284, LOCATE_parser_tables___ParserTable___action_table_row689};
+  struct trace_t trace = {NULL, NULL, 8284, LOCATE_parser_tables___ParserTable___action_table_row689};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -22782,10 +23472,11 @@ val_t parser_tables___ParserTable___action_table_row689(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row690(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 8291, LOCATE_parser_tables___ParserTable___action_table_row690};
+  struct trace_t trace = {NULL, NULL, 8291, LOCATE_parser_tables___ParserTable___action_table_row690};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(18)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -22812,10 +23503,11 @@ val_t parser_tables___ParserTable___action_table_row690(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row691(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 8302, LOCATE_parser_tables___ParserTable___action_table_row691};
+  struct trace_t trace = {NULL, NULL, 8302, LOCATE_parser_tables___ParserTable___action_table_row691};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(15)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -22839,10 +23531,11 @@ val_t parser_tables___ParserTable___action_table_row691(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row692(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 8312, LOCATE_parser_tables___ParserTable___action_table_row692};
+  struct trace_t trace = {NULL, NULL, 8312, LOCATE_parser_tables___ParserTable___action_table_row692};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(15)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -22866,10 +23559,11 @@ val_t parser_tables___ParserTable___action_table_row692(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row693(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 8322, LOCATE_parser_tables___ParserTable___action_table_row693};
+  struct trace_t trace = {NULL, NULL, 8322, LOCATE_parser_tables___ParserTable___action_table_row693};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(15)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -22893,10 +23587,11 @@ val_t parser_tables___ParserTable___action_table_row693(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row694(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 8332, LOCATE_parser_tables___ParserTable___action_table_row694};
+  struct trace_t trace = {NULL, NULL, 8332, LOCATE_parser_tables___ParserTable___action_table_row694};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(15)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -22920,10 +23615,11 @@ val_t parser_tables___ParserTable___action_table_row694(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row695(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 8342, LOCATE_parser_tables___ParserTable___action_table_row695};
+  struct trace_t trace = {NULL, NULL, 8342, LOCATE_parser_tables___ParserTable___action_table_row695};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -22938,10 +23634,11 @@ val_t parser_tables___ParserTable___action_table_row695(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row696(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 8349, LOCATE_parser_tables___ParserTable___action_table_row696};
+  struct trace_t trace = {NULL, NULL, 8349, LOCATE_parser_tables___ParserTable___action_table_row696};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(12)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -22962,10 +23659,11 @@ val_t parser_tables___ParserTable___action_table_row696(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row697(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 8358, LOCATE_parser_tables___ParserTable___action_table_row697};
+  struct trace_t trace = {NULL, NULL, 8358, LOCATE_parser_tables___ParserTable___action_table_row697};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -22980,10 +23678,11 @@ val_t parser_tables___ParserTable___action_table_row697(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row698(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 8365, LOCATE_parser_tables___ParserTable___action_table_row698};
+  struct trace_t trace = {NULL, NULL, 8365, LOCATE_parser_tables___ParserTable___action_table_row698};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(45)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -23037,10 +23736,11 @@ val_t parser_tables___ParserTable___action_table_row698(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row699(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 8385, LOCATE_parser_tables___ParserTable___action_table_row699};
+  struct trace_t trace = {NULL, NULL, 8385, LOCATE_parser_tables___ParserTable___action_table_row699};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -23055,10 +23755,11 @@ val_t parser_tables___ParserTable___action_table_row699(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row700(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 8392, LOCATE_parser_tables___ParserTable___action_table_row700};
+  struct trace_t trace = {NULL, NULL, 8392, LOCATE_parser_tables___ParserTable___action_table_row700};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -23073,10 +23774,11 @@ val_t parser_tables___ParserTable___action_table_row700(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row701(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 8399, LOCATE_parser_tables___ParserTable___action_table_row701};
+  struct trace_t trace = {NULL, NULL, 8399, LOCATE_parser_tables___ParserTable___action_table_row701};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(51)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -23136,10 +23838,11 @@ val_t parser_tables___ParserTable___action_table_row701(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row702(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 8421, LOCATE_parser_tables___ParserTable___action_table_row702};
+  struct trace_t trace = {NULL, NULL, 8421, LOCATE_parser_tables___ParserTable___action_table_row702};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -23157,10 +23860,11 @@ val_t parser_tables___ParserTable___action_table_row702(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row703(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 8429, LOCATE_parser_tables___ParserTable___action_table_row703};
+  struct trace_t trace = {NULL, NULL, 8429, LOCATE_parser_tables___ParserTable___action_table_row703};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -23172,10 +23876,11 @@ val_t parser_tables___ParserTable___action_table_row703(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row704(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 8435, LOCATE_parser_tables___ParserTable___action_table_row704};
+  struct trace_t trace = {NULL, NULL, 8435, LOCATE_parser_tables___ParserTable___action_table_row704};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -23190,10 +23895,11 @@ val_t parser_tables___ParserTable___action_table_row704(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row705(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 8442, LOCATE_parser_tables___ParserTable___action_table_row705};
+  struct trace_t trace = {NULL, NULL, 8442, LOCATE_parser_tables___ParserTable___action_table_row705};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -23205,10 +23911,11 @@ val_t parser_tables___ParserTable___action_table_row705(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row706(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 8448, LOCATE_parser_tables___ParserTable___action_table_row706};
+  struct trace_t trace = {NULL, NULL, 8448, LOCATE_parser_tables___ParserTable___action_table_row706};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -23220,10 +23927,11 @@ val_t parser_tables___ParserTable___action_table_row706(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row707(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 8454, LOCATE_parser_tables___ParserTable___action_table_row707};
+  struct trace_t trace = {NULL, NULL, 8454, LOCATE_parser_tables___ParserTable___action_table_row707};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -23235,10 +23943,11 @@ val_t parser_tables___ParserTable___action_table_row707(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row708(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 8460, LOCATE_parser_tables___ParserTable___action_table_row708};
+  struct trace_t trace = {NULL, NULL, 8460, LOCATE_parser_tables___ParserTable___action_table_row708};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -23256,10 +23965,11 @@ val_t parser_tables___ParserTable___action_table_row708(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row709(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 8468, LOCATE_parser_tables___ParserTable___action_table_row709};
+  struct trace_t trace = {NULL, NULL, 8468, LOCATE_parser_tables___ParserTable___action_table_row709};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -23274,10 +23984,11 @@ val_t parser_tables___ParserTable___action_table_row709(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row710(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 8475, LOCATE_parser_tables___ParserTable___action_table_row710};
+  struct trace_t trace = {NULL, NULL, 8475, LOCATE_parser_tables___ParserTable___action_table_row710};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -23289,10 +24000,11 @@ val_t parser_tables___ParserTable___action_table_row710(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row711(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 8481, LOCATE_parser_tables___ParserTable___action_table_row711};
+  struct trace_t trace = {NULL, NULL, 8481, LOCATE_parser_tables___ParserTable___action_table_row711};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -23307,10 +24019,11 @@ val_t parser_tables___ParserTable___action_table_row711(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row712(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 8488, LOCATE_parser_tables___ParserTable___action_table_row712};
+  struct trace_t trace = {NULL, NULL, 8488, LOCATE_parser_tables___ParserTable___action_table_row712};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -23322,10 +24035,11 @@ val_t parser_tables___ParserTable___action_table_row712(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row713(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 8494, LOCATE_parser_tables___ParserTable___action_table_row713};
+  struct trace_t trace = {NULL, NULL, 8494, LOCATE_parser_tables___ParserTable___action_table_row713};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -23337,10 +24051,11 @@ val_t parser_tables___ParserTable___action_table_row713(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row714(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 8500, LOCATE_parser_tables___ParserTable___action_table_row714};
+  struct trace_t trace = {NULL, NULL, 8500, LOCATE_parser_tables___ParserTable___action_table_row714};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -23358,10 +24073,11 @@ val_t parser_tables___ParserTable___action_table_row714(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row715(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 8508, LOCATE_parser_tables___ParserTable___action_table_row715};
+  struct trace_t trace = {NULL, NULL, 8508, LOCATE_parser_tables___ParserTable___action_table_row715};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -23373,10 +24089,11 @@ val_t parser_tables___ParserTable___action_table_row715(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row716(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 8514, LOCATE_parser_tables___ParserTable___action_table_row716};
+  struct trace_t trace = {NULL, NULL, 8514, LOCATE_parser_tables___ParserTable___action_table_row716};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -23394,10 +24111,11 @@ val_t parser_tables___ParserTable___action_table_row716(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row717(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 8522, LOCATE_parser_tables___ParserTable___action_table_row717};
+  struct trace_t trace = {NULL, NULL, 8522, LOCATE_parser_tables___ParserTable___action_table_row717};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(27)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -23433,10 +24151,11 @@ val_t parser_tables___ParserTable___action_table_row717(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row718(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 8536, LOCATE_parser_tables___ParserTable___action_table_row718};
+  struct trace_t trace = {NULL, NULL, 8536, LOCATE_parser_tables___ParserTable___action_table_row718};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(24)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -23469,10 +24188,11 @@ val_t parser_tables___ParserTable___action_table_row718(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row719(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 8549, LOCATE_parser_tables___ParserTable___action_table_row719};
+  struct trace_t trace = {NULL, NULL, 8549, LOCATE_parser_tables___ParserTable___action_table_row719};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -23490,10 +24210,11 @@ val_t parser_tables___ParserTable___action_table_row719(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row720(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 8557, LOCATE_parser_tables___ParserTable___action_table_row720};
+  struct trace_t trace = {NULL, NULL, 8557, LOCATE_parser_tables___ParserTable___action_table_row720};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -23511,10 +24232,11 @@ val_t parser_tables___ParserTable___action_table_row720(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row721(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 8565, LOCATE_parser_tables___ParserTable___action_table_row721};
+  struct trace_t trace = {NULL, NULL, 8565, LOCATE_parser_tables___ParserTable___action_table_row721};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -23526,10 +24248,11 @@ val_t parser_tables___ParserTable___action_table_row721(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row722(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 8571, LOCATE_parser_tables___ParserTable___action_table_row722};
+  struct trace_t trace = {NULL, NULL, 8571, LOCATE_parser_tables___ParserTable___action_table_row722};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -23544,10 +24267,11 @@ val_t parser_tables___ParserTable___action_table_row722(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row723(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 8578, LOCATE_parser_tables___ParserTable___action_table_row723};
+  struct trace_t trace = {NULL, NULL, 8578, LOCATE_parser_tables___ParserTable___action_table_row723};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -23565,10 +24289,11 @@ val_t parser_tables___ParserTable___action_table_row723(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row724(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 8586, LOCATE_parser_tables___ParserTable___action_table_row724};
+  struct trace_t trace = {NULL, NULL, 8586, LOCATE_parser_tables___ParserTable___action_table_row724};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -23586,10 +24311,11 @@ val_t parser_tables___ParserTable___action_table_row724(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row725(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 8594, LOCATE_parser_tables___ParserTable___action_table_row725};
+  struct trace_t trace = {NULL, NULL, 8594, LOCATE_parser_tables___ParserTable___action_table_row725};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -23607,10 +24333,11 @@ val_t parser_tables___ParserTable___action_table_row725(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row726(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 8602, LOCATE_parser_tables___ParserTable___action_table_row726};
+  struct trace_t trace = {NULL, NULL, 8602, LOCATE_parser_tables___ParserTable___action_table_row726};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(93)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -23712,10 +24439,11 @@ val_t parser_tables___ParserTable___action_table_row726(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row727(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 8638, LOCATE_parser_tables___ParserTable___action_table_row727};
+  struct trace_t trace = {NULL, NULL, 8638, LOCATE_parser_tables___ParserTable___action_table_row727};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(15)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -23739,10 +24467,11 @@ val_t parser_tables___ParserTable___action_table_row727(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row728(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 8648, LOCATE_parser_tables___ParserTable___action_table_row728};
+  struct trace_t trace = {NULL, NULL, 8648, LOCATE_parser_tables___ParserTable___action_table_row728};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -23757,10 +24486,11 @@ val_t parser_tables___ParserTable___action_table_row728(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row729(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 8655, LOCATE_parser_tables___ParserTable___action_table_row729};
+  struct trace_t trace = {NULL, NULL, 8655, LOCATE_parser_tables___ParserTable___action_table_row729};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(90)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -23859,10 +24589,11 @@ val_t parser_tables___ParserTable___action_table_row729(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row730(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 8690, LOCATE_parser_tables___ParserTable___action_table_row730};
+  struct trace_t trace = {NULL, NULL, 8690, LOCATE_parser_tables___ParserTable___action_table_row730};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -23880,10 +24611,11 @@ val_t parser_tables___ParserTable___action_table_row730(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row731(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 8698, LOCATE_parser_tables___ParserTable___action_table_row731};
+  struct trace_t trace = {NULL, NULL, 8698, LOCATE_parser_tables___ParserTable___action_table_row731};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -23895,10 +24627,11 @@ val_t parser_tables___ParserTable___action_table_row731(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row732(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 8704, LOCATE_parser_tables___ParserTable___action_table_row732};
+  struct trace_t trace = {NULL, NULL, 8704, LOCATE_parser_tables___ParserTable___action_table_row732};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -23916,10 +24649,11 @@ val_t parser_tables___ParserTable___action_table_row732(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row733(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 8712, LOCATE_parser_tables___ParserTable___action_table_row733};
+  struct trace_t trace = {NULL, NULL, 8712, LOCATE_parser_tables___ParserTable___action_table_row733};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -23934,10 +24668,11 @@ val_t parser_tables___ParserTable___action_table_row733(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row734(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 8719, LOCATE_parser_tables___ParserTable___action_table_row734};
+  struct trace_t trace = {NULL, NULL, 8719, LOCATE_parser_tables___ParserTable___action_table_row734};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -23949,10 +24684,11 @@ val_t parser_tables___ParserTable___action_table_row734(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row735(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 8725, LOCATE_parser_tables___ParserTable___action_table_row735};
+  struct trace_t trace = {NULL, NULL, 8725, LOCATE_parser_tables___ParserTable___action_table_row735};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -23964,10 +24700,11 @@ val_t parser_tables___ParserTable___action_table_row735(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row736(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 8731, LOCATE_parser_tables___ParserTable___action_table_row736};
+  struct trace_t trace = {NULL, NULL, 8731, LOCATE_parser_tables___ParserTable___action_table_row736};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -23979,10 +24716,11 @@ val_t parser_tables___ParserTable___action_table_row736(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row737(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 8737, LOCATE_parser_tables___ParserTable___action_table_row737};
+  struct trace_t trace = {NULL, NULL, 8737, LOCATE_parser_tables___ParserTable___action_table_row737};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -23994,10 +24732,11 @@ val_t parser_tables___ParserTable___action_table_row737(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row738(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 8743, LOCATE_parser_tables___ParserTable___action_table_row738};
+  struct trace_t trace = {NULL, NULL, 8743, LOCATE_parser_tables___ParserTable___action_table_row738};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(66)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -24072,10 +24811,11 @@ val_t parser_tables___ParserTable___action_table_row738(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row739(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 8770, LOCATE_parser_tables___ParserTable___action_table_row739};
+  struct trace_t trace = {NULL, NULL, 8770, LOCATE_parser_tables___ParserTable___action_table_row739};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(60)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -24144,10 +24884,11 @@ val_t parser_tables___ParserTable___action_table_row739(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row740(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 8795, LOCATE_parser_tables___ParserTable___action_table_row740};
+  struct trace_t trace = {NULL, NULL, 8795, LOCATE_parser_tables___ParserTable___action_table_row740};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -24162,10 +24903,11 @@ val_t parser_tables___ParserTable___action_table_row740(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row741(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 8802, LOCATE_parser_tables___ParserTable___action_table_row741};
+  struct trace_t trace = {NULL, NULL, 8802, LOCATE_parser_tables___ParserTable___action_table_row741};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(57)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -24231,10 +24973,11 @@ val_t parser_tables___ParserTable___action_table_row741(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row742(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 8826, LOCATE_parser_tables___ParserTable___action_table_row742};
+  struct trace_t trace = {NULL, NULL, 8826, LOCATE_parser_tables___ParserTable___action_table_row742};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -24246,10 +24989,11 @@ val_t parser_tables___ParserTable___action_table_row742(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row743(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 8832, LOCATE_parser_tables___ParserTable___action_table_row743};
+  struct trace_t trace = {NULL, NULL, 8832, LOCATE_parser_tables___ParserTable___action_table_row743};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -24264,10 +25008,11 @@ val_t parser_tables___ParserTable___action_table_row743(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row744(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 8839, LOCATE_parser_tables___ParserTable___action_table_row744};
+  struct trace_t trace = {NULL, NULL, 8839, LOCATE_parser_tables___ParserTable___action_table_row744};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(57)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -24333,10 +25078,11 @@ val_t parser_tables___ParserTable___action_table_row744(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row745(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 8863, LOCATE_parser_tables___ParserTable___action_table_row745};
+  struct trace_t trace = {NULL, NULL, 8863, LOCATE_parser_tables___ParserTable___action_table_row745};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -24348,10 +25094,11 @@ val_t parser_tables___ParserTable___action_table_row745(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row746(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 8869, LOCATE_parser_tables___ParserTable___action_table_row746};
+  struct trace_t trace = {NULL, NULL, 8869, LOCATE_parser_tables___ParserTable___action_table_row746};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -24366,10 +25113,11 @@ val_t parser_tables___ParserTable___action_table_row746(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row747(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 8876, LOCATE_parser_tables___ParserTable___action_table_row747};
+  struct trace_t trace = {NULL, NULL, 8876, LOCATE_parser_tables___ParserTable___action_table_row747};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -24387,10 +25135,11 @@ val_t parser_tables___ParserTable___action_table_row747(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row748(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 8884, LOCATE_parser_tables___ParserTable___action_table_row748};
+  struct trace_t trace = {NULL, NULL, 8884, LOCATE_parser_tables___ParserTable___action_table_row748};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -24408,10 +25157,11 @@ val_t parser_tables___ParserTable___action_table_row748(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row749(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 8892, LOCATE_parser_tables___ParserTable___action_table_row749};
+  struct trace_t trace = {NULL, NULL, 8892, LOCATE_parser_tables___ParserTable___action_table_row749};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -24429,10 +25179,11 @@ val_t parser_tables___ParserTable___action_table_row749(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row750(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 8900, LOCATE_parser_tables___ParserTable___action_table_row750};
+  struct trace_t trace = {NULL, NULL, 8900, LOCATE_parser_tables___ParserTable___action_table_row750};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -24450,10 +25201,11 @@ val_t parser_tables___ParserTable___action_table_row750(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row751(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 8908, LOCATE_parser_tables___ParserTable___action_table_row751};
+  struct trace_t trace = {NULL, NULL, 8908, LOCATE_parser_tables___ParserTable___action_table_row751};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -24471,10 +25223,11 @@ val_t parser_tables___ParserTable___action_table_row751(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row752(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 8916, LOCATE_parser_tables___ParserTable___action_table_row752};
+  struct trace_t trace = {NULL, NULL, 8916, LOCATE_parser_tables___ParserTable___action_table_row752};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -24492,10 +25245,11 @@ val_t parser_tables___ParserTable___action_table_row752(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row753(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 8924, LOCATE_parser_tables___ParserTable___action_table_row753};
+  struct trace_t trace = {NULL, NULL, 8924, LOCATE_parser_tables___ParserTable___action_table_row753};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -24513,10 +25267,11 @@ val_t parser_tables___ParserTable___action_table_row753(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row754(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 8932, LOCATE_parser_tables___ParserTable___action_table_row754};
+  struct trace_t trace = {NULL, NULL, 8932, LOCATE_parser_tables___ParserTable___action_table_row754};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -24534,10 +25289,11 @@ val_t parser_tables___ParserTable___action_table_row754(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row755(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 8940, LOCATE_parser_tables___ParserTable___action_table_row755};
+  struct trace_t trace = {NULL, NULL, 8940, LOCATE_parser_tables___ParserTable___action_table_row755};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -24555,10 +25311,11 @@ val_t parser_tables___ParserTable___action_table_row755(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row756(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 8948, LOCATE_parser_tables___ParserTable___action_table_row756};
+  struct trace_t trace = {NULL, NULL, 8948, LOCATE_parser_tables___ParserTable___action_table_row756};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -24576,10 +25333,11 @@ val_t parser_tables___ParserTable___action_table_row756(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row757(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 8956, LOCATE_parser_tables___ParserTable___action_table_row757};
+  struct trace_t trace = {NULL, NULL, 8956, LOCATE_parser_tables___ParserTable___action_table_row757};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -24597,10 +25355,11 @@ val_t parser_tables___ParserTable___action_table_row757(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row758(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 8964, LOCATE_parser_tables___ParserTable___action_table_row758};
+  struct trace_t trace = {NULL, NULL, 8964, LOCATE_parser_tables___ParserTable___action_table_row758};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -24618,10 +25377,11 @@ val_t parser_tables___ParserTable___action_table_row758(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row759(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 8972, LOCATE_parser_tables___ParserTable___action_table_row759};
+  struct trace_t trace = {NULL, NULL, 8972, LOCATE_parser_tables___ParserTable___action_table_row759};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -24639,10 +25399,11 @@ val_t parser_tables___ParserTable___action_table_row759(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row760(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 8980, LOCATE_parser_tables___ParserTable___action_table_row760};
+  struct trace_t trace = {NULL, NULL, 8980, LOCATE_parser_tables___ParserTable___action_table_row760};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -24660,10 +25421,11 @@ val_t parser_tables___ParserTable___action_table_row760(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row761(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 8988, LOCATE_parser_tables___ParserTable___action_table_row761};
+  struct trace_t trace = {NULL, NULL, 8988, LOCATE_parser_tables___ParserTable___action_table_row761};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -24681,10 +25443,11 @@ val_t parser_tables___ParserTable___action_table_row761(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row762(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 8996, LOCATE_parser_tables___ParserTable___action_table_row762};
+  struct trace_t trace = {NULL, NULL, 8996, LOCATE_parser_tables___ParserTable___action_table_row762};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -24702,10 +25465,11 @@ val_t parser_tables___ParserTable___action_table_row762(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row763(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 9004, LOCATE_parser_tables___ParserTable___action_table_row763};
+  struct trace_t trace = {NULL, NULL, 9004, LOCATE_parser_tables___ParserTable___action_table_row763};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -24723,10 +25487,11 @@ val_t parser_tables___ParserTable___action_table_row763(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row764(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 9012, LOCATE_parser_tables___ParserTable___action_table_row764};
+  struct trace_t trace = {NULL, NULL, 9012, LOCATE_parser_tables___ParserTable___action_table_row764};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -24744,10 +25509,11 @@ val_t parser_tables___ParserTable___action_table_row764(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row765(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 9020, LOCATE_parser_tables___ParserTable___action_table_row765};
+  struct trace_t trace = {NULL, NULL, 9020, LOCATE_parser_tables___ParserTable___action_table_row765};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -24759,10 +25525,11 @@ val_t parser_tables___ParserTable___action_table_row765(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row766(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 9026, LOCATE_parser_tables___ParserTable___action_table_row766};
+  struct trace_t trace = {NULL, NULL, 9026, LOCATE_parser_tables___ParserTable___action_table_row766};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -24777,10 +25544,11 @@ val_t parser_tables___ParserTable___action_table_row766(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row767(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 9033, LOCATE_parser_tables___ParserTable___action_table_row767};
+  struct trace_t trace = {NULL, NULL, 9033, LOCATE_parser_tables___ParserTable___action_table_row767};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -24792,10 +25560,11 @@ val_t parser_tables___ParserTable___action_table_row767(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row768(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 9039, LOCATE_parser_tables___ParserTable___action_table_row768};
+  struct trace_t trace = {NULL, NULL, 9039, LOCATE_parser_tables___ParserTable___action_table_row768};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -24807,10 +25576,11 @@ val_t parser_tables___ParserTable___action_table_row768(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row769(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 9045, LOCATE_parser_tables___ParserTable___action_table_row769};
+  struct trace_t trace = {NULL, NULL, 9045, LOCATE_parser_tables___ParserTable___action_table_row769};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -24825,10 +25595,11 @@ val_t parser_tables___ParserTable___action_table_row769(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row770(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 9052, LOCATE_parser_tables___ParserTable___action_table_row770};
+  struct trace_t trace = {NULL, NULL, 9052, LOCATE_parser_tables___ParserTable___action_table_row770};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -24840,10 +25611,11 @@ val_t parser_tables___ParserTable___action_table_row770(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row771(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 9058, LOCATE_parser_tables___ParserTable___action_table_row771};
+  struct trace_t trace = {NULL, NULL, 9058, LOCATE_parser_tables___ParserTable___action_table_row771};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -24861,10 +25633,11 @@ val_t parser_tables___ParserTable___action_table_row771(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row772(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 9066, LOCATE_parser_tables___ParserTable___action_table_row772};
+  struct trace_t trace = {NULL, NULL, 9066, LOCATE_parser_tables___ParserTable___action_table_row772};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -24876,10 +25649,11 @@ val_t parser_tables___ParserTable___action_table_row772(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row773(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 9072, LOCATE_parser_tables___ParserTable___action_table_row773};
+  struct trace_t trace = {NULL, NULL, 9072, LOCATE_parser_tables___ParserTable___action_table_row773};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -24894,10 +25668,11 @@ val_t parser_tables___ParserTable___action_table_row773(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row774(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 9079, LOCATE_parser_tables___ParserTable___action_table_row774};
+  struct trace_t trace = {NULL, NULL, 9079, LOCATE_parser_tables___ParserTable___action_table_row774};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(12)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -24918,10 +25693,11 @@ val_t parser_tables___ParserTable___action_table_row774(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row775(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 9088, LOCATE_parser_tables___ParserTable___action_table_row775};
+  struct trace_t trace = {NULL, NULL, 9088, LOCATE_parser_tables___ParserTable___action_table_row775};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(24)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -24954,10 +25730,11 @@ val_t parser_tables___ParserTable___action_table_row775(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row776(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 9101, LOCATE_parser_tables___ParserTable___action_table_row776};
+  struct trace_t trace = {NULL, NULL, 9101, LOCATE_parser_tables___ParserTable___action_table_row776};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -24975,10 +25752,11 @@ val_t parser_tables___ParserTable___action_table_row776(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row777(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 9109, LOCATE_parser_tables___ParserTable___action_table_row777};
+  struct trace_t trace = {NULL, NULL, 9109, LOCATE_parser_tables___ParserTable___action_table_row777};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -24996,10 +25774,11 @@ val_t parser_tables___ParserTable___action_table_row777(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row778(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 9117, LOCATE_parser_tables___ParserTable___action_table_row778};
+  struct trace_t trace = {NULL, NULL, 9117, LOCATE_parser_tables___ParserTable___action_table_row778};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -25011,10 +25790,11 @@ val_t parser_tables___ParserTable___action_table_row778(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row779(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 9123, LOCATE_parser_tables___ParserTable___action_table_row779};
+  struct trace_t trace = {NULL, NULL, 9123, LOCATE_parser_tables___ParserTable___action_table_row779};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -25026,10 +25806,11 @@ val_t parser_tables___ParserTable___action_table_row779(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row780(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 9129, LOCATE_parser_tables___ParserTable___action_table_row780};
+  struct trace_t trace = {NULL, NULL, 9129, LOCATE_parser_tables___ParserTable___action_table_row780};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -25041,10 +25822,11 @@ val_t parser_tables___ParserTable___action_table_row780(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row781(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 9135, LOCATE_parser_tables___ParserTable___action_table_row781};
+  struct trace_t trace = {NULL, NULL, 9135, LOCATE_parser_tables___ParserTable___action_table_row781};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -25056,10 +25838,11 @@ val_t parser_tables___ParserTable___action_table_row781(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row782(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 9141, LOCATE_parser_tables___ParserTable___action_table_row782};
+  struct trace_t trace = {NULL, NULL, 9141, LOCATE_parser_tables___ParserTable___action_table_row782};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(24)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -25092,10 +25875,11 @@ val_t parser_tables___ParserTable___action_table_row782(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row783(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 9154, LOCATE_parser_tables___ParserTable___action_table_row783};
+  struct trace_t trace = {NULL, NULL, 9154, LOCATE_parser_tables___ParserTable___action_table_row783};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -25107,10 +25891,11 @@ val_t parser_tables___ParserTable___action_table_row783(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row784(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 9160, LOCATE_parser_tables___ParserTable___action_table_row784};
+  struct trace_t trace = {NULL, NULL, 9160, LOCATE_parser_tables___ParserTable___action_table_row784};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(15)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -25134,10 +25919,11 @@ val_t parser_tables___ParserTable___action_table_row784(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row785(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 9170, LOCATE_parser_tables___ParserTable___action_table_row785};
+  struct trace_t trace = {NULL, NULL, 9170, LOCATE_parser_tables___ParserTable___action_table_row785};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(15)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -25161,10 +25947,11 @@ val_t parser_tables___ParserTable___action_table_row785(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row786(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 9180, LOCATE_parser_tables___ParserTable___action_table_row786};
+  struct trace_t trace = {NULL, NULL, 9180, LOCATE_parser_tables___ParserTable___action_table_row786};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -25179,10 +25966,11 @@ val_t parser_tables___ParserTable___action_table_row786(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row787(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 9187, LOCATE_parser_tables___ParserTable___action_table_row787};
+  struct trace_t trace = {NULL, NULL, 9187, LOCATE_parser_tables___ParserTable___action_table_row787};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(12)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -25203,10 +25991,11 @@ val_t parser_tables___ParserTable___action_table_row787(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row788(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 9196, LOCATE_parser_tables___ParserTable___action_table_row788};
+  struct trace_t trace = {NULL, NULL, 9196, LOCATE_parser_tables___ParserTable___action_table_row788};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -25221,10 +26010,11 @@ val_t parser_tables___ParserTable___action_table_row788(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row789(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 9203, LOCATE_parser_tables___ParserTable___action_table_row789};
+  struct trace_t trace = {NULL, NULL, 9203, LOCATE_parser_tables___ParserTable___action_table_row789};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(45)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -25278,10 +26068,11 @@ val_t parser_tables___ParserTable___action_table_row789(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row790(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 9223, LOCATE_parser_tables___ParserTable___action_table_row790};
+  struct trace_t trace = {NULL, NULL, 9223, LOCATE_parser_tables___ParserTable___action_table_row790};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -25296,10 +26087,11 @@ val_t parser_tables___ParserTable___action_table_row790(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row791(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 9230, LOCATE_parser_tables___ParserTable___action_table_row791};
+  struct trace_t trace = {NULL, NULL, 9230, LOCATE_parser_tables___ParserTable___action_table_row791};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -25314,10 +26106,11 @@ val_t parser_tables___ParserTable___action_table_row791(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row792(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 9237, LOCATE_parser_tables___ParserTable___action_table_row792};
+  struct trace_t trace = {NULL, NULL, 9237, LOCATE_parser_tables___ParserTable___action_table_row792};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(51)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -25377,10 +26170,11 @@ val_t parser_tables___ParserTable___action_table_row792(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row793(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 9259, LOCATE_parser_tables___ParserTable___action_table_row793};
+  struct trace_t trace = {NULL, NULL, 9259, LOCATE_parser_tables___ParserTable___action_table_row793};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(15)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -25404,10 +26198,11 @@ val_t parser_tables___ParserTable___action_table_row793(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row794(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 9269, LOCATE_parser_tables___ParserTable___action_table_row794};
+  struct trace_t trace = {NULL, NULL, 9269, LOCATE_parser_tables___ParserTable___action_table_row794};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -25422,10 +26217,11 @@ val_t parser_tables___ParserTable___action_table_row794(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row795(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 9276, LOCATE_parser_tables___ParserTable___action_table_row795};
+  struct trace_t trace = {NULL, NULL, 9276, LOCATE_parser_tables___ParserTable___action_table_row795};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(12)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -25446,10 +26242,11 @@ val_t parser_tables___ParserTable___action_table_row795(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row796(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 9285, LOCATE_parser_tables___ParserTable___action_table_row796};
+  struct trace_t trace = {NULL, NULL, 9285, LOCATE_parser_tables___ParserTable___action_table_row796};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -25464,10 +26261,11 @@ val_t parser_tables___ParserTable___action_table_row796(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row797(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 9292, LOCATE_parser_tables___ParserTable___action_table_row797};
+  struct trace_t trace = {NULL, NULL, 9292, LOCATE_parser_tables___ParserTable___action_table_row797};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -25482,10 +26280,11 @@ val_t parser_tables___ParserTable___action_table_row797(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row798(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 9299, LOCATE_parser_tables___ParserTable___action_table_row798};
+  struct trace_t trace = {NULL, NULL, 9299, LOCATE_parser_tables___ParserTable___action_table_row798};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -25500,10 +26299,11 @@ val_t parser_tables___ParserTable___action_table_row798(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row799(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 9306, LOCATE_parser_tables___ParserTable___action_table_row799};
+  struct trace_t trace = {NULL, NULL, 9306, LOCATE_parser_tables___ParserTable___action_table_row799};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -25518,10 +26318,11 @@ val_t parser_tables___ParserTable___action_table_row799(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row800(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 9313, LOCATE_parser_tables___ParserTable___action_table_row800};
+  struct trace_t trace = {NULL, NULL, 9313, LOCATE_parser_tables___ParserTable___action_table_row800};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -25539,10 +26340,11 @@ val_t parser_tables___ParserTable___action_table_row800(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row801(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 9321, LOCATE_parser_tables___ParserTable___action_table_row801};
+  struct trace_t trace = {NULL, NULL, 9321, LOCATE_parser_tables___ParserTable___action_table_row801};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -25557,10 +26359,11 @@ val_t parser_tables___ParserTable___action_table_row801(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row802(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 9328, LOCATE_parser_tables___ParserTable___action_table_row802};
+  struct trace_t trace = {NULL, NULL, 9328, LOCATE_parser_tables___ParserTable___action_table_row802};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -25578,10 +26381,11 @@ val_t parser_tables___ParserTable___action_table_row802(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row803(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 9336, LOCATE_parser_tables___ParserTable___action_table_row803};
+  struct trace_t trace = {NULL, NULL, 9336, LOCATE_parser_tables___ParserTable___action_table_row803};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -25599,10 +26403,11 @@ val_t parser_tables___ParserTable___action_table_row803(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row804(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 9344, LOCATE_parser_tables___ParserTable___action_table_row804};
+  struct trace_t trace = {NULL, NULL, 9344, LOCATE_parser_tables___ParserTable___action_table_row804};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -25620,10 +26425,11 @@ val_t parser_tables___ParserTable___action_table_row804(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row805(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 9352, LOCATE_parser_tables___ParserTable___action_table_row805};
+  struct trace_t trace = {NULL, NULL, 9352, LOCATE_parser_tables___ParserTable___action_table_row805};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(24)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -25656,10 +26462,11 @@ val_t parser_tables___ParserTable___action_table_row805(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row806(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 9365, LOCATE_parser_tables___ParserTable___action_table_row806};
+  struct trace_t trace = {NULL, NULL, 9365, LOCATE_parser_tables___ParserTable___action_table_row806};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -25677,10 +26484,11 @@ val_t parser_tables___ParserTable___action_table_row806(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row807(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 9373, LOCATE_parser_tables___ParserTable___action_table_row807};
+  struct trace_t trace = {NULL, NULL, 9373, LOCATE_parser_tables___ParserTable___action_table_row807};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -25698,10 +26506,11 @@ val_t parser_tables___ParserTable___action_table_row807(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row808(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 9381, LOCATE_parser_tables___ParserTable___action_table_row808};
+  struct trace_t trace = {NULL, NULL, 9381, LOCATE_parser_tables___ParserTable___action_table_row808};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -25716,10 +26525,11 @@ val_t parser_tables___ParserTable___action_table_row808(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row809(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 9388, LOCATE_parser_tables___ParserTable___action_table_row809};
+  struct trace_t trace = {NULL, NULL, 9388, LOCATE_parser_tables___ParserTable___action_table_row809};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -25731,10 +26541,11 @@ val_t parser_tables___ParserTable___action_table_row809(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row810(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 9394, LOCATE_parser_tables___ParserTable___action_table_row810};
+  struct trace_t trace = {NULL, NULL, 9394, LOCATE_parser_tables___ParserTable___action_table_row810};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -25752,10 +26563,11 @@ val_t parser_tables___ParserTable___action_table_row810(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row811(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 9402, LOCATE_parser_tables___ParserTable___action_table_row811};
+  struct trace_t trace = {NULL, NULL, 9402, LOCATE_parser_tables___ParserTable___action_table_row811};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(24)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -25788,10 +26600,11 @@ val_t parser_tables___ParserTable___action_table_row811(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row812(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 9415, LOCATE_parser_tables___ParserTable___action_table_row812};
+  struct trace_t trace = {NULL, NULL, 9415, LOCATE_parser_tables___ParserTable___action_table_row812};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -25809,10 +26622,11 @@ val_t parser_tables___ParserTable___action_table_row812(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row813(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 9423, LOCATE_parser_tables___ParserTable___action_table_row813};
+  struct trace_t trace = {NULL, NULL, 9423, LOCATE_parser_tables___ParserTable___action_table_row813};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -25830,10 +26644,11 @@ val_t parser_tables___ParserTable___action_table_row813(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row814(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 9431, LOCATE_parser_tables___ParserTable___action_table_row814};
+  struct trace_t trace = {NULL, NULL, 9431, LOCATE_parser_tables___ParserTable___action_table_row814};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -25845,10 +26660,11 @@ val_t parser_tables___ParserTable___action_table_row814(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row815(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 9437, LOCATE_parser_tables___ParserTable___action_table_row815};
+  struct trace_t trace = {NULL, NULL, 9437, LOCATE_parser_tables___ParserTable___action_table_row815};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -25860,10 +26676,11 @@ val_t parser_tables___ParserTable___action_table_row815(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row816(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 9443, LOCATE_parser_tables___ParserTable___action_table_row816};
+  struct trace_t trace = {NULL, NULL, 9443, LOCATE_parser_tables___ParserTable___action_table_row816};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(24)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -25896,10 +26713,11 @@ val_t parser_tables___ParserTable___action_table_row816(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row817(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 9456, LOCATE_parser_tables___ParserTable___action_table_row817};
+  struct trace_t trace = {NULL, NULL, 9456, LOCATE_parser_tables___ParserTable___action_table_row817};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(24)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -25932,10 +26750,11 @@ val_t parser_tables___ParserTable___action_table_row817(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row818(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 9469, LOCATE_parser_tables___ParserTable___action_table_row818};
+  struct trace_t trace = {NULL, NULL, 9469, LOCATE_parser_tables___ParserTable___action_table_row818};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -25953,10 +26772,11 @@ val_t parser_tables___ParserTable___action_table_row818(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row819(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 9477, LOCATE_parser_tables___ParserTable___action_table_row819};
+  struct trace_t trace = {NULL, NULL, 9477, LOCATE_parser_tables___ParserTable___action_table_row819};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(87)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -26052,10 +26872,11 @@ val_t parser_tables___ParserTable___action_table_row819(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row820(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 9511, LOCATE_parser_tables___ParserTable___action_table_row820};
+  struct trace_t trace = {NULL, NULL, 9511, LOCATE_parser_tables___ParserTable___action_table_row820};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -26073,10 +26894,11 @@ val_t parser_tables___ParserTable___action_table_row820(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row821(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 9519, LOCATE_parser_tables___ParserTable___action_table_row821};
+  struct trace_t trace = {NULL, NULL, 9519, LOCATE_parser_tables___ParserTable___action_table_row821};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -26091,10 +26913,11 @@ val_t parser_tables___ParserTable___action_table_row821(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row822(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 9526, LOCATE_parser_tables___ParserTable___action_table_row822};
+  struct trace_t trace = {NULL, NULL, 9526, LOCATE_parser_tables___ParserTable___action_table_row822};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -26109,10 +26932,11 @@ val_t parser_tables___ParserTable___action_table_row822(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row823(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 9533, LOCATE_parser_tables___ParserTable___action_table_row823};
+  struct trace_t trace = {NULL, NULL, 9533, LOCATE_parser_tables___ParserTable___action_table_row823};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -26124,10 +26948,11 @@ val_t parser_tables___ParserTable___action_table_row823(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row824(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 9539, LOCATE_parser_tables___ParserTable___action_table_row824};
+  struct trace_t trace = {NULL, NULL, 9539, LOCATE_parser_tables___ParserTable___action_table_row824};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(69)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -26205,10 +27030,11 @@ val_t parser_tables___ParserTable___action_table_row824(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row825(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 9567, LOCATE_parser_tables___ParserTable___action_table_row825};
+  struct trace_t trace = {NULL, NULL, 9567, LOCATE_parser_tables___ParserTable___action_table_row825};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(78)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -26295,10 +27121,11 @@ val_t parser_tables___ParserTable___action_table_row825(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row826(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 9598, LOCATE_parser_tables___ParserTable___action_table_row826};
+  struct trace_t trace = {NULL, NULL, 9598, LOCATE_parser_tables___ParserTable___action_table_row826};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -26310,10 +27137,11 @@ val_t parser_tables___ParserTable___action_table_row826(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row827(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 9604, LOCATE_parser_tables___ParserTable___action_table_row827};
+  struct trace_t trace = {NULL, NULL, 9604, LOCATE_parser_tables___ParserTable___action_table_row827};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(90)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -26412,10 +27240,11 @@ val_t parser_tables___ParserTable___action_table_row827(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row828(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 9639, LOCATE_parser_tables___ParserTable___action_table_row828};
+  struct trace_t trace = {NULL, NULL, 9639, LOCATE_parser_tables___ParserTable___action_table_row828};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -26430,10 +27259,11 @@ val_t parser_tables___ParserTable___action_table_row828(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row829(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 9646, LOCATE_parser_tables___ParserTable___action_table_row829};
+  struct trace_t trace = {NULL, NULL, 9646, LOCATE_parser_tables___ParserTable___action_table_row829};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -26445,10 +27275,11 @@ val_t parser_tables___ParserTable___action_table_row829(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row830(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 9652, LOCATE_parser_tables___ParserTable___action_table_row830};
+  struct trace_t trace = {NULL, NULL, 9652, LOCATE_parser_tables___ParserTable___action_table_row830};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -26466,10 +27297,11 @@ val_t parser_tables___ParserTable___action_table_row830(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row831(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 9660, LOCATE_parser_tables___ParserTable___action_table_row831};
+  struct trace_t trace = {NULL, NULL, 9660, LOCATE_parser_tables___ParserTable___action_table_row831};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -26481,10 +27313,11 @@ val_t parser_tables___ParserTable___action_table_row831(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row832(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 9666, LOCATE_parser_tables___ParserTable___action_table_row832};
+  struct trace_t trace = {NULL, NULL, 9666, LOCATE_parser_tables___ParserTable___action_table_row832};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -26496,10 +27329,11 @@ val_t parser_tables___ParserTable___action_table_row832(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row833(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 9672, LOCATE_parser_tables___ParserTable___action_table_row833};
+  struct trace_t trace = {NULL, NULL, 9672, LOCATE_parser_tables___ParserTable___action_table_row833};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -26517,10 +27351,11 @@ val_t parser_tables___ParserTable___action_table_row833(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row834(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 9680, LOCATE_parser_tables___ParserTable___action_table_row834};
+  struct trace_t trace = {NULL, NULL, 9680, LOCATE_parser_tables___ParserTable___action_table_row834};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -26532,10 +27367,11 @@ val_t parser_tables___ParserTable___action_table_row834(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row835(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 9686, LOCATE_parser_tables___ParserTable___action_table_row835};
+  struct trace_t trace = {NULL, NULL, 9686, LOCATE_parser_tables___ParserTable___action_table_row835};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -26547,10 +27383,11 @@ val_t parser_tables___ParserTable___action_table_row835(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row836(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 9692, LOCATE_parser_tables___ParserTable___action_table_row836};
+  struct trace_t trace = {NULL, NULL, 9692, LOCATE_parser_tables___ParserTable___action_table_row836};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -26562,10 +27399,11 @@ val_t parser_tables___ParserTable___action_table_row836(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row837(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 9698, LOCATE_parser_tables___ParserTable___action_table_row837};
+  struct trace_t trace = {NULL, NULL, 9698, LOCATE_parser_tables___ParserTable___action_table_row837};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -26577,10 +27415,11 @@ val_t parser_tables___ParserTable___action_table_row837(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row838(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 9704, LOCATE_parser_tables___ParserTable___action_table_row838};
+  struct trace_t trace = {NULL, NULL, 9704, LOCATE_parser_tables___ParserTable___action_table_row838};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -26592,10 +27431,11 @@ val_t parser_tables___ParserTable___action_table_row838(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row839(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 9710, LOCATE_parser_tables___ParserTable___action_table_row839};
+  struct trace_t trace = {NULL, NULL, 9710, LOCATE_parser_tables___ParserTable___action_table_row839};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -26607,10 +27447,11 @@ val_t parser_tables___ParserTable___action_table_row839(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row840(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 9716, LOCATE_parser_tables___ParserTable___action_table_row840};
+  struct trace_t trace = {NULL, NULL, 9716, LOCATE_parser_tables___ParserTable___action_table_row840};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(60)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -26679,10 +27520,11 @@ val_t parser_tables___ParserTable___action_table_row840(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row841(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 9741, LOCATE_parser_tables___ParserTable___action_table_row841};
+  struct trace_t trace = {NULL, NULL, 9741, LOCATE_parser_tables___ParserTable___action_table_row841};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(60)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -26751,10 +27593,11 @@ val_t parser_tables___ParserTable___action_table_row841(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row842(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 9766, LOCATE_parser_tables___ParserTable___action_table_row842};
+  struct trace_t trace = {NULL, NULL, 9766, LOCATE_parser_tables___ParserTable___action_table_row842};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(57)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -26820,10 +27663,11 @@ val_t parser_tables___ParserTable___action_table_row842(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row843(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 9790, LOCATE_parser_tables___ParserTable___action_table_row843};
+  struct trace_t trace = {NULL, NULL, 9790, LOCATE_parser_tables___ParserTable___action_table_row843};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -26838,10 +27682,11 @@ val_t parser_tables___ParserTable___action_table_row843(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row844(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 9797, LOCATE_parser_tables___ParserTable___action_table_row844};
+  struct trace_t trace = {NULL, NULL, 9797, LOCATE_parser_tables___ParserTable___action_table_row844};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(57)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -26907,10 +27752,11 @@ val_t parser_tables___ParserTable___action_table_row844(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row845(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 9821, LOCATE_parser_tables___ParserTable___action_table_row845};
+  struct trace_t trace = {NULL, NULL, 9821, LOCATE_parser_tables___ParserTable___action_table_row845};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(57)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -26976,10 +27822,11 @@ val_t parser_tables___ParserTable___action_table_row845(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row846(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 9845, LOCATE_parser_tables___ParserTable___action_table_row846};
+  struct trace_t trace = {NULL, NULL, 9845, LOCATE_parser_tables___ParserTable___action_table_row846};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(57)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -27045,10 +27892,11 @@ val_t parser_tables___ParserTable___action_table_row846(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row847(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 9869, LOCATE_parser_tables___ParserTable___action_table_row847};
+  struct trace_t trace = {NULL, NULL, 9869, LOCATE_parser_tables___ParserTable___action_table_row847};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(57)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -27114,10 +27962,11 @@ val_t parser_tables___ParserTable___action_table_row847(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row848(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 9893, LOCATE_parser_tables___ParserTable___action_table_row848};
+  struct trace_t trace = {NULL, NULL, 9893, LOCATE_parser_tables___ParserTable___action_table_row848};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(57)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -27183,10 +28032,11 @@ val_t parser_tables___ParserTable___action_table_row848(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row849(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 9917, LOCATE_parser_tables___ParserTable___action_table_row849};
+  struct trace_t trace = {NULL, NULL, 9917, LOCATE_parser_tables___ParserTable___action_table_row849};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(57)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -27252,10 +28102,11 @@ val_t parser_tables___ParserTable___action_table_row849(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row850(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 9941, LOCATE_parser_tables___ParserTable___action_table_row850};
+  struct trace_t trace = {NULL, NULL, 9941, LOCATE_parser_tables___ParserTable___action_table_row850};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(57)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -27321,10 +28172,11 @@ val_t parser_tables___ParserTable___action_table_row850(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row851(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 9965, LOCATE_parser_tables___ParserTable___action_table_row851};
+  struct trace_t trace = {NULL, NULL, 9965, LOCATE_parser_tables___ParserTable___action_table_row851};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(57)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -27390,10 +28242,11 @@ val_t parser_tables___ParserTable___action_table_row851(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row852(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 9989, LOCATE_parser_tables___ParserTable___action_table_row852};
+  struct trace_t trace = {NULL, NULL, 9989, LOCATE_parser_tables___ParserTable___action_table_row852};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(57)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -27459,10 +28312,11 @@ val_t parser_tables___ParserTable___action_table_row852(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row853(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 10013, LOCATE_parser_tables___ParserTable___action_table_row853};
+  struct trace_t trace = {NULL, NULL, 10013, LOCATE_parser_tables___ParserTable___action_table_row853};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(57)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -27528,10 +28382,11 @@ val_t parser_tables___ParserTable___action_table_row853(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row854(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 10037, LOCATE_parser_tables___ParserTable___action_table_row854};
+  struct trace_t trace = {NULL, NULL, 10037, LOCATE_parser_tables___ParserTable___action_table_row854};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(57)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -27597,10 +28452,11 @@ val_t parser_tables___ParserTable___action_table_row854(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row855(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 10061, LOCATE_parser_tables___ParserTable___action_table_row855};
+  struct trace_t trace = {NULL, NULL, 10061, LOCATE_parser_tables___ParserTable___action_table_row855};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(57)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -27666,10 +28522,11 @@ val_t parser_tables___ParserTable___action_table_row855(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row856(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 10085, LOCATE_parser_tables___ParserTable___action_table_row856};
+  struct trace_t trace = {NULL, NULL, 10085, LOCATE_parser_tables___ParserTable___action_table_row856};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(15)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -27693,10 +28550,11 @@ val_t parser_tables___ParserTable___action_table_row856(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row857(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 10095, LOCATE_parser_tables___ParserTable___action_table_row857};
+  struct trace_t trace = {NULL, NULL, 10095, LOCATE_parser_tables___ParserTable___action_table_row857};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -27708,10 +28566,11 @@ val_t parser_tables___ParserTable___action_table_row857(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row858(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 10101, LOCATE_parser_tables___ParserTable___action_table_row858};
+  struct trace_t trace = {NULL, NULL, 10101, LOCATE_parser_tables___ParserTable___action_table_row858};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -27723,10 +28582,11 @@ val_t parser_tables___ParserTable___action_table_row858(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row859(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 10107, LOCATE_parser_tables___ParserTable___action_table_row859};
+  struct trace_t trace = {NULL, NULL, 10107, LOCATE_parser_tables___ParserTable___action_table_row859};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -27741,10 +28601,11 @@ val_t parser_tables___ParserTable___action_table_row859(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row860(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 10114, LOCATE_parser_tables___ParserTable___action_table_row860};
+  struct trace_t trace = {NULL, NULL, 10114, LOCATE_parser_tables___ParserTable___action_table_row860};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -27756,10 +28617,11 @@ val_t parser_tables___ParserTable___action_table_row860(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row861(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 10120, LOCATE_parser_tables___ParserTable___action_table_row861};
+  struct trace_t trace = {NULL, NULL, 10120, LOCATE_parser_tables___ParserTable___action_table_row861};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -27771,10 +28633,11 @@ val_t parser_tables___ParserTable___action_table_row861(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row862(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 10126, LOCATE_parser_tables___ParserTable___action_table_row862};
+  struct trace_t trace = {NULL, NULL, 10126, LOCATE_parser_tables___ParserTable___action_table_row862};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -27789,10 +28652,11 @@ val_t parser_tables___ParserTable___action_table_row862(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row863(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 10133, LOCATE_parser_tables___ParserTable___action_table_row863};
+  struct trace_t trace = {NULL, NULL, 10133, LOCATE_parser_tables___ParserTable___action_table_row863};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -27804,10 +28668,11 @@ val_t parser_tables___ParserTable___action_table_row863(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row864(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 10139, LOCATE_parser_tables___ParserTable___action_table_row864};
+  struct trace_t trace = {NULL, NULL, 10139, LOCATE_parser_tables___ParserTable___action_table_row864};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(24)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -27840,10 +28705,11 @@ val_t parser_tables___ParserTable___action_table_row864(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row865(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 10152, LOCATE_parser_tables___ParserTable___action_table_row865};
+  struct trace_t trace = {NULL, NULL, 10152, LOCATE_parser_tables___ParserTable___action_table_row865};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(24)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -27876,10 +28742,11 @@ val_t parser_tables___ParserTable___action_table_row865(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row866(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 10165, LOCATE_parser_tables___ParserTable___action_table_row866};
+  struct trace_t trace = {NULL, NULL, 10165, LOCATE_parser_tables___ParserTable___action_table_row866};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -27897,10 +28764,11 @@ val_t parser_tables___ParserTable___action_table_row866(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row867(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 10173, LOCATE_parser_tables___ParserTable___action_table_row867};
+  struct trace_t trace = {NULL, NULL, 10173, LOCATE_parser_tables___ParserTable___action_table_row867};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -27912,10 +28780,11 @@ val_t parser_tables___ParserTable___action_table_row867(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row868(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 10179, LOCATE_parser_tables___ParserTable___action_table_row868};
+  struct trace_t trace = {NULL, NULL, 10179, LOCATE_parser_tables___ParserTable___action_table_row868};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(15)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -27939,10 +28808,11 @@ val_t parser_tables___ParserTable___action_table_row868(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row869(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 10189, LOCATE_parser_tables___ParserTable___action_table_row869};
+  struct trace_t trace = {NULL, NULL, 10189, LOCATE_parser_tables___ParserTable___action_table_row869};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -27957,10 +28827,11 @@ val_t parser_tables___ParserTable___action_table_row869(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row870(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 10196, LOCATE_parser_tables___ParserTable___action_table_row870};
+  struct trace_t trace = {NULL, NULL, 10196, LOCATE_parser_tables___ParserTable___action_table_row870};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(12)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -27981,10 +28852,11 @@ val_t parser_tables___ParserTable___action_table_row870(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row871(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 10205, LOCATE_parser_tables___ParserTable___action_table_row871};
+  struct trace_t trace = {NULL, NULL, 10205, LOCATE_parser_tables___ParserTable___action_table_row871};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -27999,10 +28871,11 @@ val_t parser_tables___ParserTable___action_table_row871(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row872(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 10212, LOCATE_parser_tables___ParserTable___action_table_row872};
+  struct trace_t trace = {NULL, NULL, 10212, LOCATE_parser_tables___ParserTable___action_table_row872};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -28017,10 +28890,11 @@ val_t parser_tables___ParserTable___action_table_row872(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row873(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 10219, LOCATE_parser_tables___ParserTable___action_table_row873};
+  struct trace_t trace = {NULL, NULL, 10219, LOCATE_parser_tables___ParserTable___action_table_row873};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -28035,10 +28909,11 @@ val_t parser_tables___ParserTable___action_table_row873(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row874(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 10226, LOCATE_parser_tables___ParserTable___action_table_row874};
+  struct trace_t trace = {NULL, NULL, 10226, LOCATE_parser_tables___ParserTable___action_table_row874};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -28053,10 +28928,11 @@ val_t parser_tables___ParserTable___action_table_row874(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row875(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 10233, LOCATE_parser_tables___ParserTable___action_table_row875};
+  struct trace_t trace = {NULL, NULL, 10233, LOCATE_parser_tables___ParserTable___action_table_row875};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -28074,10 +28950,11 @@ val_t parser_tables___ParserTable___action_table_row875(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row876(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 10241, LOCATE_parser_tables___ParserTable___action_table_row876};
+  struct trace_t trace = {NULL, NULL, 10241, LOCATE_parser_tables___ParserTable___action_table_row876};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -28092,10 +28969,11 @@ val_t parser_tables___ParserTable___action_table_row876(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row877(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 10248, LOCATE_parser_tables___ParserTable___action_table_row877};
+  struct trace_t trace = {NULL, NULL, 10248, LOCATE_parser_tables___ParserTable___action_table_row877};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -28113,10 +28991,11 @@ val_t parser_tables___ParserTable___action_table_row877(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row878(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 10256, LOCATE_parser_tables___ParserTable___action_table_row878};
+  struct trace_t trace = {NULL, NULL, 10256, LOCATE_parser_tables___ParserTable___action_table_row878};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -28134,10 +29013,11 @@ val_t parser_tables___ParserTable___action_table_row878(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row879(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 10264, LOCATE_parser_tables___ParserTable___action_table_row879};
+  struct trace_t trace = {NULL, NULL, 10264, LOCATE_parser_tables___ParserTable___action_table_row879};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -28155,10 +29035,11 @@ val_t parser_tables___ParserTable___action_table_row879(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row880(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 10272, LOCATE_parser_tables___ParserTable___action_table_row880};
+  struct trace_t trace = {NULL, NULL, 10272, LOCATE_parser_tables___ParserTable___action_table_row880};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(12)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -28179,10 +29060,11 @@ val_t parser_tables___ParserTable___action_table_row880(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row881(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 10281, LOCATE_parser_tables___ParserTable___action_table_row881};
+  struct trace_t trace = {NULL, NULL, 10281, LOCATE_parser_tables___ParserTable___action_table_row881};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -28197,10 +29079,11 @@ val_t parser_tables___ParserTable___action_table_row881(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row882(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 10288, LOCATE_parser_tables___ParserTable___action_table_row882};
+  struct trace_t trace = {NULL, NULL, 10288, LOCATE_parser_tables___ParserTable___action_table_row882};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -28215,10 +29098,11 @@ val_t parser_tables___ParserTable___action_table_row882(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row883(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 10295, LOCATE_parser_tables___ParserTable___action_table_row883};
+  struct trace_t trace = {NULL, NULL, 10295, LOCATE_parser_tables___ParserTable___action_table_row883};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -28233,10 +29117,11 @@ val_t parser_tables___ParserTable___action_table_row883(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row884(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 10302, LOCATE_parser_tables___ParserTable___action_table_row884};
+  struct trace_t trace = {NULL, NULL, 10302, LOCATE_parser_tables___ParserTable___action_table_row884};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -28251,10 +29136,11 @@ val_t parser_tables___ParserTable___action_table_row884(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row885(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 10309, LOCATE_parser_tables___ParserTable___action_table_row885};
+  struct trace_t trace = {NULL, NULL, 10309, LOCATE_parser_tables___ParserTable___action_table_row885};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -28272,10 +29158,11 @@ val_t parser_tables___ParserTable___action_table_row885(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row886(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 10317, LOCATE_parser_tables___ParserTable___action_table_row886};
+  struct trace_t trace = {NULL, NULL, 10317, LOCATE_parser_tables___ParserTable___action_table_row886};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -28290,10 +29177,11 @@ val_t parser_tables___ParserTable___action_table_row886(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row887(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 10324, LOCATE_parser_tables___ParserTable___action_table_row887};
+  struct trace_t trace = {NULL, NULL, 10324, LOCATE_parser_tables___ParserTable___action_table_row887};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -28311,10 +29199,11 @@ val_t parser_tables___ParserTable___action_table_row887(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row888(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 10332, LOCATE_parser_tables___ParserTable___action_table_row888};
+  struct trace_t trace = {NULL, NULL, 10332, LOCATE_parser_tables___ParserTable___action_table_row888};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(12)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -28335,10 +29224,11 @@ val_t parser_tables___ParserTable___action_table_row888(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row889(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 10341, LOCATE_parser_tables___ParserTable___action_table_row889};
+  struct trace_t trace = {NULL, NULL, 10341, LOCATE_parser_tables___ParserTable___action_table_row889};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -28350,10 +29240,11 @@ val_t parser_tables___ParserTable___action_table_row889(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row890(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 10347, LOCATE_parser_tables___ParserTable___action_table_row890};
+  struct trace_t trace = {NULL, NULL, 10347, LOCATE_parser_tables___ParserTable___action_table_row890};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -28371,10 +29262,11 @@ val_t parser_tables___ParserTable___action_table_row890(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row891(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 10355, LOCATE_parser_tables___ParserTable___action_table_row891};
+  struct trace_t trace = {NULL, NULL, 10355, LOCATE_parser_tables___ParserTable___action_table_row891};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -28389,10 +29281,11 @@ val_t parser_tables___ParserTable___action_table_row891(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row892(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 10362, LOCATE_parser_tables___ParserTable___action_table_row892};
+  struct trace_t trace = {NULL, NULL, 10362, LOCATE_parser_tables___ParserTable___action_table_row892};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -28410,10 +29303,11 @@ val_t parser_tables___ParserTable___action_table_row892(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row893(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 10370, LOCATE_parser_tables___ParserTable___action_table_row893};
+  struct trace_t trace = {NULL, NULL, 10370, LOCATE_parser_tables___ParserTable___action_table_row893};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -28428,10 +29322,11 @@ val_t parser_tables___ParserTable___action_table_row893(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row894(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 10377, LOCATE_parser_tables___ParserTable___action_table_row894};
+  struct trace_t trace = {NULL, NULL, 10377, LOCATE_parser_tables___ParserTable___action_table_row894};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -28443,10 +29338,11 @@ val_t parser_tables___ParserTable___action_table_row894(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row895(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 10383, LOCATE_parser_tables___ParserTable___action_table_row895};
+  struct trace_t trace = {NULL, NULL, 10383, LOCATE_parser_tables___ParserTable___action_table_row895};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(24)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -28479,10 +29375,11 @@ val_t parser_tables___ParserTable___action_table_row895(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row896(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 10396, LOCATE_parser_tables___ParserTable___action_table_row896};
+  struct trace_t trace = {NULL, NULL, 10396, LOCATE_parser_tables___ParserTable___action_table_row896};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -28497,10 +29394,11 @@ val_t parser_tables___ParserTable___action_table_row896(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row897(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 10403, LOCATE_parser_tables___ParserTable___action_table_row897};
+  struct trace_t trace = {NULL, NULL, 10403, LOCATE_parser_tables___ParserTable___action_table_row897};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -28518,10 +29416,11 @@ val_t parser_tables___ParserTable___action_table_row897(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row898(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 10411, LOCATE_parser_tables___ParserTable___action_table_row898};
+  struct trace_t trace = {NULL, NULL, 10411, LOCATE_parser_tables___ParserTable___action_table_row898};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -28536,10 +29435,11 @@ val_t parser_tables___ParserTable___action_table_row898(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row899(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 10418, LOCATE_parser_tables___ParserTable___action_table_row899};
+  struct trace_t trace = {NULL, NULL, 10418, LOCATE_parser_tables___ParserTable___action_table_row899};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -28551,10 +29451,11 @@ val_t parser_tables___ParserTable___action_table_row899(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row900(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 10424, LOCATE_parser_tables___ParserTable___action_table_row900};
+  struct trace_t trace = {NULL, NULL, 10424, LOCATE_parser_tables___ParserTable___action_table_row900};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(24)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -28587,10 +29488,11 @@ val_t parser_tables___ParserTable___action_table_row900(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row901(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 10437, LOCATE_parser_tables___ParserTable___action_table_row901};
+  struct trace_t trace = {NULL, NULL, 10437, LOCATE_parser_tables___ParserTable___action_table_row901};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(24)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -28623,10 +29525,11 @@ val_t parser_tables___ParserTable___action_table_row901(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row902(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 10450, LOCATE_parser_tables___ParserTable___action_table_row902};
+  struct trace_t trace = {NULL, NULL, 10450, LOCATE_parser_tables___ParserTable___action_table_row902};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -28644,10 +29547,11 @@ val_t parser_tables___ParserTable___action_table_row902(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row903(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 10458, LOCATE_parser_tables___ParserTable___action_table_row903};
+  struct trace_t trace = {NULL, NULL, 10458, LOCATE_parser_tables___ParserTable___action_table_row903};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -28659,10 +29563,11 @@ val_t parser_tables___ParserTable___action_table_row903(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row904(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 10464, LOCATE_parser_tables___ParserTable___action_table_row904};
+  struct trace_t trace = {NULL, NULL, 10464, LOCATE_parser_tables___ParserTable___action_table_row904};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -28674,10 +29579,11 @@ val_t parser_tables___ParserTable___action_table_row904(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row905(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 10470, LOCATE_parser_tables___ParserTable___action_table_row905};
+  struct trace_t trace = {NULL, NULL, 10470, LOCATE_parser_tables___ParserTable___action_table_row905};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(24)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -28710,10 +29616,11 @@ val_t parser_tables___ParserTable___action_table_row905(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row906(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 10483, LOCATE_parser_tables___ParserTable___action_table_row906};
+  struct trace_t trace = {NULL, NULL, 10483, LOCATE_parser_tables___ParserTable___action_table_row906};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -28728,10 +29635,11 @@ val_t parser_tables___ParserTable___action_table_row906(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row907(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 10490, LOCATE_parser_tables___ParserTable___action_table_row907};
+  struct trace_t trace = {NULL, NULL, 10490, LOCATE_parser_tables___ParserTable___action_table_row907};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(87)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -28827,10 +29735,11 @@ val_t parser_tables___ParserTable___action_table_row907(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row908(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 10524, LOCATE_parser_tables___ParserTable___action_table_row908};
+  struct trace_t trace = {NULL, NULL, 10524, LOCATE_parser_tables___ParserTable___action_table_row908};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(96)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -28935,10 +29844,11 @@ val_t parser_tables___ParserTable___action_table_row908(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row909(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 10561, LOCATE_parser_tables___ParserTable___action_table_row909};
+  struct trace_t trace = {NULL, NULL, 10561, LOCATE_parser_tables___ParserTable___action_table_row909};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(93)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -29040,10 +29950,11 @@ val_t parser_tables___ParserTable___action_table_row909(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row910(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 10597, LOCATE_parser_tables___ParserTable___action_table_row910};
+  struct trace_t trace = {NULL, NULL, 10597, LOCATE_parser_tables___ParserTable___action_table_row910};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -29058,10 +29969,11 @@ val_t parser_tables___ParserTable___action_table_row910(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row911(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 10604, LOCATE_parser_tables___ParserTable___action_table_row911};
+  struct trace_t trace = {NULL, NULL, 10604, LOCATE_parser_tables___ParserTable___action_table_row911};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -29076,10 +29988,11 @@ val_t parser_tables___ParserTable___action_table_row911(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row912(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 10611, LOCATE_parser_tables___ParserTable___action_table_row912};
+  struct trace_t trace = {NULL, NULL, 10611, LOCATE_parser_tables___ParserTable___action_table_row912};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -29091,10 +30004,11 @@ val_t parser_tables___ParserTable___action_table_row912(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row913(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 10617, LOCATE_parser_tables___ParserTable___action_table_row913};
+  struct trace_t trace = {NULL, NULL, 10617, LOCATE_parser_tables___ParserTable___action_table_row913};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -29112,10 +30026,11 @@ val_t parser_tables___ParserTable___action_table_row913(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row914(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 10625, LOCATE_parser_tables___ParserTable___action_table_row914};
+  struct trace_t trace = {NULL, NULL, 10625, LOCATE_parser_tables___ParserTable___action_table_row914};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -29130,10 +30045,11 @@ val_t parser_tables___ParserTable___action_table_row914(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row915(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 10632, LOCATE_parser_tables___ParserTable___action_table_row915};
+  struct trace_t trace = {NULL, NULL, 10632, LOCATE_parser_tables___ParserTable___action_table_row915};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -29151,10 +30067,11 @@ val_t parser_tables___ParserTable___action_table_row915(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row916(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 10640, LOCATE_parser_tables___ParserTable___action_table_row916};
+  struct trace_t trace = {NULL, NULL, 10640, LOCATE_parser_tables___ParserTable___action_table_row916};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -29166,10 +30083,11 @@ val_t parser_tables___ParserTable___action_table_row916(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row917(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 10646, LOCATE_parser_tables___ParserTable___action_table_row917};
+  struct trace_t trace = {NULL, NULL, 10646, LOCATE_parser_tables___ParserTable___action_table_row917};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -29181,10 +30099,11 @@ val_t parser_tables___ParserTable___action_table_row917(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row918(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 10652, LOCATE_parser_tables___ParserTable___action_table_row918};
+  struct trace_t trace = {NULL, NULL, 10652, LOCATE_parser_tables___ParserTable___action_table_row918};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -29196,10 +30115,11 @@ val_t parser_tables___ParserTable___action_table_row918(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row919(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 10658, LOCATE_parser_tables___ParserTable___action_table_row919};
+  struct trace_t trace = {NULL, NULL, 10658, LOCATE_parser_tables___ParserTable___action_table_row919};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -29217,10 +30137,11 @@ val_t parser_tables___ParserTable___action_table_row919(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row920(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 10666, LOCATE_parser_tables___ParserTable___action_table_row920};
+  struct trace_t trace = {NULL, NULL, 10666, LOCATE_parser_tables___ParserTable___action_table_row920};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -29232,10 +30153,11 @@ val_t parser_tables___ParserTable___action_table_row920(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row921(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 10672, LOCATE_parser_tables___ParserTable___action_table_row921};
+  struct trace_t trace = {NULL, NULL, 10672, LOCATE_parser_tables___ParserTable___action_table_row921};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(12)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -29256,10 +30178,11 @@ val_t parser_tables___ParserTable___action_table_row921(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row922(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 10681, LOCATE_parser_tables___ParserTable___action_table_row922};
+  struct trace_t trace = {NULL, NULL, 10681, LOCATE_parser_tables___ParserTable___action_table_row922};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(12)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -29280,10 +30203,11 @@ val_t parser_tables___ParserTable___action_table_row922(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row923(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 10690, LOCATE_parser_tables___ParserTable___action_table_row923};
+  struct trace_t trace = {NULL, NULL, 10690, LOCATE_parser_tables___ParserTable___action_table_row923};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -29301,10 +30225,11 @@ val_t parser_tables___ParserTable___action_table_row923(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row924(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 10698, LOCATE_parser_tables___ParserTable___action_table_row924};
+  struct trace_t trace = {NULL, NULL, 10698, LOCATE_parser_tables___ParserTable___action_table_row924};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -29322,10 +30247,11 @@ val_t parser_tables___ParserTable___action_table_row924(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row925(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 10706, LOCATE_parser_tables___ParserTable___action_table_row925};
+  struct trace_t trace = {NULL, NULL, 10706, LOCATE_parser_tables___ParserTable___action_table_row925};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -29343,10 +30269,11 @@ val_t parser_tables___ParserTable___action_table_row925(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row926(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 10714, LOCATE_parser_tables___ParserTable___action_table_row926};
+  struct trace_t trace = {NULL, NULL, 10714, LOCATE_parser_tables___ParserTable___action_table_row926};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -29364,10 +30291,11 @@ val_t parser_tables___ParserTable___action_table_row926(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row927(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 10722, LOCATE_parser_tables___ParserTable___action_table_row927};
+  struct trace_t trace = {NULL, NULL, 10722, LOCATE_parser_tables___ParserTable___action_table_row927};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -29385,10 +30313,11 @@ val_t parser_tables___ParserTable___action_table_row927(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row928(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 10730, LOCATE_parser_tables___ParserTable___action_table_row928};
+  struct trace_t trace = {NULL, NULL, 10730, LOCATE_parser_tables___ParserTable___action_table_row928};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -29406,10 +30335,11 @@ val_t parser_tables___ParserTable___action_table_row928(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row929(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 10738, LOCATE_parser_tables___ParserTable___action_table_row929};
+  struct trace_t trace = {NULL, NULL, 10738, LOCATE_parser_tables___ParserTable___action_table_row929};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -29427,10 +30357,11 @@ val_t parser_tables___ParserTable___action_table_row929(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row930(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 10746, LOCATE_parser_tables___ParserTable___action_table_row930};
+  struct trace_t trace = {NULL, NULL, 10746, LOCATE_parser_tables___ParserTable___action_table_row930};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -29442,10 +30373,11 @@ val_t parser_tables___ParserTable___action_table_row930(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row931(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 10752, LOCATE_parser_tables___ParserTable___action_table_row931};
+  struct trace_t trace = {NULL, NULL, 10752, LOCATE_parser_tables___ParserTable___action_table_row931};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -29457,10 +30389,11 @@ val_t parser_tables___ParserTable___action_table_row931(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row932(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 10758, LOCATE_parser_tables___ParserTable___action_table_row932};
+  struct trace_t trace = {NULL, NULL, 10758, LOCATE_parser_tables___ParserTable___action_table_row932};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -29472,10 +30405,11 @@ val_t parser_tables___ParserTable___action_table_row932(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row933(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 10764, LOCATE_parser_tables___ParserTable___action_table_row933};
+  struct trace_t trace = {NULL, NULL, 10764, LOCATE_parser_tables___ParserTable___action_table_row933};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -29490,10 +30424,11 @@ val_t parser_tables___ParserTable___action_table_row933(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row934(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 10771, LOCATE_parser_tables___ParserTable___action_table_row934};
+  struct trace_t trace = {NULL, NULL, 10771, LOCATE_parser_tables___ParserTable___action_table_row934};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -29511,10 +30446,11 @@ val_t parser_tables___ParserTable___action_table_row934(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row935(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 10779, LOCATE_parser_tables___ParserTable___action_table_row935};
+  struct trace_t trace = {NULL, NULL, 10779, LOCATE_parser_tables___ParserTable___action_table_row935};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -29529,10 +30465,11 @@ val_t parser_tables___ParserTable___action_table_row935(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row936(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 10786, LOCATE_parser_tables___ParserTable___action_table_row936};
+  struct trace_t trace = {NULL, NULL, 10786, LOCATE_parser_tables___ParserTable___action_table_row936};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -29544,10 +30481,11 @@ val_t parser_tables___ParserTable___action_table_row936(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row937(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 10792, LOCATE_parser_tables___ParserTable___action_table_row937};
+  struct trace_t trace = {NULL, NULL, 10792, LOCATE_parser_tables___ParserTable___action_table_row937};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -29559,10 +30497,11 @@ val_t parser_tables___ParserTable___action_table_row937(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row938(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 10798, LOCATE_parser_tables___ParserTable___action_table_row938};
+  struct trace_t trace = {NULL, NULL, 10798, LOCATE_parser_tables___ParserTable___action_table_row938};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -29574,10 +30513,11 @@ val_t parser_tables___ParserTable___action_table_row938(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row939(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 10804, LOCATE_parser_tables___ParserTable___action_table_row939};
+  struct trace_t trace = {NULL, NULL, 10804, LOCATE_parser_tables___ParserTable___action_table_row939};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -29589,10 +30529,11 @@ val_t parser_tables___ParserTable___action_table_row939(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row940(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 10810, LOCATE_parser_tables___ParserTable___action_table_row940};
+  struct trace_t trace = {NULL, NULL, 10810, LOCATE_parser_tables___ParserTable___action_table_row940};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -29604,10 +30545,11 @@ val_t parser_tables___ParserTable___action_table_row940(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row941(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 10816, LOCATE_parser_tables___ParserTable___action_table_row941};
+  struct trace_t trace = {NULL, NULL, 10816, LOCATE_parser_tables___ParserTable___action_table_row941};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(24)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -29640,10 +30582,11 @@ val_t parser_tables___ParserTable___action_table_row941(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row942(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 10829, LOCATE_parser_tables___ParserTable___action_table_row942};
+  struct trace_t trace = {NULL, NULL, 10829, LOCATE_parser_tables___ParserTable___action_table_row942};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(12)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -29664,10 +30607,11 @@ val_t parser_tables___ParserTable___action_table_row942(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row943(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 10838, LOCATE_parser_tables___ParserTable___action_table_row943};
+  struct trace_t trace = {NULL, NULL, 10838, LOCATE_parser_tables___ParserTable___action_table_row943};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -29682,10 +30626,11 @@ val_t parser_tables___ParserTable___action_table_row943(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row944(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 10845, LOCATE_parser_tables___ParserTable___action_table_row944};
+  struct trace_t trace = {NULL, NULL, 10845, LOCATE_parser_tables___ParserTable___action_table_row944};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -29700,10 +30645,11 @@ val_t parser_tables___ParserTable___action_table_row944(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row945(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 10852, LOCATE_parser_tables___ParserTable___action_table_row945};
+  struct trace_t trace = {NULL, NULL, 10852, LOCATE_parser_tables___ParserTable___action_table_row945};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -29718,10 +30664,11 @@ val_t parser_tables___ParserTable___action_table_row945(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row946(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 10859, LOCATE_parser_tables___ParserTable___action_table_row946};
+  struct trace_t trace = {NULL, NULL, 10859, LOCATE_parser_tables___ParserTable___action_table_row946};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -29736,10 +30683,11 @@ val_t parser_tables___ParserTable___action_table_row946(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row947(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 10866, LOCATE_parser_tables___ParserTable___action_table_row947};
+  struct trace_t trace = {NULL, NULL, 10866, LOCATE_parser_tables___ParserTable___action_table_row947};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -29757,10 +30705,11 @@ val_t parser_tables___ParserTable___action_table_row947(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row948(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 10874, LOCATE_parser_tables___ParserTable___action_table_row948};
+  struct trace_t trace = {NULL, NULL, 10874, LOCATE_parser_tables___ParserTable___action_table_row948};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -29775,10 +30724,11 @@ val_t parser_tables___ParserTable___action_table_row948(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row949(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 10881, LOCATE_parser_tables___ParserTable___action_table_row949};
+  struct trace_t trace = {NULL, NULL, 10881, LOCATE_parser_tables___ParserTable___action_table_row949};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -29796,10 +30746,11 @@ val_t parser_tables___ParserTable___action_table_row949(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row950(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 10889, LOCATE_parser_tables___ParserTable___action_table_row950};
+  struct trace_t trace = {NULL, NULL, 10889, LOCATE_parser_tables___ParserTable___action_table_row950};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(12)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -29820,10 +30771,11 @@ val_t parser_tables___ParserTable___action_table_row950(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row951(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 10898, LOCATE_parser_tables___ParserTable___action_table_row951};
+  struct trace_t trace = {NULL, NULL, 10898, LOCATE_parser_tables___ParserTable___action_table_row951};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -29835,10 +30787,11 @@ val_t parser_tables___ParserTable___action_table_row951(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row952(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 10904, LOCATE_parser_tables___ParserTable___action_table_row952};
+  struct trace_t trace = {NULL, NULL, 10904, LOCATE_parser_tables___ParserTable___action_table_row952};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -29856,10 +30809,11 @@ val_t parser_tables___ParserTable___action_table_row952(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row953(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 10912, LOCATE_parser_tables___ParserTable___action_table_row953};
+  struct trace_t trace = {NULL, NULL, 10912, LOCATE_parser_tables___ParserTable___action_table_row953};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -29874,10 +30828,11 @@ val_t parser_tables___ParserTable___action_table_row953(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row954(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 10919, LOCATE_parser_tables___ParserTable___action_table_row954};
+  struct trace_t trace = {NULL, NULL, 10919, LOCATE_parser_tables___ParserTable___action_table_row954};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -29895,10 +30850,11 @@ val_t parser_tables___ParserTable___action_table_row954(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row955(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 10927, LOCATE_parser_tables___ParserTable___action_table_row955};
+  struct trace_t trace = {NULL, NULL, 10927, LOCATE_parser_tables___ParserTable___action_table_row955};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -29913,10 +30869,11 @@ val_t parser_tables___ParserTable___action_table_row955(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row956(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 10934, LOCATE_parser_tables___ParserTable___action_table_row956};
+  struct trace_t trace = {NULL, NULL, 10934, LOCATE_parser_tables___ParserTable___action_table_row956};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -29931,10 +30888,11 @@ val_t parser_tables___ParserTable___action_table_row956(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row957(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 10941, LOCATE_parser_tables___ParserTable___action_table_row957};
+  struct trace_t trace = {NULL, NULL, 10941, LOCATE_parser_tables___ParserTable___action_table_row957};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -29949,10 +30907,11 @@ val_t parser_tables___ParserTable___action_table_row957(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row958(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 10948, LOCATE_parser_tables___ParserTable___action_table_row958};
+  struct trace_t trace = {NULL, NULL, 10948, LOCATE_parser_tables___ParserTable___action_table_row958};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -29970,10 +30929,11 @@ val_t parser_tables___ParserTable___action_table_row958(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row959(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 10956, LOCATE_parser_tables___ParserTable___action_table_row959};
+  struct trace_t trace = {NULL, NULL, 10956, LOCATE_parser_tables___ParserTable___action_table_row959};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -29988,10 +30948,11 @@ val_t parser_tables___ParserTable___action_table_row959(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row960(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 10963, LOCATE_parser_tables___ParserTable___action_table_row960};
+  struct trace_t trace = {NULL, NULL, 10963, LOCATE_parser_tables___ParserTable___action_table_row960};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -30009,10 +30970,11 @@ val_t parser_tables___ParserTable___action_table_row960(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row961(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 10971, LOCATE_parser_tables___ParserTable___action_table_row961};
+  struct trace_t trace = {NULL, NULL, 10971, LOCATE_parser_tables___ParserTable___action_table_row961};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -30030,10 +30992,11 @@ val_t parser_tables___ParserTable___action_table_row961(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row962(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 10979, LOCATE_parser_tables___ParserTable___action_table_row962};
+  struct trace_t trace = {NULL, NULL, 10979, LOCATE_parser_tables___ParserTable___action_table_row962};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -30048,10 +31011,11 @@ val_t parser_tables___ParserTable___action_table_row962(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row963(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 10986, LOCATE_parser_tables___ParserTable___action_table_row963};
+  struct trace_t trace = {NULL, NULL, 10986, LOCATE_parser_tables___ParserTable___action_table_row963};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -30069,10 +31033,11 @@ val_t parser_tables___ParserTable___action_table_row963(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row964(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 10994, LOCATE_parser_tables___ParserTable___action_table_row964};
+  struct trace_t trace = {NULL, NULL, 10994, LOCATE_parser_tables___ParserTable___action_table_row964};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -30090,10 +31055,11 @@ val_t parser_tables___ParserTable___action_table_row964(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row965(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 11002, LOCATE_parser_tables___ParserTable___action_table_row965};
+  struct trace_t trace = {NULL, NULL, 11002, LOCATE_parser_tables___ParserTable___action_table_row965};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -30108,10 +31074,11 @@ val_t parser_tables___ParserTable___action_table_row965(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row966(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 11009, LOCATE_parser_tables___ParserTable___action_table_row966};
+  struct trace_t trace = {NULL, NULL, 11009, LOCATE_parser_tables___ParserTable___action_table_row966};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(12)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -30132,10 +31099,11 @@ val_t parser_tables___ParserTable___action_table_row966(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row967(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 11018, LOCATE_parser_tables___ParserTable___action_table_row967};
+  struct trace_t trace = {NULL, NULL, 11018, LOCATE_parser_tables___ParserTable___action_table_row967};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -30150,10 +31118,11 @@ val_t parser_tables___ParserTable___action_table_row967(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row968(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 11025, LOCATE_parser_tables___ParserTable___action_table_row968};
+  struct trace_t trace = {NULL, NULL, 11025, LOCATE_parser_tables___ParserTable___action_table_row968};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(66)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -30228,10 +31197,11 @@ val_t parser_tables___ParserTable___action_table_row968(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row969(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 11052, LOCATE_parser_tables___ParserTable___action_table_row969};
+  struct trace_t trace = {NULL, NULL, 11052, LOCATE_parser_tables___ParserTable___action_table_row969};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -30249,10 +31219,11 @@ val_t parser_tables___ParserTable___action_table_row969(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row970(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 11060, LOCATE_parser_tables___ParserTable___action_table_row970};
+  struct trace_t trace = {NULL, NULL, 11060, LOCATE_parser_tables___ParserTable___action_table_row970};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -30267,10 +31238,11 @@ val_t parser_tables___ParserTable___action_table_row970(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row971(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 11067, LOCATE_parser_tables___ParserTable___action_table_row971};
+  struct trace_t trace = {NULL, NULL, 11067, LOCATE_parser_tables___ParserTable___action_table_row971};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(93)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -30372,10 +31344,11 @@ val_t parser_tables___ParserTable___action_table_row971(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row972(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 11103, LOCATE_parser_tables___ParserTable___action_table_row972};
+  struct trace_t trace = {NULL, NULL, 11103, LOCATE_parser_tables___ParserTable___action_table_row972};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -30387,10 +31360,11 @@ val_t parser_tables___ParserTable___action_table_row972(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row973(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 11109, LOCATE_parser_tables___ParserTable___action_table_row973};
+  struct trace_t trace = {NULL, NULL, 11109, LOCATE_parser_tables___ParserTable___action_table_row973};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -30402,10 +31376,11 @@ val_t parser_tables___ParserTable___action_table_row973(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row974(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 11115, LOCATE_parser_tables___ParserTable___action_table_row974};
+  struct trace_t trace = {NULL, NULL, 11115, LOCATE_parser_tables___ParserTable___action_table_row974};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(60)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -30474,10 +31449,11 @@ val_t parser_tables___ParserTable___action_table_row974(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row975(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 11140, LOCATE_parser_tables___ParserTable___action_table_row975};
+  struct trace_t trace = {NULL, NULL, 11140, LOCATE_parser_tables___ParserTable___action_table_row975};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -30489,10 +31465,11 @@ val_t parser_tables___ParserTable___action_table_row975(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row976(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 11146, LOCATE_parser_tables___ParserTable___action_table_row976};
+  struct trace_t trace = {NULL, NULL, 11146, LOCATE_parser_tables___ParserTable___action_table_row976};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -30504,10 +31481,11 @@ val_t parser_tables___ParserTable___action_table_row976(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row977(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 11152, LOCATE_parser_tables___ParserTable___action_table_row977};
+  struct trace_t trace = {NULL, NULL, 11152, LOCATE_parser_tables___ParserTable___action_table_row977};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -30519,10 +31497,11 @@ val_t parser_tables___ParserTable___action_table_row977(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row978(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 11158, LOCATE_parser_tables___ParserTable___action_table_row978};
+  struct trace_t trace = {NULL, NULL, 11158, LOCATE_parser_tables___ParserTable___action_table_row978};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(24)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -30555,10 +31534,11 @@ val_t parser_tables___ParserTable___action_table_row978(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row979(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 11171, LOCATE_parser_tables___ParserTable___action_table_row979};
+  struct trace_t trace = {NULL, NULL, 11171, LOCATE_parser_tables___ParserTable___action_table_row979};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -30570,10 +31550,11 @@ val_t parser_tables___ParserTable___action_table_row979(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row980(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 11177, LOCATE_parser_tables___ParserTable___action_table_row980};
+  struct trace_t trace = {NULL, NULL, 11177, LOCATE_parser_tables___ParserTable___action_table_row980};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -30588,10 +31569,11 @@ val_t parser_tables___ParserTable___action_table_row980(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row981(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 11184, LOCATE_parser_tables___ParserTable___action_table_row981};
+  struct trace_t trace = {NULL, NULL, 11184, LOCATE_parser_tables___ParserTable___action_table_row981};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -30606,10 +31588,11 @@ val_t parser_tables___ParserTable___action_table_row981(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row982(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 11191, LOCATE_parser_tables___ParserTable___action_table_row982};
+  struct trace_t trace = {NULL, NULL, 11191, LOCATE_parser_tables___ParserTable___action_table_row982};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -30621,10 +31604,11 @@ val_t parser_tables___ParserTable___action_table_row982(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row983(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 11197, LOCATE_parser_tables___ParserTable___action_table_row983};
+  struct trace_t trace = {NULL, NULL, 11197, LOCATE_parser_tables___ParserTable___action_table_row983};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(66)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -30699,10 +31683,11 @@ val_t parser_tables___ParserTable___action_table_row983(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row984(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 11224, LOCATE_parser_tables___ParserTable___action_table_row984};
+  struct trace_t trace = {NULL, NULL, 11224, LOCATE_parser_tables___ParserTable___action_table_row984};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -30720,10 +31705,11 @@ val_t parser_tables___ParserTable___action_table_row984(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row985(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 11232, LOCATE_parser_tables___ParserTable___action_table_row985};
+  struct trace_t trace = {NULL, NULL, 11232, LOCATE_parser_tables___ParserTable___action_table_row985};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -30738,10 +31724,11 @@ val_t parser_tables___ParserTable___action_table_row985(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row986(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 11239, LOCATE_parser_tables___ParserTable___action_table_row986};
+  struct trace_t trace = {NULL, NULL, 11239, LOCATE_parser_tables___ParserTable___action_table_row986};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -30753,10 +31740,11 @@ val_t parser_tables___ParserTable___action_table_row986(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row987(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 11245, LOCATE_parser_tables___ParserTable___action_table_row987};
+  struct trace_t trace = {NULL, NULL, 11245, LOCATE_parser_tables___ParserTable___action_table_row987};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -30771,10 +31759,11 @@ val_t parser_tables___ParserTable___action_table_row987(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row988(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 11252, LOCATE_parser_tables___ParserTable___action_table_row988};
+  struct trace_t trace = {NULL, NULL, 11252, LOCATE_parser_tables___ParserTable___action_table_row988};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -30786,10 +31775,11 @@ val_t parser_tables___ParserTable___action_table_row988(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row989(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 11258, LOCATE_parser_tables___ParserTable___action_table_row989};
+  struct trace_t trace = {NULL, NULL, 11258, LOCATE_parser_tables___ParserTable___action_table_row989};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -30801,10 +31791,11 @@ val_t parser_tables___ParserTable___action_table_row989(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row990(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 11264, LOCATE_parser_tables___ParserTable___action_table_row990};
+  struct trace_t trace = {NULL, NULL, 11264, LOCATE_parser_tables___ParserTable___action_table_row990};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -30819,10 +31810,11 @@ val_t parser_tables___ParserTable___action_table_row990(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row991(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 11271, LOCATE_parser_tables___ParserTable___action_table_row991};
+  struct trace_t trace = {NULL, NULL, 11271, LOCATE_parser_tables___ParserTable___action_table_row991};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -30837,10 +31829,11 @@ val_t parser_tables___ParserTable___action_table_row991(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row992(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 11278, LOCATE_parser_tables___ParserTable___action_table_row992};
+  struct trace_t trace = {NULL, NULL, 11278, LOCATE_parser_tables___ParserTable___action_table_row992};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -30858,10 +31851,11 @@ val_t parser_tables___ParserTable___action_table_row992(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row993(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 11286, LOCATE_parser_tables___ParserTable___action_table_row993};
+  struct trace_t trace = {NULL, NULL, 11286, LOCATE_parser_tables___ParserTable___action_table_row993};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -30876,10 +31870,11 @@ val_t parser_tables___ParserTable___action_table_row993(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row994(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 11293, LOCATE_parser_tables___ParserTable___action_table_row994};
+  struct trace_t trace = {NULL, NULL, 11293, LOCATE_parser_tables___ParserTable___action_table_row994};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -30897,10 +31892,11 @@ val_t parser_tables___ParserTable___action_table_row994(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row995(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 11301, LOCATE_parser_tables___ParserTable___action_table_row995};
+  struct trace_t trace = {NULL, NULL, 11301, LOCATE_parser_tables___ParserTable___action_table_row995};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -30918,10 +31914,11 @@ val_t parser_tables___ParserTable___action_table_row995(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row996(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 11309, LOCATE_parser_tables___ParserTable___action_table_row996};
+  struct trace_t trace = {NULL, NULL, 11309, LOCATE_parser_tables___ParserTable___action_table_row996};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -30936,10 +31933,11 @@ val_t parser_tables___ParserTable___action_table_row996(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row997(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 11316, LOCATE_parser_tables___ParserTable___action_table_row997};
+  struct trace_t trace = {NULL, NULL, 11316, LOCATE_parser_tables___ParserTable___action_table_row997};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -30957,10 +31955,11 @@ val_t parser_tables___ParserTable___action_table_row997(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row998(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 11324, LOCATE_parser_tables___ParserTable___action_table_row998};
+  struct trace_t trace = {NULL, NULL, 11324, LOCATE_parser_tables___ParserTable___action_table_row998};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -30978,10 +31977,11 @@ val_t parser_tables___ParserTable___action_table_row998(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row999(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 11332, LOCATE_parser_tables___ParserTable___action_table_row999};
+  struct trace_t trace = {NULL, NULL, 11332, LOCATE_parser_tables___ParserTable___action_table_row999};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -30996,10 +31996,11 @@ val_t parser_tables___ParserTable___action_table_row999(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row1000(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 11339, LOCATE_parser_tables___ParserTable___action_table_row1000};
+  struct trace_t trace = {NULL, NULL, 11339, LOCATE_parser_tables___ParserTable___action_table_row1000};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(12)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -31020,10 +32021,11 @@ val_t parser_tables___ParserTable___action_table_row1000(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row1001(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 11348, LOCATE_parser_tables___ParserTable___action_table_row1001};
+  struct trace_t trace = {NULL, NULL, 11348, LOCATE_parser_tables___ParserTable___action_table_row1001};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -31038,10 +32040,11 @@ val_t parser_tables___ParserTable___action_table_row1001(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row1002(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 11355, LOCATE_parser_tables___ParserTable___action_table_row1002};
+  struct trace_t trace = {NULL, NULL, 11355, LOCATE_parser_tables___ParserTable___action_table_row1002};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(66)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -31116,10 +32119,11 @@ val_t parser_tables___ParserTable___action_table_row1002(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row1003(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 11382, LOCATE_parser_tables___ParserTable___action_table_row1003};
+  struct trace_t trace = {NULL, NULL, 11382, LOCATE_parser_tables___ParserTable___action_table_row1003};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -31137,10 +32141,11 @@ val_t parser_tables___ParserTable___action_table_row1003(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row1004(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 11390, LOCATE_parser_tables___ParserTable___action_table_row1004};
+  struct trace_t trace = {NULL, NULL, 11390, LOCATE_parser_tables___ParserTable___action_table_row1004};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -31155,10 +32160,11 @@ val_t parser_tables___ParserTable___action_table_row1004(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row1005(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 11397, LOCATE_parser_tables___ParserTable___action_table_row1005};
+  struct trace_t trace = {NULL, NULL, 11397, LOCATE_parser_tables___ParserTable___action_table_row1005};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(93)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -31260,10 +32266,11 @@ val_t parser_tables___ParserTable___action_table_row1005(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row1006(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 11433, LOCATE_parser_tables___ParserTable___action_table_row1006};
+  struct trace_t trace = {NULL, NULL, 11433, LOCATE_parser_tables___ParserTable___action_table_row1006};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -31278,10 +32285,11 @@ val_t parser_tables___ParserTable___action_table_row1006(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row1007(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 11440, LOCATE_parser_tables___ParserTable___action_table_row1007};
+  struct trace_t trace = {NULL, NULL, 11440, LOCATE_parser_tables___ParserTable___action_table_row1007};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -31299,10 +32307,11 @@ val_t parser_tables___ParserTable___action_table_row1007(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row1008(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 11448, LOCATE_parser_tables___ParserTable___action_table_row1008};
+  struct trace_t trace = {NULL, NULL, 11448, LOCATE_parser_tables___ParserTable___action_table_row1008};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -31320,10 +32329,11 @@ val_t parser_tables___ParserTable___action_table_row1008(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row1009(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 11456, LOCATE_parser_tables___ParserTable___action_table_row1009};
+  struct trace_t trace = {NULL, NULL, 11456, LOCATE_parser_tables___ParserTable___action_table_row1009};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -31338,10 +32348,11 @@ val_t parser_tables___ParserTable___action_table_row1009(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row1010(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 11463, LOCATE_parser_tables___ParserTable___action_table_row1010};
+  struct trace_t trace = {NULL, NULL, 11463, LOCATE_parser_tables___ParserTable___action_table_row1010};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -31359,10 +32370,11 @@ val_t parser_tables___ParserTable___action_table_row1010(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row1011(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 11471, LOCATE_parser_tables___ParserTable___action_table_row1011};
+  struct trace_t trace = {NULL, NULL, 11471, LOCATE_parser_tables___ParserTable___action_table_row1011};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -31380,10 +32392,11 @@ val_t parser_tables___ParserTable___action_table_row1011(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row1012(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 11479, LOCATE_parser_tables___ParserTable___action_table_row1012};
+  struct trace_t trace = {NULL, NULL, 11479, LOCATE_parser_tables___ParserTable___action_table_row1012};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -31398,10 +32411,11 @@ val_t parser_tables___ParserTable___action_table_row1012(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row1013(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 11486, LOCATE_parser_tables___ParserTable___action_table_row1013};
+  struct trace_t trace = {NULL, NULL, 11486, LOCATE_parser_tables___ParserTable___action_table_row1013};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(66)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -31476,10 +32490,11 @@ val_t parser_tables___ParserTable___action_table_row1013(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row1014(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 11513, LOCATE_parser_tables___ParserTable___action_table_row1014};
+  struct trace_t trace = {NULL, NULL, 11513, LOCATE_parser_tables___ParserTable___action_table_row1014};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -31497,10 +32512,11 @@ val_t parser_tables___ParserTable___action_table_row1014(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row1015(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 11521, LOCATE_parser_tables___ParserTable___action_table_row1015};
+  struct trace_t trace = {NULL, NULL, 11521, LOCATE_parser_tables___ParserTable___action_table_row1015};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -31518,10 +32534,11 @@ val_t parser_tables___ParserTable___action_table_row1015(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row1016(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 11529, LOCATE_parser_tables___ParserTable___action_table_row1016};
+  struct trace_t trace = {NULL, NULL, 11529, LOCATE_parser_tables___ParserTable___action_table_row1016};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -31536,10 +32553,11 @@ val_t parser_tables___ParserTable___action_table_row1016(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row1017(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 11536, LOCATE_parser_tables___ParserTable___action_table_row1017};
+  struct trace_t trace = {NULL, NULL, 11536, LOCATE_parser_tables___ParserTable___action_table_row1017};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(66)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -31614,10 +32632,11 @@ val_t parser_tables___ParserTable___action_table_row1017(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row1018(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 11563, LOCATE_parser_tables___ParserTable___action_table_row1018};
+  struct trace_t trace = {NULL, NULL, 11563, LOCATE_parser_tables___ParserTable___action_table_row1018};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -31635,10 +32654,11 @@ val_t parser_tables___ParserTable___action_table_row1018(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row1019(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 11571, LOCATE_parser_tables___ParserTable___action_table_row1019};
+  struct trace_t trace = {NULL, NULL, 11571, LOCATE_parser_tables___ParserTable___action_table_row1019};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -31650,10 +32670,11 @@ val_t parser_tables___ParserTable___action_table_row1019(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row1020(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 11577, LOCATE_parser_tables___ParserTable___action_table_row1020};
+  struct trace_t trace = {NULL, NULL, 11577, LOCATE_parser_tables___ParserTable___action_table_row1020};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -31665,10 +32686,11 @@ val_t parser_tables___ParserTable___action_table_row1020(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row1021(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 11583, LOCATE_parser_tables___ParserTable___action_table_row1021};
+  struct trace_t trace = {NULL, NULL, 11583, LOCATE_parser_tables___ParserTable___action_table_row1021};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -31683,10 +32705,11 @@ val_t parser_tables___ParserTable___action_table_row1021(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row1022(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 11590, LOCATE_parser_tables___ParserTable___action_table_row1022};
+  struct trace_t trace = {NULL, NULL, 11590, LOCATE_parser_tables___ParserTable___action_table_row1022};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(93)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -31788,10 +32811,11 @@ val_t parser_tables___ParserTable___action_table_row1022(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row1023(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 11626, LOCATE_parser_tables___ParserTable___action_table_row1023};
+  struct trace_t trace = {NULL, NULL, 11626, LOCATE_parser_tables___ParserTable___action_table_row1023};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -31803,10 +32827,11 @@ val_t parser_tables___ParserTable___action_table_row1023(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row1024(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 11632, LOCATE_parser_tables___ParserTable___action_table_row1024};
+  struct trace_t trace = {NULL, NULL, 11632, LOCATE_parser_tables___ParserTable___action_table_row1024};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(66)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -31881,10 +32906,11 @@ val_t parser_tables___ParserTable___action_table_row1024(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row1025(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 11659, LOCATE_parser_tables___ParserTable___action_table_row1025};
+  struct trace_t trace = {NULL, NULL, 11659, LOCATE_parser_tables___ParserTable___action_table_row1025};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(93)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -31986,10 +33012,11 @@ val_t parser_tables___ParserTable___action_table_row1025(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row1026(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 11695, LOCATE_parser_tables___ParserTable___action_table_row1026};
+  struct trace_t trace = {NULL, NULL, 11695, LOCATE_parser_tables___ParserTable___action_table_row1026};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -32004,10 +33031,11 @@ val_t parser_tables___ParserTable___action_table_row1026(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row1027(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 11702, LOCATE_parser_tables___ParserTable___action_table_row1027};
+  struct trace_t trace = {NULL, NULL, 11702, LOCATE_parser_tables___ParserTable___action_table_row1027};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -32019,10 +33047,11 @@ val_t parser_tables___ParserTable___action_table_row1027(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row1028(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 11708, LOCATE_parser_tables___ParserTable___action_table_row1028};
+  struct trace_t trace = {NULL, NULL, 11708, LOCATE_parser_tables___ParserTable___action_table_row1028};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -32034,10 +33063,11 @@ val_t parser_tables___ParserTable___action_table_row1028(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row1029(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 11714, LOCATE_parser_tables___ParserTable___action_table_row1029};
+  struct trace_t trace = {NULL, NULL, 11714, LOCATE_parser_tables___ParserTable___action_table_row1029};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(93)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -32139,10 +33169,11 @@ val_t parser_tables___ParserTable___action_table_row1029(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row1030(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 11750, LOCATE_parser_tables___ParserTable___action_table_row1030};
+  struct trace_t trace = {NULL, NULL, 11750, LOCATE_parser_tables___ParserTable___action_table_row1030};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -32154,10 +33185,11 @@ val_t parser_tables___ParserTable___action_table_row1030(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row1031(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 11756, LOCATE_parser_tables___ParserTable___action_table_row1031};
+  struct trace_t trace = {NULL, NULL, 11756, LOCATE_parser_tables___ParserTable___action_table_row1031};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(66)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -32232,10 +33264,11 @@ val_t parser_tables___ParserTable___action_table_row1031(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row1032(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 11783, LOCATE_parser_tables___ParserTable___action_table_row1032};
+  struct trace_t trace = {NULL, NULL, 11783, LOCATE_parser_tables___ParserTable___action_table_row1032};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -32250,10 +33283,11 @@ val_t parser_tables___ParserTable___action_table_row1032(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row1033(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 11790, LOCATE_parser_tables___ParserTable___action_table_row1033};
+  struct trace_t trace = {NULL, NULL, 11790, LOCATE_parser_tables___ParserTable___action_table_row1033};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -32271,10 +33305,11 @@ val_t parser_tables___ParserTable___action_table_row1033(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row1034(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 11798, LOCATE_parser_tables___ParserTable___action_table_row1034};
+  struct trace_t trace = {NULL, NULL, 11798, LOCATE_parser_tables___ParserTable___action_table_row1034};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -32289,10 +33324,11 @@ val_t parser_tables___ParserTable___action_table_row1034(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row1035(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 11805, LOCATE_parser_tables___ParserTable___action_table_row1035};
+  struct trace_t trace = {NULL, NULL, 11805, LOCATE_parser_tables___ParserTable___action_table_row1035};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -32310,10 +33346,11 @@ val_t parser_tables___ParserTable___action_table_row1035(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row1036(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 11813, LOCATE_parser_tables___ParserTable___action_table_row1036};
+  struct trace_t trace = {NULL, NULL, 11813, LOCATE_parser_tables___ParserTable___action_table_row1036};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -32331,10 +33368,11 @@ val_t parser_tables___ParserTable___action_table_row1036(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row1037(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 11821, LOCATE_parser_tables___ParserTable___action_table_row1037};
+  struct trace_t trace = {NULL, NULL, 11821, LOCATE_parser_tables___ParserTable___action_table_row1037};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -32349,10 +33387,11 @@ val_t parser_tables___ParserTable___action_table_row1037(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row1038(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 11828, LOCATE_parser_tables___ParserTable___action_table_row1038};
+  struct trace_t trace = {NULL, NULL, 11828, LOCATE_parser_tables___ParserTable___action_table_row1038};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -32370,10 +33409,11 @@ val_t parser_tables___ParserTable___action_table_row1038(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row1039(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 11836, LOCATE_parser_tables___ParserTable___action_table_row1039};
+  struct trace_t trace = {NULL, NULL, 11836, LOCATE_parser_tables___ParserTable___action_table_row1039};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -32391,10 +33431,11 @@ val_t parser_tables___ParserTable___action_table_row1039(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row1040(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 11844, LOCATE_parser_tables___ParserTable___action_table_row1040};
+  struct trace_t trace = {NULL, NULL, 11844, LOCATE_parser_tables___ParserTable___action_table_row1040};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -32409,10 +33450,11 @@ val_t parser_tables___ParserTable___action_table_row1040(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row1041(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 11851, LOCATE_parser_tables___ParserTable___action_table_row1041};
+  struct trace_t trace = {NULL, NULL, 11851, LOCATE_parser_tables___ParserTable___action_table_row1041};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(66)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -32487,10 +33529,11 @@ val_t parser_tables___ParserTable___action_table_row1041(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row1042(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 11878, LOCATE_parser_tables___ParserTable___action_table_row1042};
+  struct trace_t trace = {NULL, NULL, 11878, LOCATE_parser_tables___ParserTable___action_table_row1042};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -32508,10 +33551,11 @@ val_t parser_tables___ParserTable___action_table_row1042(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row1043(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 11886, LOCATE_parser_tables___ParserTable___action_table_row1043};
+  struct trace_t trace = {NULL, NULL, 11886, LOCATE_parser_tables___ParserTable___action_table_row1043};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -32529,10 +33573,11 @@ val_t parser_tables___ParserTable___action_table_row1043(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row1044(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 11894, LOCATE_parser_tables___ParserTable___action_table_row1044};
+  struct trace_t trace = {NULL, NULL, 11894, LOCATE_parser_tables___ParserTable___action_table_row1044};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -32547,10 +33592,11 @@ val_t parser_tables___ParserTable___action_table_row1044(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row1045(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 11901, LOCATE_parser_tables___ParserTable___action_table_row1045};
+  struct trace_t trace = {NULL, NULL, 11901, LOCATE_parser_tables___ParserTable___action_table_row1045};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(66)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -32625,10 +33671,11 @@ val_t parser_tables___ParserTable___action_table_row1045(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row1046(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 11928, LOCATE_parser_tables___ParserTable___action_table_row1046};
+  struct trace_t trace = {NULL, NULL, 11928, LOCATE_parser_tables___ParserTable___action_table_row1046};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -32646,10 +33693,11 @@ val_t parser_tables___ParserTable___action_table_row1046(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row1047(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 11936, LOCATE_parser_tables___ParserTable___action_table_row1047};
+  struct trace_t trace = {NULL, NULL, 11936, LOCATE_parser_tables___ParserTable___action_table_row1047};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -32661,10 +33709,11 @@ val_t parser_tables___ParserTable___action_table_row1047(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row1048(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 11942, LOCATE_parser_tables___ParserTable___action_table_row1048};
+  struct trace_t trace = {NULL, NULL, 11942, LOCATE_parser_tables___ParserTable___action_table_row1048};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -32676,10 +33725,11 @@ val_t parser_tables___ParserTable___action_table_row1048(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row1049(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 11948, LOCATE_parser_tables___ParserTable___action_table_row1049};
+  struct trace_t trace = {NULL, NULL, 11948, LOCATE_parser_tables___ParserTable___action_table_row1049};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -32694,10 +33744,11 @@ val_t parser_tables___ParserTable___action_table_row1049(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row1050(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 11955, LOCATE_parser_tables___ParserTable___action_table_row1050};
+  struct trace_t trace = {NULL, NULL, 11955, LOCATE_parser_tables___ParserTable___action_table_row1050};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(93)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -32799,10 +33850,11 @@ val_t parser_tables___ParserTable___action_table_row1050(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row1051(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 11991, LOCATE_parser_tables___ParserTable___action_table_row1051};
+  struct trace_t trace = {NULL, NULL, 11991, LOCATE_parser_tables___ParserTable___action_table_row1051};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -32814,10 +33866,11 @@ val_t parser_tables___ParserTable___action_table_row1051(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row1052(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 11997, LOCATE_parser_tables___ParserTable___action_table_row1052};
+  struct trace_t trace = {NULL, NULL, 11997, LOCATE_parser_tables___ParserTable___action_table_row1052};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(66)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -32892,10 +33945,11 @@ val_t parser_tables___ParserTable___action_table_row1052(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row1053(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 12024, LOCATE_parser_tables___ParserTable___action_table_row1053};
+  struct trace_t trace = {NULL, NULL, 12024, LOCATE_parser_tables___ParserTable___action_table_row1053};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(93)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -32997,10 +34051,11 @@ val_t parser_tables___ParserTable___action_table_row1053(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row1054(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 12060, LOCATE_parser_tables___ParserTable___action_table_row1054};
+  struct trace_t trace = {NULL, NULL, 12060, LOCATE_parser_tables___ParserTable___action_table_row1054};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -33015,10 +34070,11 @@ val_t parser_tables___ParserTable___action_table_row1054(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row1055(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 12067, LOCATE_parser_tables___ParserTable___action_table_row1055};
+  struct trace_t trace = {NULL, NULL, 12067, LOCATE_parser_tables___ParserTable___action_table_row1055};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -33036,10 +34092,11 @@ val_t parser_tables___ParserTable___action_table_row1055(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row1056(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 12075, LOCATE_parser_tables___ParserTable___action_table_row1056};
+  struct trace_t trace = {NULL, NULL, 12075, LOCATE_parser_tables___ParserTable___action_table_row1056};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -33057,10 +34114,11 @@ val_t parser_tables___ParserTable___action_table_row1056(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row1057(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 12083, LOCATE_parser_tables___ParserTable___action_table_row1057};
+  struct trace_t trace = {NULL, NULL, 12083, LOCATE_parser_tables___ParserTable___action_table_row1057};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -33075,10 +34133,11 @@ val_t parser_tables___ParserTable___action_table_row1057(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row1058(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 12090, LOCATE_parser_tables___ParserTable___action_table_row1058};
+  struct trace_t trace = {NULL, NULL, 12090, LOCATE_parser_tables___ParserTable___action_table_row1058};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(66)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -33153,10 +34212,11 @@ val_t parser_tables___ParserTable___action_table_row1058(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row1059(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 12117, LOCATE_parser_tables___ParserTable___action_table_row1059};
+  struct trace_t trace = {NULL, NULL, 12117, LOCATE_parser_tables___ParserTable___action_table_row1059};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -33174,10 +34234,11 @@ val_t parser_tables___ParserTable___action_table_row1059(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row1060(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 12125, LOCATE_parser_tables___ParserTable___action_table_row1060};
+  struct trace_t trace = {NULL, NULL, 12125, LOCATE_parser_tables___ParserTable___action_table_row1060};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -33195,10 +34256,11 @@ val_t parser_tables___ParserTable___action_table_row1060(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row1061(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 12133, LOCATE_parser_tables___ParserTable___action_table_row1061};
+  struct trace_t trace = {NULL, NULL, 12133, LOCATE_parser_tables___ParserTable___action_table_row1061};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -33213,10 +34275,11 @@ val_t parser_tables___ParserTable___action_table_row1061(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row1062(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 12140, LOCATE_parser_tables___ParserTable___action_table_row1062};
+  struct trace_t trace = {NULL, NULL, 12140, LOCATE_parser_tables___ParserTable___action_table_row1062};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(66)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -33291,10 +34354,11 @@ val_t parser_tables___ParserTable___action_table_row1062(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row1063(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 12167, LOCATE_parser_tables___ParserTable___action_table_row1063};
+  struct trace_t trace = {NULL, NULL, 12167, LOCATE_parser_tables___ParserTable___action_table_row1063};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -33312,10 +34376,11 @@ val_t parser_tables___ParserTable___action_table_row1063(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row1064(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 12175, LOCATE_parser_tables___ParserTable___action_table_row1064};
+  struct trace_t trace = {NULL, NULL, 12175, LOCATE_parser_tables___ParserTable___action_table_row1064};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -33327,10 +34392,11 @@ val_t parser_tables___ParserTable___action_table_row1064(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row1065(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 12181, LOCATE_parser_tables___ParserTable___action_table_row1065};
+  struct trace_t trace = {NULL, NULL, 12181, LOCATE_parser_tables___ParserTable___action_table_row1065};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(66)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -33405,10 +34471,11 @@ val_t parser_tables___ParserTable___action_table_row1065(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row1066(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 12208, LOCATE_parser_tables___ParserTable___action_table_row1066};
+  struct trace_t trace = {NULL, NULL, 12208, LOCATE_parser_tables___ParserTable___action_table_row1066};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(66)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -33483,10 +34550,11 @@ val_t parser_tables___ParserTable___action_table_row1066(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row1067(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 12235, LOCATE_parser_tables___ParserTable___action_table_row1067};
+  struct trace_t trace = {NULL, NULL, 12235, LOCATE_parser_tables___ParserTable___action_table_row1067};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -33504,10 +34572,11 @@ val_t parser_tables___ParserTable___action_table_row1067(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row1068(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 12243, LOCATE_parser_tables___ParserTable___action_table_row1068};
+  struct trace_t trace = {NULL, NULL, 12243, LOCATE_parser_tables___ParserTable___action_table_row1068};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -33519,10 +34588,11 @@ val_t parser_tables___ParserTable___action_table_row1068(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row1069(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 12249, LOCATE_parser_tables___ParserTable___action_table_row1069};
+  struct trace_t trace = {NULL, NULL, 12249, LOCATE_parser_tables___ParserTable___action_table_row1069};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(66)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -33597,10 +34667,11 @@ val_t parser_tables___ParserTable___action_table_row1069(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row1070(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 12276, LOCATE_parser_tables___ParserTable___action_table_row1070};
+  struct trace_t trace = {NULL, NULL, 12276, LOCATE_parser_tables___ParserTable___action_table_row1070};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -33612,10 +34683,11 @@ val_t parser_tables___ParserTable___action_table_row1070(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row1071(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 12282, LOCATE_parser_tables___ParserTable___action_table_row1071};
+  struct trace_t trace = {NULL, NULL, 12282, LOCATE_parser_tables___ParserTable___action_table_row1071};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -33630,10 +34702,11 @@ val_t parser_tables___ParserTable___action_table_row1071(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row1072(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 12289, LOCATE_parser_tables___ParserTable___action_table_row1072};
+  struct trace_t trace = {NULL, NULL, 12289, LOCATE_parser_tables___ParserTable___action_table_row1072};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -33645,10 +34718,11 @@ val_t parser_tables___ParserTable___action_table_row1072(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row1073(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 12295, LOCATE_parser_tables___ParserTable___action_table_row1073};
+  struct trace_t trace = {NULL, NULL, 12295, LOCATE_parser_tables___ParserTable___action_table_row1073};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -33663,10 +34737,11 @@ val_t parser_tables___ParserTable___action_table_row1073(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row1074(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 12302, LOCATE_parser_tables___ParserTable___action_table_row1074};
+  struct trace_t trace = {NULL, NULL, 12302, LOCATE_parser_tables___ParserTable___action_table_row1074};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -33678,10 +34753,11 @@ val_t parser_tables___ParserTable___action_table_row1074(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row1075(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 12308, LOCATE_parser_tables___ParserTable___action_table_row1075};
+  struct trace_t trace = {NULL, NULL, 12308, LOCATE_parser_tables___ParserTable___action_table_row1075};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -33693,10 +34769,11 @@ val_t parser_tables___ParserTable___action_table_row1075(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row1076(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 12314, LOCATE_parser_tables___ParserTable___action_table_row1076};
+  struct trace_t trace = {NULL, NULL, 12314, LOCATE_parser_tables___ParserTable___action_table_row1076};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -33714,10 +34791,11 @@ val_t parser_tables___ParserTable___action_table_row1076(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row1077(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 12322, LOCATE_parser_tables___ParserTable___action_table_row1077};
+  struct trace_t trace = {NULL, NULL, 12322, LOCATE_parser_tables___ParserTable___action_table_row1077};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -33729,10 +34807,11 @@ val_t parser_tables___ParserTable___action_table_row1077(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row1078(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 12328, LOCATE_parser_tables___ParserTable___action_table_row1078};
+  struct trace_t trace = {NULL, NULL, 12328, LOCATE_parser_tables___ParserTable___action_table_row1078};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -33747,10 +34826,11 @@ val_t parser_tables___ParserTable___action_table_row1078(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row1079(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 12335, LOCATE_parser_tables___ParserTable___action_table_row1079};
+  struct trace_t trace = {NULL, NULL, 12335, LOCATE_parser_tables___ParserTable___action_table_row1079};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -33768,10 +34848,11 @@ val_t parser_tables___ParserTable___action_table_row1079(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row1080(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 12343, LOCATE_parser_tables___ParserTable___action_table_row1080};
+  struct trace_t trace = {NULL, NULL, 12343, LOCATE_parser_tables___ParserTable___action_table_row1080};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -33789,10 +34870,11 @@ val_t parser_tables___ParserTable___action_table_row1080(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row1081(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 12351, LOCATE_parser_tables___ParserTable___action_table_row1081};
+  struct trace_t trace = {NULL, NULL, 12351, LOCATE_parser_tables___ParserTable___action_table_row1081};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -33807,10 +34889,11 @@ val_t parser_tables___ParserTable___action_table_row1081(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row1082(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 12358, LOCATE_parser_tables___ParserTable___action_table_row1082};
+  struct trace_t trace = {NULL, NULL, 12358, LOCATE_parser_tables___ParserTable___action_table_row1082};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(66)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -33885,10 +34968,11 @@ val_t parser_tables___ParserTable___action_table_row1082(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row1083(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 12385, LOCATE_parser_tables___ParserTable___action_table_row1083};
+  struct trace_t trace = {NULL, NULL, 12385, LOCATE_parser_tables___ParserTable___action_table_row1083};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -33906,10 +34990,11 @@ val_t parser_tables___ParserTable___action_table_row1083(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row1084(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 12393, LOCATE_parser_tables___ParserTable___action_table_row1084};
+  struct trace_t trace = {NULL, NULL, 12393, LOCATE_parser_tables___ParserTable___action_table_row1084};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -33927,10 +35012,11 @@ val_t parser_tables___ParserTable___action_table_row1084(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row1085(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 12401, LOCATE_parser_tables___ParserTable___action_table_row1085};
+  struct trace_t trace = {NULL, NULL, 12401, LOCATE_parser_tables___ParserTable___action_table_row1085};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -33945,10 +35031,11 @@ val_t parser_tables___ParserTable___action_table_row1085(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row1086(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 12408, LOCATE_parser_tables___ParserTable___action_table_row1086};
+  struct trace_t trace = {NULL, NULL, 12408, LOCATE_parser_tables___ParserTable___action_table_row1086};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(66)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -34023,10 +35110,11 @@ val_t parser_tables___ParserTable___action_table_row1086(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row1087(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 12435, LOCATE_parser_tables___ParserTable___action_table_row1087};
+  struct trace_t trace = {NULL, NULL, 12435, LOCATE_parser_tables___ParserTable___action_table_row1087};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -34044,10 +35132,11 @@ val_t parser_tables___ParserTable___action_table_row1087(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row1088(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 12443, LOCATE_parser_tables___ParserTable___action_table_row1088};
+  struct trace_t trace = {NULL, NULL, 12443, LOCATE_parser_tables___ParserTable___action_table_row1088};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -34059,10 +35148,11 @@ val_t parser_tables___ParserTable___action_table_row1088(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row1089(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 12449, LOCATE_parser_tables___ParserTable___action_table_row1089};
+  struct trace_t trace = {NULL, NULL, 12449, LOCATE_parser_tables___ParserTable___action_table_row1089};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(66)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -34137,10 +35227,11 @@ val_t parser_tables___ParserTable___action_table_row1089(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row1090(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 12476, LOCATE_parser_tables___ParserTable___action_table_row1090};
+  struct trace_t trace = {NULL, NULL, 12476, LOCATE_parser_tables___ParserTable___action_table_row1090};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(66)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -34215,10 +35306,11 @@ val_t parser_tables___ParserTable___action_table_row1090(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row1091(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 12503, LOCATE_parser_tables___ParserTable___action_table_row1091};
+  struct trace_t trace = {NULL, NULL, 12503, LOCATE_parser_tables___ParserTable___action_table_row1091};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -34236,10 +35328,11 @@ val_t parser_tables___ParserTable___action_table_row1091(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row1092(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 12511, LOCATE_parser_tables___ParserTable___action_table_row1092};
+  struct trace_t trace = {NULL, NULL, 12511, LOCATE_parser_tables___ParserTable___action_table_row1092};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -34251,10 +35344,11 @@ val_t parser_tables___ParserTable___action_table_row1092(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row1093(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 12517, LOCATE_parser_tables___ParserTable___action_table_row1093};
+  struct trace_t trace = {NULL, NULL, 12517, LOCATE_parser_tables___ParserTable___action_table_row1093};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(66)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -34329,10 +35423,11 @@ val_t parser_tables___ParserTable___action_table_row1093(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row1094(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 12544, LOCATE_parser_tables___ParserTable___action_table_row1094};
+  struct trace_t trace = {NULL, NULL, 12544, LOCATE_parser_tables___ParserTable___action_table_row1094};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -34344,10 +35439,11 @@ val_t parser_tables___ParserTable___action_table_row1094(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row1095(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 12550, LOCATE_parser_tables___ParserTable___action_table_row1095};
+  struct trace_t trace = {NULL, NULL, 12550, LOCATE_parser_tables___ParserTable___action_table_row1095};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -34362,10 +35458,11 @@ val_t parser_tables___ParserTable___action_table_row1095(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row1096(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 12557, LOCATE_parser_tables___ParserTable___action_table_row1096};
+  struct trace_t trace = {NULL, NULL, 12557, LOCATE_parser_tables___ParserTable___action_table_row1096};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -34377,10 +35474,11 @@ val_t parser_tables___ParserTable___action_table_row1096(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row1097(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 12563, LOCATE_parser_tables___ParserTable___action_table_row1097};
+  struct trace_t trace = {NULL, NULL, 12563, LOCATE_parser_tables___ParserTable___action_table_row1097};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -34395,10 +35493,11 @@ val_t parser_tables___ParserTable___action_table_row1097(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row1098(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 12570, LOCATE_parser_tables___ParserTable___action_table_row1098};
+  struct trace_t trace = {NULL, NULL, 12570, LOCATE_parser_tables___ParserTable___action_table_row1098};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -34410,10 +35509,11 @@ val_t parser_tables___ParserTable___action_table_row1098(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row1099(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 12576, LOCATE_parser_tables___ParserTable___action_table_row1099};
+  struct trace_t trace = {NULL, NULL, 12576, LOCATE_parser_tables___ParserTable___action_table_row1099};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -34431,10 +35531,11 @@ val_t parser_tables___ParserTable___action_table_row1099(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row1100(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 12584, LOCATE_parser_tables___ParserTable___action_table_row1100};
+  struct trace_t trace = {NULL, NULL, 12584, LOCATE_parser_tables___ParserTable___action_table_row1100};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -34449,10 +35550,11 @@ val_t parser_tables___ParserTable___action_table_row1100(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row1101(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 12591, LOCATE_parser_tables___ParserTable___action_table_row1101};
+  struct trace_t trace = {NULL, NULL, 12591, LOCATE_parser_tables___ParserTable___action_table_row1101};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(66)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -34527,10 +35629,11 @@ val_t parser_tables___ParserTable___action_table_row1101(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row1102(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 12618, LOCATE_parser_tables___ParserTable___action_table_row1102};
+  struct trace_t trace = {NULL, NULL, 12618, LOCATE_parser_tables___ParserTable___action_table_row1102};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -34548,10 +35651,11 @@ val_t parser_tables___ParserTable___action_table_row1102(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row1103(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 12626, LOCATE_parser_tables___ParserTable___action_table_row1103};
+  struct trace_t trace = {NULL, NULL, 12626, LOCATE_parser_tables___ParserTable___action_table_row1103};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -34563,10 +35667,11 @@ val_t parser_tables___ParserTable___action_table_row1103(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row1104(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 12632, LOCATE_parser_tables___ParserTable___action_table_row1104};
+  struct trace_t trace = {NULL, NULL, 12632, LOCATE_parser_tables___ParserTable___action_table_row1104};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(66)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -34641,10 +35746,11 @@ val_t parser_tables___ParserTable___action_table_row1104(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row1105(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 12659, LOCATE_parser_tables___ParserTable___action_table_row1105};
+  struct trace_t trace = {NULL, NULL, 12659, LOCATE_parser_tables___ParserTable___action_table_row1105};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(66)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -34719,10 +35825,11 @@ val_t parser_tables___ParserTable___action_table_row1105(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row1106(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 12686, LOCATE_parser_tables___ParserTable___action_table_row1106};
+  struct trace_t trace = {NULL, NULL, 12686, LOCATE_parser_tables___ParserTable___action_table_row1106};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -34740,10 +35847,11 @@ val_t parser_tables___ParserTable___action_table_row1106(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row1107(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 12694, LOCATE_parser_tables___ParserTable___action_table_row1107};
+  struct trace_t trace = {NULL, NULL, 12694, LOCATE_parser_tables___ParserTable___action_table_row1107};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -34755,10 +35863,11 @@ val_t parser_tables___ParserTable___action_table_row1107(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row1108(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 12700, LOCATE_parser_tables___ParserTable___action_table_row1108};
+  struct trace_t trace = {NULL, NULL, 12700, LOCATE_parser_tables___ParserTable___action_table_row1108};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(66)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -34833,10 +35942,11 @@ val_t parser_tables___ParserTable___action_table_row1108(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row1109(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 12727, LOCATE_parser_tables___ParserTable___action_table_row1109};
+  struct trace_t trace = {NULL, NULL, 12727, LOCATE_parser_tables___ParserTable___action_table_row1109};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -34848,10 +35958,11 @@ val_t parser_tables___ParserTable___action_table_row1109(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row1110(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 12733, LOCATE_parser_tables___ParserTable___action_table_row1110};
+  struct trace_t trace = {NULL, NULL, 12733, LOCATE_parser_tables___ParserTable___action_table_row1110};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -34863,10 +35974,11 @@ val_t parser_tables___ParserTable___action_table_row1110(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row1111(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 12739, LOCATE_parser_tables___ParserTable___action_table_row1111};
+  struct trace_t trace = {NULL, NULL, 12739, LOCATE_parser_tables___ParserTable___action_table_row1111};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(66)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -34941,10 +36053,11 @@ val_t parser_tables___ParserTable___action_table_row1111(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row1112(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 12766, LOCATE_parser_tables___ParserTable___action_table_row1112};
+  struct trace_t trace = {NULL, NULL, 12766, LOCATE_parser_tables___ParserTable___action_table_row1112};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -34956,10 +36069,11 @@ val_t parser_tables___ParserTable___action_table_row1112(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row1113(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 12772, LOCATE_parser_tables___ParserTable___action_table_row1113};
+  struct trace_t trace = {NULL, NULL, 12772, LOCATE_parser_tables___ParserTable___action_table_row1113};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -34971,10 +36085,11 @@ val_t parser_tables___ParserTable___action_table_row1113(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row1114(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 12778, LOCATE_parser_tables___ParserTable___action_table_row1114};
+  struct trace_t trace = {NULL, NULL, 12778, LOCATE_parser_tables___ParserTable___action_table_row1114};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -34986,10 +36101,11 @@ val_t parser_tables___ParserTable___action_table_row1114(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row1115(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 12784, LOCATE_parser_tables___ParserTable___action_table_row1115};
+  struct trace_t trace = {NULL, NULL, 12784, LOCATE_parser_tables___ParserTable___action_table_row1115};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -35004,10 +36120,11 @@ val_t parser_tables___ParserTable___action_table_row1115(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row1116(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 12791, LOCATE_parser_tables___ParserTable___action_table_row1116};
+  struct trace_t trace = {NULL, NULL, 12791, LOCATE_parser_tables___ParserTable___action_table_row1116};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -35025,10 +36142,11 @@ val_t parser_tables___ParserTable___action_table_row1116(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row1117(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 12799, LOCATE_parser_tables___ParserTable___action_table_row1117};
+  struct trace_t trace = {NULL, NULL, 12799, LOCATE_parser_tables___ParserTable___action_table_row1117};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -35046,10 +36164,11 @@ val_t parser_tables___ParserTable___action_table_row1117(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row1118(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 12807, LOCATE_parser_tables___ParserTable___action_table_row1118};
+  struct trace_t trace = {NULL, NULL, 12807, LOCATE_parser_tables___ParserTable___action_table_row1118};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -35064,10 +36183,11 @@ val_t parser_tables___ParserTable___action_table_row1118(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row1119(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 12814, LOCATE_parser_tables___ParserTable___action_table_row1119};
+  struct trace_t trace = {NULL, NULL, 12814, LOCATE_parser_tables___ParserTable___action_table_row1119};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(66)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -35142,10 +36262,11 @@ val_t parser_tables___ParserTable___action_table_row1119(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row1120(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 12841, LOCATE_parser_tables___ParserTable___action_table_row1120};
+  struct trace_t trace = {NULL, NULL, 12841, LOCATE_parser_tables___ParserTable___action_table_row1120};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -35163,10 +36284,11 @@ val_t parser_tables___ParserTable___action_table_row1120(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row1121(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 12849, LOCATE_parser_tables___ParserTable___action_table_row1121};
+  struct trace_t trace = {NULL, NULL, 12849, LOCATE_parser_tables___ParserTable___action_table_row1121};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -35178,10 +36300,11 @@ val_t parser_tables___ParserTable___action_table_row1121(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row1122(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 12855, LOCATE_parser_tables___ParserTable___action_table_row1122};
+  struct trace_t trace = {NULL, NULL, 12855, LOCATE_parser_tables___ParserTable___action_table_row1122};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(66)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -35256,10 +36379,11 @@ val_t parser_tables___ParserTable___action_table_row1122(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row1123(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 12882, LOCATE_parser_tables___ParserTable___action_table_row1123};
+  struct trace_t trace = {NULL, NULL, 12882, LOCATE_parser_tables___ParserTable___action_table_row1123};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(66)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -35334,10 +36458,11 @@ val_t parser_tables___ParserTable___action_table_row1123(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row1124(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 12909, LOCATE_parser_tables___ParserTable___action_table_row1124};
+  struct trace_t trace = {NULL, NULL, 12909, LOCATE_parser_tables___ParserTable___action_table_row1124};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -35355,10 +36480,11 @@ val_t parser_tables___ParserTable___action_table_row1124(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row1125(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 12917, LOCATE_parser_tables___ParserTable___action_table_row1125};
+  struct trace_t trace = {NULL, NULL, 12917, LOCATE_parser_tables___ParserTable___action_table_row1125};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -35370,10 +36496,11 @@ val_t parser_tables___ParserTable___action_table_row1125(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row1126(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 12923, LOCATE_parser_tables___ParserTable___action_table_row1126};
+  struct trace_t trace = {NULL, NULL, 12923, LOCATE_parser_tables___ParserTable___action_table_row1126};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(66)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -35448,10 +36575,11 @@ val_t parser_tables___ParserTable___action_table_row1126(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row1127(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 12950, LOCATE_parser_tables___ParserTable___action_table_row1127};
+  struct trace_t trace = {NULL, NULL, 12950, LOCATE_parser_tables___ParserTable___action_table_row1127};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -35463,10 +36591,11 @@ val_t parser_tables___ParserTable___action_table_row1127(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row1128(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 12956, LOCATE_parser_tables___ParserTable___action_table_row1128};
+  struct trace_t trace = {NULL, NULL, 12956, LOCATE_parser_tables___ParserTable___action_table_row1128};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -35478,10 +36607,11 @@ val_t parser_tables___ParserTable___action_table_row1128(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row1129(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 12962, LOCATE_parser_tables___ParserTable___action_table_row1129};
+  struct trace_t trace = {NULL, NULL, 12962, LOCATE_parser_tables___ParserTable___action_table_row1129};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(66)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -35556,10 +36686,11 @@ val_t parser_tables___ParserTable___action_table_row1129(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row1130(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 12989, LOCATE_parser_tables___ParserTable___action_table_row1130};
+  struct trace_t trace = {NULL, NULL, 12989, LOCATE_parser_tables___ParserTable___action_table_row1130};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -35571,10 +36702,11 @@ val_t parser_tables___ParserTable___action_table_row1130(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row1131(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 12995, LOCATE_parser_tables___ParserTable___action_table_row1131};
+  struct trace_t trace = {NULL, NULL, 12995, LOCATE_parser_tables___ParserTable___action_table_row1131};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -35586,10 +36718,11 @@ val_t parser_tables___ParserTable___action_table_row1131(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row1132(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 13001, LOCATE_parser_tables___ParserTable___action_table_row1132};
+  struct trace_t trace = {NULL, NULL, 13001, LOCATE_parser_tables___ParserTable___action_table_row1132};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -35601,10 +36734,11 @@ val_t parser_tables___ParserTable___action_table_row1132(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row1133(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 13007, LOCATE_parser_tables___ParserTable___action_table_row1133};
+  struct trace_t trace = {NULL, NULL, 13007, LOCATE_parser_tables___ParserTable___action_table_row1133};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(66)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -35679,10 +36813,11 @@ val_t parser_tables___ParserTable___action_table_row1133(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row1134(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 13034, LOCATE_parser_tables___ParserTable___action_table_row1134};
+  struct trace_t trace = {NULL, NULL, 13034, LOCATE_parser_tables___ParserTable___action_table_row1134};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -35700,10 +36835,11 @@ val_t parser_tables___ParserTable___action_table_row1134(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row1135(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 13042, LOCATE_parser_tables___ParserTable___action_table_row1135};
+  struct trace_t trace = {NULL, NULL, 13042, LOCATE_parser_tables___ParserTable___action_table_row1135};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -35715,10 +36851,11 @@ val_t parser_tables___ParserTable___action_table_row1135(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row1136(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 13048, LOCATE_parser_tables___ParserTable___action_table_row1136};
+  struct trace_t trace = {NULL, NULL, 13048, LOCATE_parser_tables___ParserTable___action_table_row1136};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(66)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -35793,10 +36930,11 @@ val_t parser_tables___ParserTable___action_table_row1136(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row1137(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 13075, LOCATE_parser_tables___ParserTable___action_table_row1137};
+  struct trace_t trace = {NULL, NULL, 13075, LOCATE_parser_tables___ParserTable___action_table_row1137};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -35808,10 +36946,11 @@ val_t parser_tables___ParserTable___action_table_row1137(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row1138(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 13081, LOCATE_parser_tables___ParserTable___action_table_row1138};
+  struct trace_t trace = {NULL, NULL, 13081, LOCATE_parser_tables___ParserTable___action_table_row1138};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -35823,10 +36962,11 @@ val_t parser_tables___ParserTable___action_table_row1138(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row1139(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 13087, LOCATE_parser_tables___ParserTable___action_table_row1139};
+  struct trace_t trace = {NULL, NULL, 13087, LOCATE_parser_tables___ParserTable___action_table_row1139};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(66)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -35901,10 +37041,11 @@ val_t parser_tables___ParserTable___action_table_row1139(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row1140(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 13114, LOCATE_parser_tables___ParserTable___action_table_row1140};
+  struct trace_t trace = {NULL, NULL, 13114, LOCATE_parser_tables___ParserTable___action_table_row1140};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -35916,10 +37057,11 @@ val_t parser_tables___ParserTable___action_table_row1140(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row1141(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 13120, LOCATE_parser_tables___ParserTable___action_table_row1141};
+  struct trace_t trace = {NULL, NULL, 13120, LOCATE_parser_tables___ParserTable___action_table_row1141};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -35931,10 +37073,11 @@ val_t parser_tables___ParserTable___action_table_row1141(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row1142(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 13126, LOCATE_parser_tables___ParserTable___action_table_row1142};
+  struct trace_t trace = {NULL, NULL, 13126, LOCATE_parser_tables___ParserTable___action_table_row1142};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -35952,10 +37095,11 @@ val_t parser_tables___ParserTable___action_table_row1142(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row1143(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 13134, LOCATE_parser_tables___ParserTable___action_table_row1143};
+  struct trace_t trace = {NULL, NULL, 13134, LOCATE_parser_tables___ParserTable___action_table_row1143};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -35970,10 +37114,11 @@ val_t parser_tables___ParserTable___action_table_row1143(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row1144(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 13141, LOCATE_parser_tables___ParserTable___action_table_row1144};
+  struct trace_t trace = {NULL, NULL, 13141, LOCATE_parser_tables___ParserTable___action_table_row1144};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(66)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -36048,10 +37193,11 @@ val_t parser_tables___ParserTable___action_table_row1144(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row1145(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 13168, LOCATE_parser_tables___ParserTable___action_table_row1145};
+  struct trace_t trace = {NULL, NULL, 13168, LOCATE_parser_tables___ParserTable___action_table_row1145};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -36069,10 +37215,11 @@ val_t parser_tables___ParserTable___action_table_row1145(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row1146(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 13176, LOCATE_parser_tables___ParserTable___action_table_row1146};
+  struct trace_t trace = {NULL, NULL, 13176, LOCATE_parser_tables___ParserTable___action_table_row1146};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -36084,10 +37231,11 @@ val_t parser_tables___ParserTable___action_table_row1146(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row1147(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 13182, LOCATE_parser_tables___ParserTable___action_table_row1147};
+  struct trace_t trace = {NULL, NULL, 13182, LOCATE_parser_tables___ParserTable___action_table_row1147};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(66)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -36162,10 +37310,11 @@ val_t parser_tables___ParserTable___action_table_row1147(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row1148(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 13209, LOCATE_parser_tables___ParserTable___action_table_row1148};
+  struct trace_t trace = {NULL, NULL, 13209, LOCATE_parser_tables___ParserTable___action_table_row1148};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -36177,10 +37326,11 @@ val_t parser_tables___ParserTable___action_table_row1148(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row1149(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 13215, LOCATE_parser_tables___ParserTable___action_table_row1149};
+  struct trace_t trace = {NULL, NULL, 13215, LOCATE_parser_tables___ParserTable___action_table_row1149};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -36192,10 +37342,11 @@ val_t parser_tables___ParserTable___action_table_row1149(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row1150(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 13221, LOCATE_parser_tables___ParserTable___action_table_row1150};
+  struct trace_t trace = {NULL, NULL, 13221, LOCATE_parser_tables___ParserTable___action_table_row1150};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(66)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -36270,10 +37421,11 @@ val_t parser_tables___ParserTable___action_table_row1150(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row1151(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 13248, LOCATE_parser_tables___ParserTable___action_table_row1151};
+  struct trace_t trace = {NULL, NULL, 13248, LOCATE_parser_tables___ParserTable___action_table_row1151};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -36285,10 +37437,11 @@ val_t parser_tables___ParserTable___action_table_row1151(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row1152(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 13254, LOCATE_parser_tables___ParserTable___action_table_row1152};
+  struct trace_t trace = {NULL, NULL, 13254, LOCATE_parser_tables___ParserTable___action_table_row1152};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -36300,10 +37453,11 @@ val_t parser_tables___ParserTable___action_table_row1152(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row1153(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 13260, LOCATE_parser_tables___ParserTable___action_table_row1153};
+  struct trace_t trace = {NULL, NULL, 13260, LOCATE_parser_tables___ParserTable___action_table_row1153};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -36315,10 +37469,11 @@ val_t parser_tables___ParserTable___action_table_row1153(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row1154(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 13266, LOCATE_parser_tables___ParserTable___action_table_row1154};
+  struct trace_t trace = {NULL, NULL, 13266, LOCATE_parser_tables___ParserTable___action_table_row1154};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(66)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -36393,10 +37548,11 @@ val_t parser_tables___ParserTable___action_table_row1154(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row1155(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 13293, LOCATE_parser_tables___ParserTable___action_table_row1155};
+  struct trace_t trace = {NULL, NULL, 13293, LOCATE_parser_tables___ParserTable___action_table_row1155};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -36408,10 +37564,11 @@ val_t parser_tables___ParserTable___action_table_row1155(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row1156(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 13299, LOCATE_parser_tables___ParserTable___action_table_row1156};
+  struct trace_t trace = {NULL, NULL, 13299, LOCATE_parser_tables___ParserTable___action_table_row1156};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -36423,10 +37580,11 @@ val_t parser_tables___ParserTable___action_table_row1156(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row1157(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 13305, LOCATE_parser_tables___ParserTable___action_table_row1157};
+  struct trace_t trace = {NULL, NULL, 13305, LOCATE_parser_tables___ParserTable___action_table_row1157};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(63)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -36498,10 +37656,11 @@ val_t parser_tables___ParserTable___action_table_row1157(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row1158(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 13331, LOCATE_parser_tables___ParserTable___action_table_row1158};
+  struct trace_t trace = {NULL, NULL, 13331, LOCATE_parser_tables___ParserTable___action_table_row1158};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -36513,10 +37672,11 @@ val_t parser_tables___ParserTable___action_table_row1158(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row1159(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 13337, LOCATE_parser_tables___ParserTable___action_table_row1159};
+  struct trace_t trace = {NULL, NULL, 13337, LOCATE_parser_tables___ParserTable___action_table_row1159};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -36528,10 +37688,11 @@ val_t parser_tables___ParserTable___action_table_row1159(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row1160(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 13343, LOCATE_parser_tables___ParserTable___action_table_row1160};
+  struct trace_t trace = {NULL, NULL, 13343, LOCATE_parser_tables___ParserTable___action_table_row1160};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(66)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -36606,10 +37767,11 @@ val_t parser_tables___ParserTable___action_table_row1160(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row1161(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 13370, LOCATE_parser_tables___ParserTable___action_table_row1161};
+  struct trace_t trace = {NULL, NULL, 13370, LOCATE_parser_tables___ParserTable___action_table_row1161};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -36621,10 +37783,11 @@ val_t parser_tables___ParserTable___action_table_row1161(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row1162(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 13376, LOCATE_parser_tables___ParserTable___action_table_row1162};
+  struct trace_t trace = {NULL, NULL, 13376, LOCATE_parser_tables___ParserTable___action_table_row1162};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -36636,10 +37799,11 @@ val_t parser_tables___ParserTable___action_table_row1162(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row1163(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 13382, LOCATE_parser_tables___ParserTable___action_table_row1163};
+  struct trace_t trace = {NULL, NULL, 13382, LOCATE_parser_tables___ParserTable___action_table_row1163};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -36651,10 +37815,11 @@ val_t parser_tables___ParserTable___action_table_row1163(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row1164(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 13388, LOCATE_parser_tables___ParserTable___action_table_row1164};
+  struct trace_t trace = {NULL, NULL, 13388, LOCATE_parser_tables___ParserTable___action_table_row1164};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -36666,10 +37831,11 @@ val_t parser_tables___ParserTable___action_table_row1164(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___action_table_row1165(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 13394, LOCATE_parser_tables___ParserTable___action_table_row1165};
+  struct trace_t trace = {NULL, NULL, 13394, LOCATE_parser_tables___ParserTable___action_table_row1165};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -36681,7 +37847,7 @@ val_t parser_tables___ParserTable___action_table_row1165(val_t  self) {
   return variable0;
 }
 void parser_tables___ParserTable___build_goto_table(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 13402, LOCATE_parser_tables___ParserTable___build_goto_table};
+  struct trace_t trace = {NULL, NULL, 13402, LOCATE_parser_tables___ParserTable___build_goto_table};
   val_t variable0;
   static val_t once_value_variable0_1168; static int once_bool_variable0_1168;
     val_t variable1;
@@ -36802,6 +37968,7 @@ void parser_tables___ParserTable___build_goto_table(val_t  self) {
     val_t variable116;
     val_t variable117;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   if (once_bool_variable0_1168) variable0 = once_value_variable0_1168;
   else {
     variable0 = NEW_array___Array___with_capacity(TAG_Int(116)); /*new Array[E]*/
@@ -39186,7 +40353,7 @@ void parser_tables___ParserTable___build_goto_table(val_t  self) {
   return;
 }
 val_t parser_tables___ParserTable___error_messages(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 14647, LOCATE_parser_tables___ParserTable___error_messages};
+  struct trace_t trace = {NULL, NULL, 14647, LOCATE_parser_tables___ParserTable___error_messages};
   val_t variable0;
   static val_t once_value_variable0_1170; static int once_bool_variable0_1170;
     val_t variable1;
@@ -39355,6 +40522,7 @@ val_t parser_tables___ParserTable___error_messages(val_t  self) {
     val_t variable164;
     val_t variable165;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   if (once_bool_variable0_1170) variable0 = once_value_variable0_1170;
   else {
     variable0 = NEW_array___Array___with_capacity(TAG_Int(165)); /*new Array[E]*/
@@ -39697,10 +40865,11 @@ val_t parser_tables___ParserTable___error_messages(val_t  self) {
   return variable0;
 }
 val_t parser_tables___ParserTable___errors(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables, 14818, LOCATE_parser_tables___ParserTable___errors};
+  struct trace_t trace = {NULL, NULL, 14818, LOCATE_parser_tables___ParserTable___errors};
   val_t variable0;
   static val_t once_value_variable0_1172; static int once_bool_variable0_1172;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_parser_tables;
   if (once_bool_variable0_1172) variable0 = once_value_variable0_1172;
   else {
     variable0 = NEW_array___Array___with_capacity(TAG_Int(1165)); /*new Array[E]*/
index 3b33055..6a4144f 100644 (file)
@@ -1,11 +1,11 @@
 /* This C header file is generated by NIT to compile modules and programs that requires parser_tables. */
-#ifndef parser_tables_2_sep
-#define parser_tables_2_sep
+#ifndef parser_tables_sep
+#define parser_tables_sep
 #include "standard._sep.h"
 #include <nit_common.h>
 
 extern const classtable_elt_t VFT_ParserTable[];
-#define LOCATE_parser_tables "./parser//parser_tables.nit"
+extern const char *LOCATE_parser_tables;
 extern const int SFT_parser_tables[];
 #define ID_ParserTable SFT_parser_tables[0]
 #define COLOR_ParserTable SFT_parser_tables[1]
index 075ad72..1715444 100644 (file)
@@ -1,15 +1,17 @@
 /* This C file is generated by NIT to compile module partial_order. */
 #include "partial_order._sep.h"
 val_t partial_order___PartialOrder___roots(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_partial_order, 30, LOCATE_partial_order___PartialOrder___roots};
+  struct trace_t trace = {NULL, NULL, 30, LOCATE_partial_order___PartialOrder___roots};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_partial_order;
   tracehead = trace.prev;
   return ATTR_partial_order___PartialOrder____roots( self) /*PartialOrder::_roots*/;
 }
 val_t partial_order___PartialOrder___is_empty(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_partial_order, 35, LOCATE_partial_order___PartialOrder___is_empty};
+  struct trace_t trace = {NULL, NULL, 35, LOCATE_partial_order___PartialOrder___is_empty};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_partial_order;
   variable0 = ATTR_partial_order___PartialOrder____elements( self) /*PartialOrder::_elements*/;
   variable0 = ((abstract_collection___Collection___is_empty_t)CALL(variable0,COLOR_abstract_collection___Collection___is_empty))(variable0) /*Collection::is_empty*/;
   goto return_label0;
@@ -18,9 +20,10 @@ val_t partial_order___PartialOrder___is_empty(val_t  self) {
   return variable0;
 }
 val_t partial_order___PartialOrder___length(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_partial_order, 37, LOCATE_partial_order___PartialOrder___length};
+  struct trace_t trace = {NULL, NULL, 37, LOCATE_partial_order___PartialOrder___length};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_partial_order;
   variable0 = ATTR_partial_order___PartialOrder____elements( self) /*PartialOrder::_elements*/;
   variable0 = ((abstract_collection___Collection___length_t)CALL(variable0,COLOR_abstract_collection___Collection___length))(variable0) /*Collection::length*/;
   goto return_label1;
@@ -29,9 +32,10 @@ val_t partial_order___PartialOrder___length(val_t  self) {
   return variable0;
 }
 val_t partial_order___PartialOrder___first(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_partial_order, 39, LOCATE_partial_order___PartialOrder___first};
+  struct trace_t trace = {NULL, NULL, 39, LOCATE_partial_order___PartialOrder___first};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_partial_order;
   variable0 = ATTR_partial_order___PartialOrder____elements_list( self) /*PartialOrder::_elements_list*/;
   variable0 = ((abstract_collection___IndexedCollection___first_t)CALL(variable0,COLOR_abstract_collection___Collection___first))(variable0) /*IndexedCollection::first*/;
   goto return_label2;
@@ -40,10 +44,11 @@ val_t partial_order___PartialOrder___first(val_t  self) {
   return variable0;
 }
 val_t partial_order___PartialOrder___has(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_partial_order, 41, LOCATE_partial_order___PartialOrder___has};
+  struct trace_t trace = {NULL, NULL, 41, LOCATE_partial_order___PartialOrder___has};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_partial_order;
   variable0 =  param0;
   variable1 = ATTR_partial_order___PartialOrder____elements( self) /*PartialOrder::_elements*/;
   variable1 = ((abstract_collection___Map___has_key_t)CALL(variable1,COLOR_abstract_collection___Map___has_key))(variable1,  variable0 /*e*/) /*Map::has_key*/;
@@ -53,11 +58,12 @@ val_t partial_order___PartialOrder___has(val_t  self, val_t  param0) {
   return variable1;
 }
 val_t partial_order___PartialOrder___has_only(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_partial_order, 43, LOCATE_partial_order___PartialOrder___has_only};
+  struct trace_t trace = {NULL, NULL, 43, LOCATE_partial_order___PartialOrder___has_only};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_partial_order;
   variable0 =  param0;
   variable1 = ATTR_partial_order___PartialOrder____elements( self) /*PartialOrder::_elements*/;
   variable1 = ((abstract_collection___Collection___length_t)CALL(variable1,COLOR_abstract_collection___Collection___length))(variable1) /*Collection::length*/;
@@ -75,10 +81,11 @@ val_t partial_order___PartialOrder___has_only(val_t  self, val_t  param0) {
   return variable1;
 }
 val_t partial_order___PartialOrder___count(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_partial_order, 45, LOCATE_partial_order___PartialOrder___count};
+  struct trace_t trace = {NULL, NULL, 45, LOCATE_partial_order___PartialOrder___count};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_partial_order;
   variable0 =  param0;
   variable1 = ((partial_order___PartialOrder___has_t)CALL( self,COLOR_abstract_collection___Collection___has))( self,  variable0 /*e*/) /*PartialOrder::has*/;
   if (UNTAG_Bool(variable1)) { /*if*/
@@ -93,9 +100,10 @@ val_t partial_order___PartialOrder___count(val_t  self, val_t  param0) {
   return variable1;
 }
 val_t partial_order___PartialOrder___iterator(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_partial_order, 54, LOCATE_partial_order___PartialOrder___iterator};
+  struct trace_t trace = {NULL, NULL, 54, LOCATE_partial_order___PartialOrder___iterator};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_partial_order;
   variable0 = ATTR_partial_order___PartialOrder____elements_list( self) /*PartialOrder::_elements_list*/;
   variable0 = ((array___AbstractArray___iterator_t)CALL(variable0,COLOR_abstract_collection___Collection___iterator))(variable0) /*AbstractArray::iterator*/;
   goto return_label6;
@@ -104,10 +112,11 @@ val_t partial_order___PartialOrder___iterator(val_t  self) {
   return variable0;
 }
 val_t partial_order___PartialOrder_____bra(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_partial_order, 58, LOCATE_partial_order___PartialOrder_____bra};
+  struct trace_t trace = {NULL, NULL, 58, LOCATE_partial_order___PartialOrder_____bra};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_partial_order;
   variable0 =  param0;
   variable1 = ATTR_partial_order___PartialOrder____elements( self) /*PartialOrder::_elements*/;
   variable1 = ((abstract_collection___Map___has_key_t)CALL(variable1,COLOR_abstract_collection___Map___has_key))(variable1,  variable0 /*e*/) /*Map::has_key*/;
@@ -124,7 +133,7 @@ val_t partial_order___PartialOrder_____bra(val_t  self, val_t  param0) {
   return variable1;
 }
 val_t partial_order___PartialOrder___to_dot(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_partial_order, 68, LOCATE_partial_order___PartialOrder___to_dot};
+  struct trace_t trace = {NULL, NULL, 68, LOCATE_partial_order___PartialOrder___to_dot};
   val_t variable0;
   val_t variable1;
     val_t variable2;
@@ -132,6 +141,7 @@ val_t partial_order___PartialOrder___to_dot(val_t  self) {
       val_t variable4;
       val_t variable5;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_partial_order;
   variable1 = NEW_string___String___init(); /*new String*/
   variable0 = variable1;
   variable1 = ((partial_order___PartialOrder___to_dot_header_t)CALL( self,COLOR_partial_order___PartialOrder___to_dot_header))( self) /*PartialOrder::to_dot_header*/;
@@ -171,9 +181,10 @@ val_t partial_order___PartialOrder___to_dot(val_t  self) {
   return variable0;
 }
 val_t partial_order___PartialOrder___to_dot_header(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_partial_order, 83, LOCATE_partial_order___PartialOrder___to_dot_header};
+  struct trace_t trace = {NULL, NULL, 83, LOCATE_partial_order___PartialOrder___to_dot_header};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_partial_order;
   variable0 = NEW_string___String___with_native(BOX_NativeString("digraph G {\ngraph [rankdir=BT];\n"), TAG_Int(32)); /*new String*/
   goto return_label11;
   return_label11: while(false);
@@ -181,7 +192,7 @@ val_t partial_order___PartialOrder___to_dot_header(val_t  self) {
   return variable0;
 }
 val_t partial_order___PartialOrder___to_dot_node(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_partial_order, 89, LOCATE_partial_order___PartialOrder___to_dot_node};
+  struct trace_t trace = {NULL, NULL, 89, LOCATE_partial_order___PartialOrder___to_dot_node};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -190,6 +201,7 @@ val_t partial_order___PartialOrder___to_dot_node(val_t  self, val_t  param0) {
   val_t variable5;
   val_t variable6;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_partial_order;
   variable0 =  param0;
   variable1 = NEW_string___String___init(); /*new String*/
   variable2 = NEW_string___String___with_native(BOX_NativeString("\""), TAG_Int(1)); /*new String*/
@@ -207,7 +219,7 @@ val_t partial_order___PartialOrder___to_dot_node(val_t  self, val_t  param0) {
   return variable1;
 }
 val_t partial_order___PartialOrder___to_dot_edge(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_partial_order, 95, LOCATE_partial_order___PartialOrder___to_dot_edge};
+  struct trace_t trace = {NULL, NULL, 95, LOCATE_partial_order___PartialOrder___to_dot_edge};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -220,6 +232,7 @@ val_t partial_order___PartialOrder___to_dot_edge(val_t  self, val_t  param0, val
   val_t variable9;
   val_t variable10;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_partial_order;
   variable0 =  param0;
   variable1 =  param1;
   variable2 = NEW_string___String___init(); /*new String*/
@@ -244,7 +257,7 @@ val_t partial_order___PartialOrder___to_dot_edge(val_t  self, val_t  param0, val
   return variable2;
 }
 val_t partial_order___PartialOrder___select_smallests(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_partial_order, 101, LOCATE_partial_order___PartialOrder___select_smallests};
+  struct trace_t trace = {NULL, NULL, 101, LOCATE_partial_order___PartialOrder___select_smallests};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -253,6 +266,7 @@ val_t partial_order___PartialOrder___select_smallests(val_t  self, val_t  param0
     val_t variable5;
     val_t variable6;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_partial_order;
   variable0 =  param0;
   variable1 = TAG_Bool(( variable0 /*c*/ ==  NIT_NULL /*null*/) || (( variable0 /*c*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*c*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*c*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*c*/,COLOR_kernel___Object_____eqeq))( variable0 /*c*/,  NIT_NULL /*null*/) /*Object::==*/)))));
   if (UNTAG_Bool(variable1)) { /*if*/
@@ -292,7 +306,7 @@ val_t partial_order___PartialOrder___select_smallests(val_t  self, val_t  param0
   return variable1;
 }
 val_t partial_order___PartialOrder___add(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_partial_order, 122, LOCATE_partial_order___PartialOrder___add};
+  struct trace_t trace = {NULL, NULL, 122, LOCATE_partial_order___PartialOrder___add};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -300,6 +314,7 @@ val_t partial_order___PartialOrder___add(val_t  self, val_t  param0, val_t  para
   val_t variable4;
   val_t variable5;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_partial_order;
   variable0 =  param0;
   variable1 =  param1;
   variable2 = ((partial_order___PartialOrder___has_t)CALL( self,COLOR_abstract_collection___Collection___has))( self,  variable0 /*e*/) /*PartialOrder::has*/;
@@ -336,12 +351,13 @@ val_t partial_order___PartialOrder___add(val_t  self, val_t  param0, val_t  para
   return variable2;
 }
 val_t partial_order___PartialOrder___has_all(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_partial_order, 137, LOCATE_partial_order___PartialOrder___has_all};
+  struct trace_t trace = {NULL, NULL, 137, LOCATE_partial_order___PartialOrder___has_all};
   val_t variable0;
   val_t variable1;
     val_t variable2;
     val_t variable3;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_partial_order;
   variable0 =  param0;
   variable1 = ((abstract_collection___Collection___iterator_t)CALL( variable0 /*e*/,COLOR_abstract_collection___Collection___iterator))( variable0 /*e*/) /*Collection::iterator*/;
   while (true) { /*for*/
@@ -364,11 +380,12 @@ val_t partial_order___PartialOrder___has_all(val_t  self, val_t  param0) {
   return variable1;
 }
 val_t partial_order___PartialOrder___new_poe(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_partial_order, 148, LOCATE_partial_order___PartialOrder___new_poe};
+  struct trace_t trace = {NULL, NULL, 148, LOCATE_partial_order___PartialOrder___new_poe};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_partial_order;
   variable0 =  param0;
   variable1 =  param1;
   variable2 = NEW_partial_order___PartialOrderElement___init( self,  variable0 /*e*/,  variable1 /*directs*/); /*new PartialOrderElement[E]*/
@@ -378,7 +395,7 @@ val_t partial_order___PartialOrder___new_poe(val_t  self, val_t  param0, val_t
   return variable2;
 }
 val_t partial_order___PartialOrder___add_to_smallests(val_t  self, val_t  param0, val_t  param1, val_t  param2) {
-  struct trace_t trace = {NULL, LOCATE_partial_order, 154, LOCATE_partial_order___PartialOrder___add_to_smallests};
+  struct trace_t trace = {NULL, NULL, 154, LOCATE_partial_order___PartialOrder___add_to_smallests};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -387,6 +404,7 @@ val_t partial_order___PartialOrder___add_to_smallests(val_t  self, val_t  param0
     val_t variable5;
     val_t variable6;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_partial_order;
   variable0 =  param0;
   variable1 =  param1;
   variable2 =  param2;
@@ -419,7 +437,7 @@ val_t partial_order___PartialOrder___add_to_smallests(val_t  self, val_t  param0
   return variable3;
 }
 void partial_order___PartialOrder___compute_smallers_for(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_partial_order, 175, LOCATE_partial_order___PartialOrder___compute_smallers_for};
+  struct trace_t trace = {NULL, NULL, 175, LOCATE_partial_order___PartialOrder___compute_smallers_for};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -427,6 +445,7 @@ void partial_order___PartialOrder___compute_smallers_for(val_t  self, val_t  par
     val_t variable4;
     val_t variable5;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_partial_order;
   variable0 =  param0;
   variable1 =  param1;
   variable3 = ((partial_order___PartialOrderElement___value_t)CALL( variable0 /*poe*/,COLOR_partial_order___PartialOrderElement___value))( variable0 /*poe*/) /*PartialOrderElement::value*/;
@@ -450,9 +469,10 @@ void partial_order___PartialOrder___compute_smallers_for(val_t  self, val_t  par
   return;
 }
 void partial_order___PartialOrder___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_partial_order, 185, LOCATE_partial_order___PartialOrder___init};
+  struct trace_t trace = {NULL, NULL, 185, LOCATE_partial_order___PartialOrder___init};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_partial_order;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_PartialOrder].i]) return;
   variable0 = NEW_hash___HashMap___init(); /*new HashMap[K, V]*/
   ATTR_partial_order___PartialOrder____elements( self) /*PartialOrder::_elements*/ = variable0;
@@ -465,46 +485,53 @@ void partial_order___PartialOrder___init(val_t  self, int* init_table) {
   return;
 }
 val_t partial_order___PartialOrderElement___order(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_partial_order, 194, LOCATE_partial_order___PartialOrderElement___order};
+  struct trace_t trace = {NULL, NULL, 194, LOCATE_partial_order___PartialOrderElement___order};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_partial_order;
   tracehead = trace.prev;
   return ATTR_partial_order___PartialOrderElement____order( self) /*PartialOrderElement::_order*/;
 }
 val_t partial_order___PartialOrderElement___value(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_partial_order, 197, LOCATE_partial_order___PartialOrderElement___value};
+  struct trace_t trace = {NULL, NULL, 197, LOCATE_partial_order___PartialOrderElement___value};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_partial_order;
   tracehead = trace.prev;
   return ATTR_partial_order___PartialOrderElement____value( self) /*PartialOrderElement::_value*/;
 }
 val_t partial_order___PartialOrderElement___rank(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_partial_order, 200, LOCATE_partial_order___PartialOrderElement___rank};
+  struct trace_t trace = {NULL, NULL, 200, LOCATE_partial_order___PartialOrderElement___rank};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_partial_order;
   tracehead = trace.prev;
   return ATTR_partial_order___PartialOrderElement____rank( self) /*PartialOrderElement::_rank*/;
 }
 val_t partial_order___PartialOrderElement___direct_greaters(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_partial_order, 206, LOCATE_partial_order___PartialOrderElement___direct_greaters};
+  struct trace_t trace = {NULL, NULL, 206, LOCATE_partial_order___PartialOrderElement___direct_greaters};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_partial_order;
   tracehead = trace.prev;
   return ATTR_partial_order___PartialOrderElement____direct_greaters( self) /*PartialOrderElement::_direct_greaters*/;
 }
 val_t partial_order___PartialOrderElement___direct_smallers(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_partial_order, 209, LOCATE_partial_order___PartialOrderElement___direct_smallers};
+  struct trace_t trace = {NULL, NULL, 209, LOCATE_partial_order___PartialOrderElement___direct_smallers};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_partial_order;
   tracehead = trace.prev;
   return ATTR_partial_order___PartialOrderElement____direct_smallers( self) /*PartialOrderElement::_direct_smallers*/;
 }
 val_t partial_order___PartialOrderElement___greaters(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_partial_order, 212, LOCATE_partial_order___PartialOrderElement___greaters};
+  struct trace_t trace = {NULL, NULL, 212, LOCATE_partial_order___PartialOrderElement___greaters};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_partial_order;
   tracehead = trace.prev;
   return ATTR_partial_order___PartialOrderElement____greaters( self) /*PartialOrderElement::_greaters*/;
 }
 val_t partial_order___PartialOrderElement___greaters_and_self(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_partial_order, 218, LOCATE_partial_order___PartialOrderElement___greaters_and_self};
+  struct trace_t trace = {NULL, NULL, 218, LOCATE_partial_order___PartialOrderElement___greaters_and_self};
   val_t variable0;
     val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_partial_order;
   variable0 = ATTR_partial_order___PartialOrderElement____greaters_and_self_cache( self) /*PartialOrderElement::_greaters_and_self_cache*/;
   variable0 = TAG_Bool((variable0 ==  NIT_NULL /*null*/) || ((variable0 != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL(variable0,COLOR_kernel___Object_____eqeq))(variable0,  NIT_NULL /*null*/) /*AbstractArray::==*/)));
   if (UNTAG_Bool(variable0)) { /*if*/
@@ -522,10 +549,11 @@ val_t partial_order___PartialOrderElement___greaters_and_self(val_t  self) {
   return variable0;
 }
 val_t partial_order___PartialOrderElement___smallers(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_partial_order, 234, LOCATE_partial_order___PartialOrderElement___smallers};
+  struct trace_t trace = {NULL, NULL, 234, LOCATE_partial_order___PartialOrderElement___smallers};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_partial_order;
   variable0 = ATTR_partial_order___PartialOrderElement____smallers_last_length( self) /*PartialOrderElement::_smallers_last_length*/;
   variable1 = ATTR_partial_order___PartialOrderElement____order( self) /*PartialOrderElement::_order*/;
   variable1 = ((partial_order___PartialOrder___length_t)CALL(variable1,COLOR_abstract_collection___Collection___length))(variable1) /*PartialOrder::length*/;
@@ -545,7 +573,7 @@ val_t partial_order___PartialOrderElement___smallers(val_t  self) {
   return variable0;
 }
 val_t partial_order___PartialOrderElement___linear_extension(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_partial_order, 247, LOCATE_partial_order___PartialOrderElement___linear_extension};
+  struct trace_t trace = {NULL, NULL, 247, LOCATE_partial_order___PartialOrderElement___linear_extension};
   val_t variable0;
     val_t variable1;
     val_t variable2;
@@ -555,6 +583,7 @@ val_t partial_order___PartialOrderElement___linear_extension(val_t  self) {
         val_t variable6;
         val_t variable7;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_partial_order;
   variable0 = ATTR_partial_order___PartialOrderElement____linear_extension_cache( self) /*PartialOrderElement::_linear_extension_cache*/;
   variable0 = TAG_Bool((variable0 ==  NIT_NULL /*null*/) || ((variable0 != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL(variable0,COLOR_kernel___Object_____eqeq))(variable0,  NIT_NULL /*null*/) /*AbstractArray::==*/)));
   if (UNTAG_Bool(variable0)) { /*if*/
@@ -605,13 +634,14 @@ val_t partial_order___PartialOrderElement___linear_extension(val_t  self) {
   return variable0;
 }
 val_t partial_order___PartialOrderElement___reverse_linear_extension(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_partial_order, 275, LOCATE_partial_order___PartialOrderElement___reverse_linear_extension};
+  struct trace_t trace = {NULL, NULL, 275, LOCATE_partial_order___PartialOrderElement___reverse_linear_extension};
   val_t variable0;
     val_t variable1;
       val_t variable2;
       val_t variable3;
       val_t variable4;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_partial_order;
   variable0 = ATTR_partial_order___PartialOrderElement____reverse_linear_extension_cache( self) /*PartialOrderElement::_reverse_linear_extension_cache*/;
   variable0 = TAG_Bool((variable0 ==  NIT_NULL /*null*/) || ((variable0 != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL(variable0,COLOR_kernel___Object_____eqeq))(variable0,  NIT_NULL /*null*/) /*AbstractArray::==*/)));
   if (UNTAG_Bool(variable0)) { /*if*/
@@ -644,10 +674,11 @@ val_t partial_order___PartialOrderElement___reverse_linear_extension(val_t  self
   return variable0;
 }
 val_t partial_order___PartialOrderElement_____l(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_partial_order, 291, LOCATE_partial_order___PartialOrderElement_____l};
+  struct trace_t trace = {NULL, NULL, 291, LOCATE_partial_order___PartialOrderElement_____l};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_partial_order;
   variable0 =  param0;
   variable1 = ATTR_partial_order___PartialOrderElement____greaters( self) /*PartialOrderElement::_greaters*/;
   variable1 = ((abstract_collection___Collection___has_t)CALL(variable1,COLOR_abstract_collection___Collection___has))(variable1,  variable0 /*o*/) /*Collection::has*/;
@@ -657,11 +688,12 @@ val_t partial_order___PartialOrderElement_____l(val_t  self, val_t  param0) {
   return variable1;
 }
 val_t partial_order___PartialOrderElement_____leq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_partial_order, 297, LOCATE_partial_order___PartialOrderElement_____leq};
+  struct trace_t trace = {NULL, NULL, 297, LOCATE_partial_order___PartialOrderElement_____leq};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_partial_order;
   variable0 =  param0;
   variable1 = ATTR_partial_order___PartialOrderElement____value( self) /*PartialOrderElement::_value*/;
   variable1 = TAG_Bool((variable1 ==  variable0 /*o*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, variable0 /*o*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1,  variable0 /*o*/) /*Object::==*/)))));
@@ -677,11 +709,12 @@ val_t partial_order___PartialOrderElement_____leq(val_t  self, val_t  param0) {
   return variable1;
 }
 val_t partial_order___PartialOrderElement_____g(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_partial_order, 303, LOCATE_partial_order___PartialOrderElement_____g};
+  struct trace_t trace = {NULL, NULL, 303, LOCATE_partial_order___PartialOrderElement_____g};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_partial_order;
   variable0 =  param0;
   variable1 = ATTR_partial_order___PartialOrderElement____order( self) /*PartialOrderElement::_order*/;
   variable1 = ((partial_order___PartialOrder_____bra_t)CALL(variable1,COLOR_partial_order___PartialOrder_____bra))(variable1,  variable0 /*o*/) /*PartialOrder::[]*/;
@@ -693,12 +726,13 @@ val_t partial_order___PartialOrderElement_____g(val_t  self, val_t  param0) {
   return variable1;
 }
 val_t partial_order___PartialOrderElement_____geq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_partial_order, 309, LOCATE_partial_order___PartialOrderElement_____geq};
+  struct trace_t trace = {NULL, NULL, 309, LOCATE_partial_order___PartialOrderElement_____geq};
   val_t variable0;
   val_t variable1;
   val_t variable2;
     val_t variable3;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_partial_order;
   variable0 =  param0;
   variable1 = ATTR_partial_order___PartialOrderElement____value( self) /*PartialOrderElement::_value*/;
   variable1 = TAG_Bool((variable1 ==  variable0 /*o*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, variable0 /*o*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1,  variable0 /*o*/) /*Object::==*/)))));
@@ -716,10 +750,11 @@ val_t partial_order___PartialOrderElement_____geq(val_t  self, val_t  param0) {
   return variable1;
 }
 void partial_order___PartialOrderElement___register_direct_smallers(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_partial_order, 315, LOCATE_partial_order___PartialOrderElement___register_direct_smallers};
+  struct trace_t trace = {NULL, NULL, 315, LOCATE_partial_order___PartialOrderElement___register_direct_smallers};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_partial_order;
   variable0 =  param0;
   variable1 = ATTR_partial_order___PartialOrderElement____direct_smallers( self) /*PartialOrderElement::_direct_smallers*/;
   ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  variable0 /*e*/) /*AbstractArray::add*/;
@@ -727,7 +762,7 @@ void partial_order___PartialOrderElement___register_direct_smallers(val_t  self,
   return;
 }
 void partial_order___PartialOrderElement___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_partial_order, 320, LOCATE_partial_order___PartialOrderElement___init};
+  struct trace_t trace = {NULL, NULL, 320, LOCATE_partial_order___PartialOrderElement___init};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -739,6 +774,7 @@ void partial_order___PartialOrderElement___init(val_t  self, val_t  param0, val_
     val_t variable8;
       val_t variable9;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_partial_order;
   variable0 =  param0;
   variable1 =  param1;
   variable2 =  param2;
index f3acc85..86c29d3 100644 (file)
@@ -1,13 +1,13 @@
 /* This C header file is generated by NIT to compile modules and programs that requires partial_order. */
-#ifndef partial_order_2_sep
-#define partial_order_2_sep
+#ifndef partial_order_sep
+#define partial_order_sep
 #include "standard._sep.h"
 #include <nit_common.h>
 
 extern const classtable_elt_t VFT_PartialOrder[];
 
 extern const classtable_elt_t VFT_PartialOrderElement[];
-#define LOCATE_partial_order "./metamodel//partial_order.nit"
+extern const char *LOCATE_partial_order;
 extern const int SFT_partial_order[];
 #define ID_PartialOrder SFT_partial_order[0]
 #define COLOR_PartialOrder SFT_partial_order[1]
index 52332af..f8f810a 100644 (file)
@@ -1,29 +1,33 @@
 /* This C file is generated by NIT to compile module range. */
 #include "range._sep.h"
 val_t range___Range___first(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_range, 22, LOCATE_range___Range___first};
+  struct trace_t trace = {NULL, NULL, 22, LOCATE_range___Range___first};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_range;
   tracehead = trace.prev;
   return ATTR_range___Range____first( self) /*Range::_first*/;
 }
 val_t range___Range___last(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_range, 24, LOCATE_range___Range___last};
+  struct trace_t trace = {NULL, NULL, 24, LOCATE_range___Range___last};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_range;
   tracehead = trace.prev;
   return ATTR_range___Range____last( self) /*Range::_last*/;
 }
 val_t range___Range___after(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_range, 27, LOCATE_range___Range___after};
+  struct trace_t trace = {NULL, NULL, 27, LOCATE_range___Range___after};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_range;
   tracehead = trace.prev;
   return ATTR_range___Range____after( self) /*Range::_after*/;
 }
 val_t range___Range___has(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_range, 30, LOCATE_range___Range___has};
+  struct trace_t trace = {NULL, NULL, 30, LOCATE_range___Range___has};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_range;
   variable0 =  param0;
   variable1 = ATTR_range___Range____first( self) /*Range::_first*/;
   variable1 = ((kernel___Comparable_____geq_t)CALL( variable0 /*item*/,COLOR_kernel___Comparable_____geq))( variable0 /*item*/, variable1) /*Comparable::>=*/;
@@ -39,11 +43,12 @@ val_t range___Range___has(val_t  self, val_t  param0) {
   return variable1;
 }
 val_t range___Range___has_only(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_range, 32, LOCATE_range___Range___has_only};
+  struct trace_t trace = {NULL, NULL, 32, LOCATE_range___Range___has_only};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_range;
   variable0 =  param0;
   variable1 = ATTR_range___Range____first( self) /*Range::_first*/;
   variable1 = TAG_Bool((variable1 ==  variable0 /*item*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, variable0 /*item*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1,  variable0 /*item*/) /*Object::==*/)))));
@@ -59,10 +64,11 @@ val_t range___Range___has_only(val_t  self, val_t  param0) {
   return variable1;
 }
 val_t range___Range___count(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_range, 34, LOCATE_range___Range___count};
+  struct trace_t trace = {NULL, NULL, 34, LOCATE_range___Range___count};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_range;
   variable0 =  param0;
   variable1 = ((range___Range___has_t)CALL( self,COLOR_abstract_collection___Collection___has))( self,  variable0 /*item*/) /*Range::has*/;
   if (UNTAG_Bool(variable1)) { /*if*/
@@ -77,9 +83,10 @@ val_t range___Range___count(val_t  self, val_t  param0) {
   return variable1;
 }
 val_t range___Range___iterator(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_range, 43, LOCATE_range___Range___iterator};
+  struct trace_t trace = {NULL, NULL, 43, LOCATE_range___Range___iterator};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_range;
   variable0 = NEW_range___IteratorRange___init( self); /*new IteratorRange[E]*/
   goto return_label3;
   return_label3: while(false);
@@ -87,11 +94,12 @@ val_t range___Range___iterator(val_t  self) {
   return variable0;
 }
 val_t range___Range___length(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_range, 45, LOCATE_range___Range___length};
+  struct trace_t trace = {NULL, NULL, 45, LOCATE_range___Range___length};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_range;
   variable1 = ATTR_range___Range____first( self) /*Range::_first*/;
   variable2 = ATTR_range___Range____after( self) /*Range::_after*/;
   variable1 = ((kernel___Discrete___distance_t)CALL(variable1,COLOR_kernel___Discrete___distance))(variable1, variable2) /*Discrete::distance*/;
@@ -109,10 +117,11 @@ val_t range___Range___length(val_t  self) {
   return variable0;
 }
 val_t range___Range___is_empty(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_range, 55, LOCATE_range___Range___is_empty};
+  struct trace_t trace = {NULL, NULL, 55, LOCATE_range___Range___is_empty};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_range;
   variable0 = ATTR_range___Range____first( self) /*Range::_first*/;
   variable1 = ATTR_range___Range____after( self) /*Range::_after*/;
   variable0 = ((kernel___Comparable_____geq_t)CALL(variable0,COLOR_kernel___Comparable_____geq))(variable0, variable1) /*Comparable::>=*/;
@@ -122,11 +131,12 @@ val_t range___Range___is_empty(val_t  self) {
   return variable0;
 }
 void range___Range___init(val_t  self, val_t  param0, val_t  param1, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_range, 57, LOCATE_range___Range___init};
+  struct trace_t trace = {NULL, NULL, 57, LOCATE_range___Range___init};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_range;
   variable0 =  param0;
   variable1 =  param1;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_Range].i]) return;
@@ -139,11 +149,12 @@ void range___Range___init(val_t  self, val_t  param0, val_t  param1, int* init_t
   return;
 }
 void range___Range___without_last(val_t  self, val_t  param0, val_t  param1, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_range, 66, LOCATE_range___Range___without_last};
+  struct trace_t trace = {NULL, NULL, 66, LOCATE_range___Range___without_last};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_range;
   variable0 =  param0;
   variable1 =  param1;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_Range].i]) return;
@@ -156,16 +167,18 @@ void range___Range___without_last(val_t  self, val_t  param0, val_t  param1, int
   return;
 }
 val_t range___IteratorRange___item(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_range, 80, LOCATE_range___IteratorRange___item};
+  struct trace_t trace = {NULL, NULL, 80, LOCATE_range___IteratorRange___item};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_range;
   tracehead = trace.prev;
   return ATTR_range___IteratorRange____item( self) /*IteratorRange::_item*/;
 }
 val_t range___IteratorRange___is_ok(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_range, 82, LOCATE_range___IteratorRange___is_ok};
+  struct trace_t trace = {NULL, NULL, 82, LOCATE_range___IteratorRange___is_ok};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_range;
   variable0 = ATTR_range___IteratorRange____item( self) /*IteratorRange::_item*/;
   variable1 = ATTR_range___IteratorRange____range( self) /*IteratorRange::_range*/;
   variable1 = ((range___Range___after_t)CALL(variable1,COLOR_range___Range___after))(variable1) /*Range::after*/;
@@ -176,9 +189,10 @@ val_t range___IteratorRange___is_ok(val_t  self) {
   return variable0;
 }
 void range___IteratorRange___next(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_range, 84, LOCATE_range___IteratorRange___next};
+  struct trace_t trace = {NULL, NULL, 84, LOCATE_range___IteratorRange___next};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_range;
   variable0 = ATTR_range___IteratorRange____item( self) /*IteratorRange::_item*/;
   variable0 = ((kernel___Discrete___succ_t)CALL(variable0,COLOR_kernel___Discrete___succ))(variable0) /*Discrete::succ*/;
   ATTR_range___IteratorRange____item( self) /*IteratorRange::_item*/ = variable0;
@@ -186,10 +200,11 @@ void range___IteratorRange___next(val_t  self) {
   return;
 }
 void range___IteratorRange___init(val_t  self, val_t  param0, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_range, 86, LOCATE_range___IteratorRange___init};
+  struct trace_t trace = {NULL, NULL, 86, LOCATE_range___IteratorRange___init};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_range;
   variable0 =  param0;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_IteratorRange].i]) return;
   ATTR_range___IteratorRange____range( self) /*IteratorRange::_range*/ =  variable0 /*r*/;
index f2322cd..d8e83e8 100644 (file)
@@ -1,13 +1,13 @@
 /* This C header file is generated by NIT to compile modules and programs that requires range. */
-#ifndef range_2_sep
-#define range_2_sep
+#ifndef range_sep
+#define range_sep
 #include "abstract_collection._sep.h"
 #include <nit_common.h>
 
 extern const classtable_elt_t VFT_Range[];
 
 extern const classtable_elt_t VFT_IteratorRange[];
-#define LOCATE_range "./../lib/standard//range.nit"
+extern const char *LOCATE_range;
 extern const int SFT_range[];
 #define ID_Range SFT_range[0]
 #define COLOR_Range SFT_range[1]
index 0c4b4e2..5fa7c2e 100644 (file)
@@ -1,8 +1,9 @@
 /* This C file is generated by NIT to compile module sorter. */
 #include "sorter._sep.h"
 val_t sorter___AbstractSorter___compare(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_sorter, 22, LOCATE_sorter___AbstractSorter___compare};
+  struct trace_t trace = {NULL, NULL, 22, LOCATE_sorter___AbstractSorter___compare};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_sorter;
   fprintf(stderr, "Deferred method %s called");
   fprintf(stderr, " (%s:%d)\n", LOCATE_sorter, 22);
   nit_exit(1);
@@ -10,10 +11,11 @@ val_t sorter___AbstractSorter___compare(val_t  self, val_t  param0, val_t  param
   return NIT_NULL;
 }
 void sorter___AbstractSorter___sort(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_sorter, 29, LOCATE_sorter___AbstractSorter___sort};
+  struct trace_t trace = {NULL, NULL, 29, LOCATE_sorter___AbstractSorter___sort};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_sorter;
   variable0 =  param0;
   variable1 = ((array___AbstractArray___length_t)CALL( variable0 /*array*/,COLOR_abstract_collection___Collection___length))( variable0 /*array*/) /*AbstractArray::length*/;
   variable1 = TAG_Int(UNTAG_Int(variable1)-UNTAG_Int( TAG_Int(1)));
@@ -22,12 +24,13 @@ void sorter___AbstractSorter___sort(val_t  self, val_t  param0) {
   return;
 }
 void sorter___AbstractSorter___sub_sort(val_t  self, val_t  param0, val_t  param1, val_t  param2) {
-  struct trace_t trace = {NULL, LOCATE_sorter, 32, LOCATE_sorter___AbstractSorter___sub_sort};
+  struct trace_t trace = {NULL, NULL, 32, LOCATE_sorter___AbstractSorter___sub_sort};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   val_t variable3;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_sorter;
   variable0 =  param0;
   variable1 =  param1;
   variable2 =  param2;
@@ -48,7 +51,7 @@ void sorter___AbstractSorter___sub_sort(val_t  self, val_t  param0, val_t  param
   return;
 }
 void sorter___AbstractSorter___quick_sort(val_t  self, val_t  param0, val_t  param1, val_t  param2) {
-  struct trace_t trace = {NULL, LOCATE_sorter, 44, LOCATE_sorter___AbstractSorter___quick_sort};
+  struct trace_t trace = {NULL, NULL, 44, LOCATE_sorter___AbstractSorter___quick_sort};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -60,6 +63,7 @@ void sorter___AbstractSorter___quick_sort(val_t  self, val_t  param0, val_t  par
         val_t variable8;
         val_t variable9;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_sorter;
   variable0 =  param0;
   variable1 =  param1;
   variable2 =  param2;
@@ -199,7 +203,7 @@ void sorter___AbstractSorter___quick_sort(val_t  self, val_t  param0, val_t  par
   return;
 }
 void sorter___AbstractSorter___bubble_sort(val_t  self, val_t  param0, val_t  param1, val_t  param2) {
-  struct trace_t trace = {NULL, LOCATE_sorter, 65, LOCATE_sorter___AbstractSorter___bubble_sort};
+  struct trace_t trace = {NULL, NULL, 65, LOCATE_sorter___AbstractSorter___bubble_sort};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -211,6 +215,7 @@ void sorter___AbstractSorter___bubble_sort(val_t  self, val_t  param0, val_t  pa
     val_t variable8;
       val_t variable9;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_sorter;
   variable0 =  param0;
   variable1 =  param1;
   variable2 =  param2;
@@ -303,11 +308,12 @@ void sorter___AbstractSorter___bubble_sort(val_t  self, val_t  param0, val_t  pa
   return;
 }
 val_t sorter___ComparableSorter___compare(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_sorter, 93, LOCATE_sorter___ComparableSorter___compare};
+  struct trace_t trace = {NULL, NULL, 93, LOCATE_sorter___ComparableSorter___compare};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_sorter;
   variable0 =  param0;
   variable1 =  param1;
   variable2 = ((kernel___Comparable_____leqg_t)CALL( variable0 /*a*/,COLOR_kernel___Comparable_____leqg))( variable0 /*a*/,  variable1 /*b*/) /*Comparable::<=>*/;
@@ -317,8 +323,9 @@ val_t sorter___ComparableSorter___compare(val_t  self, val_t  param0, val_t  par
   return variable2;
 }
 void sorter___ComparableSorter___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_sorter, 96, LOCATE_sorter___ComparableSorter___init};
+  struct trace_t trace = {NULL, NULL, 96, LOCATE_sorter___ComparableSorter___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_sorter;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ComparableSorter].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ComparableSorter].i] = 1;
   tracehead = trace.prev;
index 6968de0..cd22a38 100644 (file)
@@ -1,13 +1,13 @@
 /* This C header file is generated by NIT to compile modules and programs that requires sorter. */
-#ifndef sorter_2_sep
-#define sorter_2_sep
+#ifndef sorter_sep
+#define sorter_sep
 #include "array._sep.h"
 #include <nit_common.h>
 
 extern const classtable_elt_t VFT_AbstractSorter[];
 
 extern const classtable_elt_t VFT_ComparableSorter[];
-#define LOCATE_sorter "./../lib/standard//sorter.nit"
+extern const char *LOCATE_sorter;
 extern const int SFT_sorter[];
 #define ID_AbstractSorter SFT_sorter[0]
 #define COLOR_AbstractSorter SFT_sorter[1]
index d8445b3..6fb4e43 100644 (file)
@@ -1,6 +1,6 @@
 /* This C header file is generated by NIT to compile modules and programs that requires standard. */
-#ifndef standard_2_sep
-#define standard_2_sep
+#ifndef standard_sep
+#define standard_sep
 #include "environ._sep.h"
 #include "time._sep.h"
 #include "sorter._sep.h"
@@ -10,6 +10,6 @@
 #include "range._sep.h"
 #include "math._sep.h"
 #include <nit_common.h>
-#define LOCATE_standard "./../lib/standard//standard.nit"
+extern const char *LOCATE_standard;
 extern const int SFT_standard[];
 #endif
index 8278f7d..4e613e3 100644 (file)
@@ -1,9 +1,10 @@
 /* This C file is generated by NIT to compile module static_type. */
 #include "static_type._sep.h"
 val_t static_type___MMLocalClass___get_type(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_static_type, 27, LOCATE_static_type___MMLocalClass___get_type};
+  struct trace_t trace = {NULL, NULL, 27, LOCATE_static_type___MMLocalClass___get_type};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_static_type;
   variable0 = ATTR_static_type___MMLocalClass____base_type_cache( self) /*MMLocalClass::_base_type_cache*/;
   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::==*/)))));
   if (UNTAG_Bool(variable0)) { /*if*/
@@ -17,11 +18,12 @@ val_t static_type___MMLocalClass___get_type(val_t  self) {
   return variable0;
 }
 void static_type___MMLocalClass___add_ancestor(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_static_type, 34, LOCATE_static_type___MMLocalClass___add_ancestor};
+  struct trace_t trace = {NULL, NULL, 34, LOCATE_static_type___MMLocalClass___add_ancestor};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_static_type;
   variable0 =  param0;
   variable1 = ATTR_static_type___MMLocalClass____ancestors( self) /*MMLocalClass::_ancestors*/;
   variable2 = ((static_type___MMAncestor___local_class_t)CALL( variable0 /*a*/,COLOR_static_type___MMAncestor___local_class))( variable0 /*a*/) /*MMAncestor::local_class*/;
@@ -37,16 +39,18 @@ void static_type___MMLocalClass___add_ancestor(val_t  self, val_t  param0) {
   return;
 }
 val_t static_type___MMLocalClass___ancestors(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_static_type, 42, LOCATE_static_type___MMLocalClass___ancestors};
+  struct trace_t trace = {NULL, NULL, 42, LOCATE_static_type___MMLocalClass___ancestors};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_static_type;
   tracehead = trace.prev;
   return ATTR_static_type___MMLocalClass____ancestors( self) /*MMLocalClass::_ancestors*/;
 }
 val_t static_type___MMLocalClass___ancestor(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_static_type, 45, LOCATE_static_type___MMLocalClass___ancestor};
+  struct trace_t trace = {NULL, NULL, 45, LOCATE_static_type___MMLocalClass___ancestor};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_static_type;
   variable0 =  param0;
   variable1 = ATTR_static_type___MMLocalClass____ancestors( self) /*MMLocalClass::_ancestors*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 ==  NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -66,24 +70,27 @@ val_t static_type___MMLocalClass___ancestor(val_t  self, val_t  param0) {
   return variable1;
 }
 val_t static_type___MMLocalProperty___signature(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_static_type, 57, LOCATE_static_type___MMLocalProperty___signature};
+  struct trace_t trace = {NULL, NULL, 57, LOCATE_static_type___MMLocalProperty___signature};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_static_type;
   tracehead = trace.prev;
   return ATTR_static_type___MMLocalProperty____signature( self) /*MMLocalProperty::_signature*/;
 }
 void static_type___MMLocalProperty___signature__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_static_type, 57, LOCATE_static_type___MMLocalProperty___signature__eq};
+  struct trace_t trace = {NULL, NULL, 57, LOCATE_static_type___MMLocalProperty___signature__eq};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_static_type;
   ATTR_static_type___MMLocalProperty____signature( self) /*MMLocalProperty::_signature*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t static_type___MMLocalProperty___signature_for(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_static_type, 62, LOCATE_static_type___MMLocalProperty___signature_for};
+  struct trace_t trace = {NULL, NULL, 62, LOCATE_static_type___MMLocalProperty___signature_for};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_static_type;
   variable0 =  param0;
   variable1 = ((abstractmetamodel___MMLocalProperty___local_class_t)CALL( self,COLOR_abstractmetamodel___MMLocalProperty___local_class))( self) /*MMLocalProperty::local_class*/;
   variable1 = ((static_type___MMLocalClass___get_type_t)CALL(variable1,COLOR_static_type___MMLocalClass___get_type))(variable1) /*MMLocalClass::get_type*/;
@@ -111,21 +118,24 @@ val_t static_type___MMLocalProperty___signature_for(val_t  self, val_t  param0)
   return variable1;
 }
 val_t static_type___MMSignature___recv(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_static_type, 76, LOCATE_static_type___MMSignature___recv};
+  struct trace_t trace = {NULL, NULL, 76, LOCATE_static_type___MMSignature___recv};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_static_type;
   tracehead = trace.prev;
   return ATTR_static_type___MMSignature____recv( self) /*MMSignature::_recv*/;
 }
 val_t static_type___MMSignature___return_type(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_static_type, 82, LOCATE_static_type___MMSignature___return_type};
+  struct trace_t trace = {NULL, NULL, 82, LOCATE_static_type___MMSignature___return_type};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_static_type;
   tracehead = trace.prev;
   return ATTR_static_type___MMSignature____return_type( self) /*MMSignature::_return_type*/;
 }
 val_t static_type___MMSignature___arity(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_static_type, 85, LOCATE_static_type___MMSignature___arity};
+  struct trace_t trace = {NULL, NULL, 85, LOCATE_static_type___MMSignature___arity};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_static_type;
   variable0 = ATTR_static_type___MMSignature____params( self) /*MMSignature::_params*/;
   variable0 = TAG_Bool(!UNTAG_Bool(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::==*/)))))));
   if (!UNTAG_Bool(variable0)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_static_type___MMSignature___arity, LOCATE_static_type, 88); nit_exit(1);}
@@ -137,13 +147,14 @@ val_t static_type___MMSignature___arity(val_t  self) {
   return variable0;
 }
 val_t static_type___MMSignature_____l(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_static_type, 92, LOCATE_static_type___MMSignature_____l};
+  struct trace_t trace = {NULL, NULL, 92, LOCATE_static_type___MMSignature_____l};
   val_t variable0;
   val_t variable1;
   val_t variable2;
     val_t variable3;
     val_t variable4;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_static_type;
   variable0 =  param0;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*s*/ ==  NIT_NULL /*null*/) || (( variable0 /*s*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*s*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*s*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*s*/,COLOR_kernel___Object_____eqeq))( variable0 /*s*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (!UNTAG_Bool(variable1)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_static_type___MMSignature_____l, LOCATE_static_type, 95); nit_exit(1);}
@@ -214,13 +225,14 @@ val_t static_type___MMSignature_____l(val_t  self, val_t  param0) {
   return variable1;
 }
 val_t static_type___MMSignature_____bra(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_static_type, 113, LOCATE_static_type___MMSignature_____bra};
+  struct trace_t trace = {NULL, NULL, 113, LOCATE_static_type___MMSignature_____bra};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   val_t variable3;
   val_t variable4;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_static_type;
   variable0 =  param0;
   variable1 = ATTR_static_type___MMSignature____params( self) /*MMSignature::_params*/;
   variable1 = ((array___AbstractArray___length_t)CALL(variable1,COLOR_abstract_collection___Collection___length))(variable1) /*AbstractArray::length*/;
@@ -249,7 +261,7 @@ val_t static_type___MMSignature_____bra(val_t  self, val_t  param0) {
   return variable1;
 }
 val_t static_type___MMSignature___to_s(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_static_type, 120, LOCATE_static_type___MMSignature___to_s};
+  struct trace_t trace = {NULL, NULL, 120, LOCATE_static_type___MMSignature___to_s};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -261,6 +273,7 @@ val_t static_type___MMSignature___to_s(val_t  self) {
       val_t variable8;
       val_t variable9;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_static_type;
   variable0 = NIT_NULL /*decl variable s*/;
   variable1 = ATTR_static_type___MMSignature____params( self) /*MMSignature::_params*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 ==  NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -350,7 +363,7 @@ val_t static_type___MMSignature___to_s(val_t  self) {
   return variable0;
 }
 val_t static_type___MMSignature___adaptation_to(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_static_type, 142, LOCATE_static_type___MMSignature___adaptation_to};
+  struct trace_t trace = {NULL, NULL, 142, LOCATE_static_type___MMSignature___adaptation_to};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -358,6 +371,7 @@ val_t static_type___MMSignature___adaptation_to(val_t  self, val_t  param0) {
       val_t variable4;
       val_t variable5;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_static_type;
   variable0 =  param0;
   variable1 = ATTR_static_type___MMSignature____recv( self) /*MMSignature::_recv*/;
   variable1 = TAG_Bool((variable1 ==  variable0 /*r*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, variable0 /*r*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1,  variable0 /*r*/) /*Object::==*/)))));
@@ -403,12 +417,13 @@ val_t static_type___MMSignature___adaptation_to(val_t  self, val_t  param0) {
   return variable1;
 }
 void static_type___MMSignature___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_static_type, 163, LOCATE_static_type___MMSignature___init};
+  struct trace_t trace = {NULL, NULL, 163, LOCATE_static_type___MMSignature___init};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   val_t variable3;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_static_type;
   variable0 =  param0;
   variable1 =  param1;
   variable2 =  param2;
@@ -423,36 +438,41 @@ void static_type___MMSignature___init(val_t  self, val_t  param0, val_t  param1,
   return;
 }
 val_t static_type___MMAncestor___stype(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_static_type, 174, LOCATE_static_type___MMAncestor___stype};
+  struct trace_t trace = {NULL, NULL, 174, LOCATE_static_type___MMAncestor___stype};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_static_type;
   tracehead = trace.prev;
   return ATTR_static_type___MMAncestor____stype( self) /*MMAncestor::_stype*/;
 }
 void static_type___MMAncestor___stype__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_static_type, 174, LOCATE_static_type___MMAncestor___stype__eq};
+  struct trace_t trace = {NULL, NULL, 174, LOCATE_static_type___MMAncestor___stype__eq};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_static_type;
   ATTR_static_type___MMAncestor____stype( self) /*MMAncestor::_stype*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t static_type___MMAncestor___inheriter(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_static_type, 177, LOCATE_static_type___MMAncestor___inheriter};
+  struct trace_t trace = {NULL, NULL, 177, LOCATE_static_type___MMAncestor___inheriter};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_static_type;
   tracehead = trace.prev;
   return ATTR_static_type___MMAncestor____inheriter( self) /*MMAncestor::_inheriter*/;
 }
 void static_type___MMAncestor___inheriter__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_static_type, 177, LOCATE_static_type___MMAncestor___inheriter__eq};
+  struct trace_t trace = {NULL, NULL, 177, LOCATE_static_type___MMAncestor___inheriter__eq};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_static_type;
   ATTR_static_type___MMAncestor____inheriter( self) /*MMAncestor::_inheriter*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t static_type___MMAncestor___is_reffinement(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_static_type, 180, LOCATE_static_type___MMAncestor___is_reffinement};
+  struct trace_t trace = {NULL, NULL, 180, LOCATE_static_type___MMAncestor___is_reffinement};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_static_type;
   variable0 = ((static_type___MMAncestor___stype_t)CALL( self,COLOR_static_type___MMAncestor___stype))( self) /*MMAncestor::stype*/;
   variable0 = ((static_type___MMType___module_t)CALL(variable0,COLOR_static_type___MMType___module))(variable0) /*MMType::module*/;
   variable1 = ((static_type___MMAncestor___stype_t)CALL( self,COLOR_static_type___MMAncestor___stype))( self) /*MMAncestor::stype*/;
@@ -464,10 +484,11 @@ val_t static_type___MMAncestor___is_reffinement(val_t  self) {
   return variable0;
 }
 val_t static_type___MMAncestor___is_specialisation(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_static_type, 184, LOCATE_static_type___MMAncestor___is_specialisation};
+  struct trace_t trace = {NULL, NULL, 184, LOCATE_static_type___MMAncestor___is_specialisation};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_static_type;
   variable0 = ((static_type___MMAncestor___stype_t)CALL( self,COLOR_static_type___MMAncestor___stype))( self) /*MMAncestor::stype*/;
   variable0 = ((static_type___MMType___local_class_t)CALL(variable0,COLOR_static_type___MMType___local_class))(variable0) /*MMType::local_class*/;
   variable0 = ((abstractmetamodel___MMLocalClass___global_t)CALL(variable0,COLOR_abstractmetamodel___MMLocalClass___global))(variable0) /*MMLocalClass::global*/;
@@ -481,8 +502,9 @@ val_t static_type___MMAncestor___is_specialisation(val_t  self) {
   return variable0;
 }
 val_t static_type___MMAncestor___local_class(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_static_type, 188, LOCATE_static_type___MMAncestor___local_class};
+  struct trace_t trace = {NULL, NULL, 188, LOCATE_static_type___MMAncestor___local_class};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_static_type;
   fprintf(stderr, "Deferred method %s called");
   fprintf(stderr, " in %s (%s:%d)\n", LOCATE_static_type___MMAncestor___is_specialisation, LOCATE_static_type, 188);
   nit_exit(1);
@@ -490,9 +512,10 @@ val_t static_type___MMAncestor___local_class(val_t  self) {
   return NIT_NULL;
 }
 val_t static_type___MMAncestor___to_s(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_static_type, 191, LOCATE_static_type___MMAncestor___to_s};
+  struct trace_t trace = {NULL, NULL, 191, LOCATE_static_type___MMAncestor___to_s};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_static_type;
   variable0 = ((static_type___MMAncestor___stype_t)CALL( self,COLOR_static_type___MMAncestor___stype))( self) /*MMAncestor::stype*/;
   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::==*/)))));
   if (UNTAG_Bool(variable0)) { /*if*/
@@ -509,8 +532,9 @@ val_t static_type___MMAncestor___to_s(val_t  self) {
   return variable0;
 }
 val_t static_type___MMType___module(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_static_type, 204, LOCATE_static_type___MMType___module};
+  struct trace_t trace = {NULL, NULL, 204, LOCATE_static_type___MMType___module};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_static_type;
   fprintf(stderr, "Deferred method %s called");
   fprintf(stderr, " in %s (%s:%d)\n", LOCATE_static_type___MMAncestor___to_s, LOCATE_static_type, 204);
   nit_exit(1);
@@ -518,8 +542,9 @@ val_t static_type___MMType___module(val_t  self) {
   return NIT_NULL;
 }
 val_t static_type___MMType___local_class(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_static_type, 207, LOCATE_static_type___MMType___local_class};
+  struct trace_t trace = {NULL, NULL, 207, LOCATE_static_type___MMType___local_class};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_static_type;
   fprintf(stderr, "Deferred method %s called");
   fprintf(stderr, " in %s (%s:%d)\n", LOCATE_static_type___MMAncestor___to_s, LOCATE_static_type, 207);
   nit_exit(1);
@@ -527,8 +552,9 @@ val_t static_type___MMType___local_class(val_t  self) {
   return NIT_NULL;
 }
 val_t static_type___MMType_____l(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_static_type, 210, LOCATE_static_type___MMType_____l};
+  struct trace_t trace = {NULL, NULL, 210, LOCATE_static_type___MMType_____l};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_static_type;
   fprintf(stderr, "Deferred method %s called");
   fprintf(stderr, " in %s (%s:%d)\n", LOCATE_static_type___MMAncestor___to_s, LOCATE_static_type, 210);
   nit_exit(1);
@@ -536,8 +562,9 @@ val_t static_type___MMType_____l(val_t  self, val_t  param0) {
   return NIT_NULL;
 }
 val_t static_type___MMType___is_supertype(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_static_type, 213, LOCATE_static_type___MMType___is_supertype};
+  struct trace_t trace = {NULL, NULL, 213, LOCATE_static_type___MMType___is_supertype};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_static_type;
   fprintf(stderr, "Deferred method %s called");
   fprintf(stderr, " in %s (%s:%d)\n", LOCATE_static_type___MMAncestor___to_s, LOCATE_static_type, 213);
   nit_exit(1);
@@ -545,8 +572,9 @@ val_t static_type___MMType___is_supertype(val_t  self, val_t  param0) {
   return NIT_NULL;
 }
 val_t static_type___MMType___for_module(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_static_type, 218, LOCATE_static_type___MMType___for_module};
+  struct trace_t trace = {NULL, NULL, 218, LOCATE_static_type___MMType___for_module};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_static_type;
   fprintf(stderr, "Deferred method %s called");
   fprintf(stderr, " in %s (%s:%d)\n", LOCATE_static_type___MMAncestor___to_s, LOCATE_static_type, 218);
   nit_exit(1);
@@ -554,8 +582,9 @@ val_t static_type___MMType___for_module(val_t  self, val_t  param0) {
   return NIT_NULL;
 }
 val_t static_type___MMType___adapt_to(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_static_type, 221, LOCATE_static_type___MMType___adapt_to};
+  struct trace_t trace = {NULL, NULL, 221, LOCATE_static_type___MMType___adapt_to};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_static_type;
   fprintf(stderr, "Deferred method %s called");
   fprintf(stderr, " in %s (%s:%d)\n", LOCATE_static_type___MMAncestor___to_s, LOCATE_static_type, 221);
   nit_exit(1);
@@ -563,8 +592,9 @@ val_t static_type___MMType___adapt_to(val_t  self, val_t  param0) {
   return NIT_NULL;
 }
 val_t static_type___MMType___upcast_for(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_static_type, 225, LOCATE_static_type___MMType___upcast_for};
+  struct trace_t trace = {NULL, NULL, 225, LOCATE_static_type___MMType___upcast_for};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_static_type;
   fprintf(stderr, "Deferred method %s called");
   fprintf(stderr, " in %s (%s:%d)\n", LOCATE_static_type___MMAncestor___to_s, LOCATE_static_type, 225);
   nit_exit(1);
@@ -572,9 +602,10 @@ val_t static_type___MMType___upcast_for(val_t  self, val_t  param0) {
   return NIT_NULL;
 }
 val_t static_type___MMType___not_for_self(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_static_type, 229, LOCATE_static_type___MMType___not_for_self};
+  struct trace_t trace = {NULL, NULL, 229, LOCATE_static_type___MMType___not_for_self};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_static_type;
   variable0 =  self;
   goto return_label18;
   return_label18: while(false);
@@ -582,15 +613,17 @@ val_t static_type___MMType___not_for_self(val_t  self) {
   return variable0;
 }
 val_t static_type___MMTypeClass___local_class(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_static_type, 236, LOCATE_static_type___MMTypeClass___local_class};
+  struct trace_t trace = {NULL, NULL, 236, LOCATE_static_type___MMTypeClass___local_class};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_static_type;
   tracehead = trace.prev;
   return ATTR_static_type___MMTypeClass____local_class( self) /*MMTypeClass::_local_class*/;
 }
 val_t static_type___MMTypeClass___module(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_static_type, 237, LOCATE_static_type___MMTypeClass___module};
+  struct trace_t trace = {NULL, NULL, 237, LOCATE_static_type___MMTypeClass___module};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_static_type;
   variable0 = ATTR_static_type___MMTypeClass____local_class( self) /*MMTypeClass::_local_class*/;
   variable0 = ((abstractmetamodel___MMLocalClass___module_t)CALL(variable0,COLOR_abstractmetamodel___MMLocalClass___module))(variable0) /*MMLocalClass::module*/;
   goto return_label19;
@@ -599,11 +632,12 @@ val_t static_type___MMTypeClass___module(val_t  self) {
   return variable0;
 }
 val_t static_type___MMTypeClass_____l(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_static_type, 238, LOCATE_static_type___MMTypeClass_____l};
+  struct trace_t trace = {NULL, NULL, 238, LOCATE_static_type___MMTypeClass_____l};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_static_type;
   variable0 =  param0;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*t*/ ==  NIT_NULL /*null*/) || (( variable0 /*t*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*t*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*t*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*t*/,COLOR_kernel___Object_____eqeq))( variable0 /*t*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   variable2 = variable1;
@@ -617,9 +651,10 @@ val_t static_type___MMTypeClass_____l(val_t  self, val_t  param0) {
   return variable1;
 }
 val_t static_type___MMTypeClass___to_s(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_static_type, 240, LOCATE_static_type___MMTypeClass___to_s};
+  struct trace_t trace = {NULL, NULL, 240, LOCATE_static_type___MMTypeClass___to_s};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_static_type;
   variable0 = ATTR_static_type___MMTypeClass____local_class( self) /*MMTypeClass::_local_class*/;
   variable0 = ((abstractmetamodel___MMLocalClass___to_s_t)CALL(variable0,COLOR_string___Object___to_s))(variable0) /*MMLocalClass::to_s*/;
   goto return_label21;
@@ -628,11 +663,12 @@ val_t static_type___MMTypeClass___to_s(val_t  self) {
   return variable0;
 }
 val_t static_type___MMTypeClass___upcast_for(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_static_type, 245, LOCATE_static_type___MMTypeClass___upcast_for};
+  struct trace_t trace = {NULL, NULL, 245, LOCATE_static_type___MMTypeClass___upcast_for};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_static_type;
   variable0 =  param0;
   variable1 = ATTR_static_type___MMTypeClass____local_class( self) /*MMTypeClass::_local_class*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 ==  NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -656,9 +692,10 @@ val_t static_type___MMTypeClass___upcast_for(val_t  self, val_t  param0) {
   return variable1;
 }
 void static_type___MMTypeClass___init(val_t  self, val_t  param0, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_static_type, 258, LOCATE_static_type___MMTypeClass___init};
+  struct trace_t trace = {NULL, NULL, 258, LOCATE_static_type___MMTypeClass___init};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_static_type;
   variable0 =  param0;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_MMTypeClass].i]) return;
   ATTR_static_type___MMTypeClass____local_class( self) /*MMTypeClass::_local_class*/ =  variable0 /*c*/;
@@ -667,11 +704,12 @@ void static_type___MMTypeClass___init(val_t  self, val_t  param0, int* init_tabl
   return;
 }
 val_t static_type___MMTypeSimpleClass___is_supertype(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_static_type, 266, LOCATE_static_type___MMTypeSimpleClass___is_supertype};
+  struct trace_t trace = {NULL, NULL, 266, LOCATE_static_type___MMTypeSimpleClass___is_supertype};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_static_type;
   variable0 =  param0;
   variable1 = ((static_type___MMType___local_class_t)CALL( variable0 /*t*/,COLOR_static_type___MMType___local_class))( variable0 /*t*/) /*MMType::local_class*/;
   variable1 = ((abstractmetamodel___MMLocalClass___cshe_t)CALL(variable1,COLOR_abstractmetamodel___MMLocalClass___cshe))(variable1) /*MMLocalClass::cshe*/;
@@ -683,11 +721,12 @@ val_t static_type___MMTypeSimpleClass___is_supertype(val_t  self, val_t  param0)
   return variable1;
 }
 val_t static_type___MMTypeSimpleClass___for_module(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_static_type, 271, LOCATE_static_type___MMTypeSimpleClass___for_module};
+  struct trace_t trace = {NULL, NULL, 271, LOCATE_static_type___MMTypeSimpleClass___for_module};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_static_type;
   variable0 =  param0;
   variable1 =  self;
   variable2 = ((static_type___MMTypeClass___module_t)CALL( self,COLOR_static_type___MMType___module))( self) /*MMTypeClass::module*/;
@@ -707,10 +746,11 @@ val_t static_type___MMTypeSimpleClass___for_module(val_t  self, val_t  param0) {
   return variable1;
 }
 val_t static_type___MMTypeSimpleClass___adapt_to(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_static_type, 281, LOCATE_static_type___MMTypeSimpleClass___adapt_to};
+  struct trace_t trace = {NULL, NULL, 281, LOCATE_static_type___MMTypeSimpleClass___adapt_to};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_static_type;
   variable0 =  param0;
   variable1 =  self;
   goto return_label26;
@@ -719,9 +759,10 @@ val_t static_type___MMTypeSimpleClass___adapt_to(val_t  self, val_t  param0) {
   return variable1;
 }
 void static_type___MMTypeSimpleClass___init(val_t  self, val_t  param0, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_static_type, 283, LOCATE_static_type___MMTypeSimpleClass___init};
+  struct trace_t trace = {NULL, NULL, 283, LOCATE_static_type___MMTypeSimpleClass___init};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_static_type;
   variable0 =  param0;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_MMTypeSimpleClass].i]) return;
   ((static_type___MMTypeClass___init_t)CALL( self,COLOR_static_type___MMTypeClass___init))( self,  variable0 /*c*/, init_table /*YYY*/) /*MMTypeClass::init*/;
@@ -730,16 +771,18 @@ void static_type___MMTypeSimpleClass___init(val_t  self, val_t  param0, int* ini
   return;
 }
 val_t static_type___MMTypeNone___module(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_static_type, 292, LOCATE_static_type___MMTypeNone___module};
+  struct trace_t trace = {NULL, NULL, 292, LOCATE_static_type___MMTypeNone___module};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_static_type;
   tracehead = trace.prev;
   return ATTR_static_type___MMTypeNone____module( self) /*MMTypeNone::_module*/;
 }
 val_t static_type___MMTypeNone_____l(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_static_type, 293, LOCATE_static_type___MMTypeNone_____l};
+  struct trace_t trace = {NULL, NULL, 293, LOCATE_static_type___MMTypeNone_____l};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_static_type;
   variable0 =  param0;
   variable1 =  TAG_Bool(true);
   goto return_label28;
@@ -748,10 +791,11 @@ val_t static_type___MMTypeNone_____l(val_t  self, val_t  param0) {
   return variable1;
 }
 val_t static_type___MMTypeNone___is_supertype(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_static_type, 294, LOCATE_static_type___MMTypeNone___is_supertype};
+  struct trace_t trace = {NULL, NULL, 294, LOCATE_static_type___MMTypeNone___is_supertype};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_static_type;
   variable0 =  param0;
   variable1 =  TAG_Bool(false);
   goto return_label29;
@@ -760,18 +804,20 @@ val_t static_type___MMTypeNone___is_supertype(val_t  self, val_t  param0) {
   return variable1;
 }
 val_t static_type___MMTypeNone___local_class(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_static_type, 295, LOCATE_static_type___MMTypeNone___local_class};
+  struct trace_t trace = {NULL, NULL, 295, LOCATE_static_type___MMTypeNone___local_class};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_static_type;
   fprintf(stderr, "Aborted"); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_static_type___MMTypeNone___local_class, LOCATE_static_type, 295); nit_exit(1);
   tracehead = trace.prev;
   return variable0;
 }
 val_t static_type___MMTypeNone___upcast_for(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_static_type, 296, LOCATE_static_type___MMTypeNone___upcast_for};
+  struct trace_t trace = {NULL, NULL, 296, LOCATE_static_type___MMTypeNone___upcast_for};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_static_type;
   variable0 =  param0;
   variable1 =  self;
   goto return_label31;
@@ -780,9 +826,10 @@ val_t static_type___MMTypeNone___upcast_for(val_t  self, val_t  param0) {
   return variable1;
 }
 void static_type___MMTypeNone___init(val_t  self, val_t  param0, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_static_type, 298, LOCATE_static_type___MMTypeNone___init};
+  struct trace_t trace = {NULL, NULL, 298, LOCATE_static_type___MMTypeNone___init};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_static_type;
   variable0 =  param0;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_MMTypeNone].i]) return;
   ATTR_static_type___MMTypeNone____module( self) /*MMTypeNone::_module*/ =  variable0 /*m*/;
@@ -791,8 +838,9 @@ void static_type___MMTypeNone___init(val_t  self, val_t  param0, int* init_table
   return;
 }
 val_t static_type___MMModule___type_none(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_static_type, 302, LOCATE_static_type___MMModule___type_none};
+  struct trace_t trace = {NULL, NULL, 302, LOCATE_static_type___MMModule___type_none};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_static_type;
   tracehead = trace.prev;
   return ATTR_static_type___MMModule____type_none( self) /*MMModule::_type_none*/;
 }
index cb09d02..11f0a6f 100644 (file)
@@ -1,6 +1,6 @@
 /* This C header file is generated by NIT to compile modules and programs that requires static_type. */
-#ifndef static_type_2_sep
-#define static_type_2_sep
+#ifndef static_type_sep
+#define static_type_sep
 #include "abstractmetamodel._sep.h"
 #include <nit_common.h>
 
@@ -15,7 +15,7 @@ extern const classtable_elt_t VFT_MMTypeClass[];
 extern const classtable_elt_t VFT_MMTypeSimpleClass[];
 
 extern const classtable_elt_t VFT_MMTypeNone[];
-#define LOCATE_static_type "./metamodel//static_type.nit"
+extern const char *LOCATE_static_type;
 extern const int SFT_static_type[];
 #define COLOR_static_type___MMLocalClass____base_type_cache SFT_static_type[0]
 #define COLOR_static_type___MMLocalClass____ancestors SFT_static_type[1]
index 9684b28..0a6ff54 100644 (file)
@@ -1,8 +1,9 @@
 /* This C file is generated by NIT to compile module stream. */
 #include "stream._sep.h"
 void stream___IOS___close(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_stream, 20, LOCATE_stream___IOS___close};
+  struct trace_t trace = {NULL, NULL, 20, LOCATE_stream___IOS___close};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_stream;
   fprintf(stderr, "Deferred method %s called");
   fprintf(stderr, " (%s:%d)\n", LOCATE_stream, 20);
   nit_exit(1);
@@ -10,8 +11,9 @@ void stream___IOS___close(val_t  self) {
   return;
 }
 val_t stream___IStream___read_char(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_stream, 27, LOCATE_stream___IStream___read_char};
+  struct trace_t trace = {NULL, NULL, 27, LOCATE_stream___IStream___read_char};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_stream;
   fprintf(stderr, "Deferred method %s called");
   fprintf(stderr, " (%s:%d)\n", LOCATE_stream, 27);
   nit_exit(1);
@@ -19,12 +21,13 @@ val_t stream___IStream___read_char(val_t  self) {
   return NIT_NULL;
 }
 val_t stream___IStream___read(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_stream, 30, LOCATE_stream___IStream___read};
+  struct trace_t trace = {NULL, NULL, 30, LOCATE_stream___IStream___read};
   val_t variable0;
   val_t variable1;
   val_t variable2;
     val_t variable3;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_stream;
   variable0 =  param0;
   variable2 = NEW_string___String___with_capacity( variable0 /*i*/); /*new String*/
   variable1 = variable2;
@@ -55,10 +58,11 @@ val_t stream___IStream___read(val_t  self, val_t  param0) {
   return variable1;
 }
 val_t stream___IStream___read_line(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_stream, 44, LOCATE_stream___IStream___read_line};
+  struct trace_t trace = {NULL, NULL, 44, LOCATE_stream___IStream___read_line};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_stream;
   variable0 = ((stream___IStream___eof_t)CALL( self,COLOR_stream___IStream___eof))( self) /*IStream::eof*/;
   if (!UNTAG_Bool( TAG_Bool(!UNTAG_Bool(variable0)))) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_stream___IStream___read_line, LOCATE_stream, 47); nit_exit(1);}
   variable1 = NEW_string___String___init(); /*new String*/
@@ -71,11 +75,12 @@ val_t stream___IStream___read_line(val_t  self) {
   return variable0;
 }
 val_t stream___IStream___read_all(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_stream, 53, LOCATE_stream___IStream___read_all};
+  struct trace_t trace = {NULL, NULL, 53, LOCATE_stream___IStream___read_all};
   val_t variable0;
   val_t variable1;
     val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_stream;
   variable1 = NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
   variable0 = variable1;
   while (true) { /*while*/
@@ -98,12 +103,13 @@ val_t stream___IStream___read_all(val_t  self) {
   return variable0;
 }
 void stream___IStream___append_line_to(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_stream, 64, LOCATE_stream___IStream___append_line_to};
+  struct trace_t trace = {NULL, NULL, 64, LOCATE_stream___IStream___append_line_to};
   val_t variable0;
     val_t variable1;
     val_t variable2;
       val_t variable3;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_stream;
   variable0 =  param0;
   while (true) { /*while*/
     if (!UNTAG_Bool( TAG_Bool(true))) break; /* while*/
@@ -133,8 +139,9 @@ void stream___IStream___append_line_to(val_t  self, val_t  param0) {
   return;
 }
 val_t stream___IStream___eof(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_stream, 79, LOCATE_stream___IStream___eof};
+  struct trace_t trace = {NULL, NULL, 79, LOCATE_stream___IStream___eof};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_stream;
   fprintf(stderr, "Deferred method %s called");
   fprintf(stderr, " in %s (%s:%d)\n", LOCATE_stream___IStream___append_line_to, LOCATE_stream, 79);
   nit_exit(1);
@@ -142,8 +149,9 @@ val_t stream___IStream___eof(val_t  self) {
   return NIT_NULL;
 }
 void stream___OStream___write(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_stream, 86, LOCATE_stream___OStream___write};
+  struct trace_t trace = {NULL, NULL, 86, LOCATE_stream___OStream___write};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_stream;
   fprintf(stderr, "Deferred method %s called");
   fprintf(stderr, " in %s (%s:%d)\n", LOCATE_stream___IStream___append_line_to, LOCATE_stream, 86);
   nit_exit(1);
@@ -151,8 +159,9 @@ void stream___OStream___write(val_t  self, val_t  param0) {
   return;
 }
 val_t stream___OStream___is_writable(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_stream, 89, LOCATE_stream___OStream___is_writable};
+  struct trace_t trace = {NULL, NULL, 89, LOCATE_stream___OStream___is_writable};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_stream;
   fprintf(stderr, "Deferred method %s called");
   fprintf(stderr, " in %s (%s:%d)\n", LOCATE_stream___IStream___append_line_to, LOCATE_stream, 89);
   nit_exit(1);
@@ -160,11 +169,12 @@ val_t stream___OStream___is_writable(val_t  self) {
   return NIT_NULL;
 }
 val_t stream___BufferedIStream___read_char(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_stream, 96, LOCATE_stream___BufferedIStream___read_char};
+  struct trace_t trace = {NULL, NULL, 96, LOCATE_stream___BufferedIStream___read_char};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_stream;
   variable0 = ((stream___BufferedIStream___eof_t)CALL( self,COLOR_stream___IStream___eof))( self) /*BufferedIStream::eof*/;
   if (!UNTAG_Bool( TAG_Bool(!UNTAG_Bool(variable0)))) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_stream___BufferedIStream___read_char, LOCATE_stream, 98); nit_exit(1);}
   variable0 = ATTR_stream___BufferedIStream____buffer_pos( self) /*BufferedIStream::_buffer_pos*/;
@@ -195,7 +205,7 @@ val_t stream___BufferedIStream___read_char(val_t  self) {
   return variable0;
 }
 val_t stream___BufferedIStream___read(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_stream, 110, LOCATE_stream___BufferedIStream___read};
+  struct trace_t trace = {NULL, NULL, 110, LOCATE_stream___BufferedIStream___read};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -203,6 +213,7 @@ val_t stream___BufferedIStream___read(val_t  self, val_t  param0) {
   val_t variable4;
       val_t variable5;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_stream;
   variable0 =  param0;
   variable2 = NEW_string___String___with_capacity( variable0 /*i*/); /*new String*/
   variable1 = variable2;
@@ -255,12 +266,13 @@ val_t stream___BufferedIStream___read(val_t  self, val_t  param0) {
   return variable1;
 }
 val_t stream___BufferedIStream___read_all(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_stream, 132, LOCATE_stream___BufferedIStream___read_all};
+  struct trace_t trace = {NULL, NULL, 132, LOCATE_stream___BufferedIStream___read_all};
   val_t variable0;
   val_t variable1;
     val_t variable2;
     val_t variable3;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_stream;
   variable1 = NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
   variable0 = variable1;
   while (true) { /*while*/
@@ -293,12 +305,13 @@ val_t stream___BufferedIStream___read_all(val_t  self) {
   return variable0;
 }
 void stream___BufferedIStream___append_line_to(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_stream, 148, LOCATE_stream___BufferedIStream___append_line_to};
+  struct trace_t trace = {NULL, NULL, 148, LOCATE_stream___BufferedIStream___append_line_to};
   val_t variable0;
     val_t variable1;
     val_t variable2;
       val_t variable3;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_stream;
   variable0 =  param0;
   while (true) { /*while*/
     if (!UNTAG_Bool( TAG_Bool(true))) break; /* while*/
@@ -365,10 +378,11 @@ void stream___BufferedIStream___append_line_to(val_t  self, val_t  param0) {
   return;
 }
 val_t stream___BufferedIStream___eof(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_stream, 184, LOCATE_stream___BufferedIStream___eof};
+  struct trace_t trace = {NULL, NULL, 184, LOCATE_stream___BufferedIStream___eof};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_stream;
   variable0 = ATTR_stream___BufferedIStream____buffer_pos( self) /*BufferedIStream::_buffer_pos*/;
   variable1 = ATTR_stream___BufferedIStream____buffer( self) /*BufferedIStream::_buffer*/;
   variable1 = ((array___AbstractArray___length_t)CALL(variable1,COLOR_abstract_collection___Collection___length))(variable1) /*AbstractArray::length*/;
@@ -384,8 +398,9 @@ val_t stream___BufferedIStream___eof(val_t  self) {
   return variable0;
 }
 void stream___BufferedIStream___fill_buffer(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_stream, 192, LOCATE_stream___BufferedIStream___fill_buffer};
+  struct trace_t trace = {NULL, NULL, 192, LOCATE_stream___BufferedIStream___fill_buffer};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_stream;
   fprintf(stderr, "Deferred method %s called");
   fprintf(stderr, " in %s (%s:%d)\n", LOCATE_stream___BufferedIStream___eof, LOCATE_stream, 192);
   nit_exit(1);
@@ -393,8 +408,9 @@ void stream___BufferedIStream___fill_buffer(val_t  self) {
   return;
 }
 val_t stream___BufferedIStream___end_reached(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_stream, 195, LOCATE_stream___BufferedIStream___end_reached};
+  struct trace_t trace = {NULL, NULL, 195, LOCATE_stream___BufferedIStream___end_reached};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_stream;
   fprintf(stderr, "Deferred method %s called");
   fprintf(stderr, " in %s (%s:%d)\n", LOCATE_stream___BufferedIStream___eof, LOCATE_stream, 195);
   nit_exit(1);
@@ -402,10 +418,11 @@ val_t stream___BufferedIStream___end_reached(val_t  self) {
   return NIT_NULL;
 }
 void stream___BufferedIStream___prepare_buffer(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_stream, 198, LOCATE_stream___BufferedIStream___prepare_buffer};
+  struct trace_t trace = {NULL, NULL, 198, LOCATE_stream___BufferedIStream___prepare_buffer};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_stream;
   variable0 =  param0;
   variable1 = NEW_string___String___with_capacity( variable0 /*capacity*/); /*new String*/
   ATTR_stream___BufferedIStream____buffer( self) /*BufferedIStream::_buffer*/ = variable1;
@@ -414,42 +431,48 @@ void stream___BufferedIStream___prepare_buffer(val_t  self, val_t  param0) {
   return;
 }
 void stream___FDStream___close(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_stream, 218, LOCATE_stream___FDStream___close};
+  struct trace_t trace = {NULL, NULL, 218, LOCATE_stream___FDStream___close};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_stream;
   variable0 = ATTR_stream___FDStream____fd( self) /*FDStream::_fd*/;
   ((stream___FDStream___native_close_t)CALL( self,COLOR_stream___FDStream___native_close))( self, variable0) /*FDStream::native_close*/;
   tracehead = trace.prev;
   return;
 }
 val_t stream___FDStream___native_close(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_stream, 220, LOCATE_stream___FDStream___native_close};
+  struct trace_t trace = {NULL, NULL, 220, LOCATE_stream___FDStream___native_close};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_stream;
   tracehead = trace.prev;
   return TAG_Int(stream_FDStream_FDStream_native_close_1( self, UNTAG_Int( param0)));
 }
 val_t stream___FDStream___native_read_char(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_stream, 221, LOCATE_stream___FDStream___native_read_char};
+  struct trace_t trace = {NULL, NULL, 221, LOCATE_stream___FDStream___native_read_char};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_stream;
   tracehead = trace.prev;
   return TAG_Int(stream_FDStream_FDStream_native_read_char_1( self, UNTAG_Int( param0)));
 }
 val_t stream___FDStream___native_read(val_t  self, val_t  param0, val_t  param1, val_t  param2) {
-  struct trace_t trace = {NULL, LOCATE_stream, 222, LOCATE_stream___FDStream___native_read};
+  struct trace_t trace = {NULL, NULL, 222, LOCATE_stream___FDStream___native_read};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_stream;
   tracehead = trace.prev;
   return TAG_Int(stream_FDStream_FDStream_native_read_3( self, UNTAG_Int( param0), UNBOX_NativeString( param1), UNTAG_Int( param2)));
 }
 val_t stream___FDStream___native_write(val_t  self, val_t  param0, val_t  param1, val_t  param2) {
-  struct trace_t trace = {NULL, LOCATE_stream, 223, LOCATE_stream___FDStream___native_write};
+  struct trace_t trace = {NULL, NULL, 223, LOCATE_stream___FDStream___native_write};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_stream;
   tracehead = trace.prev;
   return TAG_Int(stream_FDStream_FDStream_native_write_3( self, UNTAG_Int( param0), UNBOX_NativeString( param1), UNTAG_Int( param2)));
 }
 void stream___FDStream___init(val_t  self, val_t  param0, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_stream, 225, LOCATE_stream___FDStream___init};
+  struct trace_t trace = {NULL, NULL, 225, LOCATE_stream___FDStream___init};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_stream;
   variable0 =  param0;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_FDStream].i]) return;
   ATTR_stream___FDStream____fd( self) /*FDStream::_fd*/ =  variable0 /*fd*/;
@@ -458,16 +481,18 @@ void stream___FDStream___init(val_t  self, val_t  param0, int* init_table) {
   return;
 }
 val_t stream___FDIStream___eof(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_stream, 231, LOCATE_stream___FDIStream___eof};
+  struct trace_t trace = {NULL, NULL, 231, LOCATE_stream___FDIStream___eof};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_stream;
   tracehead = trace.prev;
   return ATTR_stream___FDIStream____eof( self) /*FDIStream::_eof*/;
 }
 val_t stream___FDIStream___read_char(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_stream, 233, LOCATE_stream___FDIStream___read_char};
+  struct trace_t trace = {NULL, NULL, 233, LOCATE_stream___FDIStream___read_char};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_stream;
   variable1 = ATTR_stream___FDStream____fd( self) /*FDStream::_fd*/;
   variable1 = ((stream___FDStream___native_read_char_t)CALL( self,COLOR_stream___FDStream___native_read_char))( self, variable1) /*FDStream::native_read_char*/;
   variable0 = variable1;
@@ -483,9 +508,10 @@ val_t stream___FDIStream___read_char(val_t  self) {
   return variable0;
 }
 void stream___FDIStream___init(val_t  self, val_t  param0, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_stream, 240, LOCATE_stream___FDIStream___init};
+  struct trace_t trace = {NULL, NULL, 240, LOCATE_stream___FDIStream___init};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_stream;
   variable0 =  param0;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_FDIStream].i]) return;
   ((stream___FDStream___init_t)CALL( self,COLOR_stream___FDStream___init))( self,  param0, init_table /*YYY*/) /*FDStream::init*/;
@@ -494,19 +520,21 @@ void stream___FDIStream___init(val_t  self, val_t  param0, int* init_table) {
   return;
 }
 val_t stream___FDOStream___is_writable(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_stream, 246, LOCATE_stream___FDOStream___is_writable};
+  struct trace_t trace = {NULL, NULL, 246, LOCATE_stream___FDOStream___is_writable};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_stream;
   tracehead = trace.prev;
   return ATTR_stream___FDOStream____is_writable( self) /*FDOStream::_is_writable*/;
 }
 void stream___FDOStream___write(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_stream, 248, LOCATE_stream___FDOStream___write};
+  struct trace_t trace = {NULL, NULL, 248, LOCATE_stream___FDOStream___write};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   val_t variable3;
   val_t variable4;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_stream;
   variable0 =  param0;
   variable2 = ATTR_stream___FDStream____fd( self) /*FDStream::_fd*/;
   variable3 = ((string___String___to_cstring_t)CALL( variable0 /*s*/,COLOR_string___String___to_cstring))( variable0 /*s*/) /*String::to_cstring*/;
@@ -522,9 +550,10 @@ void stream___FDOStream___write(val_t  self, val_t  param0) {
   return;
 }
 void stream___FDOStream___init(val_t  self, val_t  param0, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_stream, 254, LOCATE_stream___FDOStream___init};
+  struct trace_t trace = {NULL, NULL, 254, LOCATE_stream___FDOStream___init};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_stream;
   variable0 =  param0;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_FDOStream].i]) return;
   ((stream___FDStream___init_t)CALL( self,COLOR_stream___FDStream___init))( self,  param0, init_table /*YYY*/) /*FDStream::init*/;
@@ -534,9 +563,10 @@ void stream___FDOStream___init(val_t  self, val_t  param0, int* init_table) {
   return;
 }
 void stream___FDIOStream___init(val_t  self, val_t  param0, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_stream, 265, LOCATE_stream___FDIOStream___init};
+  struct trace_t trace = {NULL, NULL, 265, LOCATE_stream___FDIOStream___init};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_stream;
   variable0 =  param0;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_FDIOStream].i]) return;
   ((stream___FDIStream___init_t)CALL( self,COLOR_stream___FDIStream___init))( self,  param0, init_table /*YYY*/) /*FDIStream::init*/;
index bb916e4..752ea4d 100644 (file)
@@ -1,6 +1,6 @@
 /* This C header file is generated by NIT to compile modules and programs that requires stream. */
-#ifndef stream_2_sep
-#define stream_2_sep
+#ifndef stream_sep
+#define stream_sep
 #include "string._sep.h"
 #include <nit_common.h>
 #include <stream_nit.h>
@@ -22,7 +22,7 @@ extern const classtable_elt_t VFT_FDIStream[];
 extern const classtable_elt_t VFT_FDOStream[];
 
 extern const classtable_elt_t VFT_FDIOStream[];
-#define LOCATE_stream "./../lib/standard//stream.nit"
+extern const char *LOCATE_stream;
 extern const int SFT_stream[];
 #define ID_IOS SFT_stream[0]
 #define COLOR_IOS SFT_stream[1]
index 54026c7..207dccd 100644 (file)
@@ -1,10 +1,11 @@
 /* This C file is generated by NIT to compile module string. */
 #include "string._sep.h"
 val_t string___String_____bra(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_string, 31, LOCATE_string___String_____bra};
+  struct trace_t trace = {NULL, NULL, 31, LOCATE_string___String_____bra};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_string;
   variable0 =  param0;
   variable1 = ATTR_string___String____items( self) /*String::_items*/;
   variable1 = TAG_Char(UNBOX_NativeString(variable1)[UNTAG_Int( variable0 /*index*/)]);
@@ -14,12 +15,13 @@ val_t string___String_____bra(val_t  self, val_t  param0) {
   return variable1;
 }
 void string___String_____braeq(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_string, 33, LOCATE_string___String_____braeq};
+  struct trace_t trace = {NULL, NULL, 33, LOCATE_string___String_____braeq};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   val_t variable3;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_string;
   variable0 =  param0;
   variable1 =  param1;
   variable2 = ((array___AbstractArray___length_t)CALL( self,COLOR_abstract_collection___Collection___length))( self) /*AbstractArray::length*/;
@@ -43,11 +45,12 @@ void string___String_____braeq(val_t  self, val_t  param0, val_t  param1) {
   return;
 }
 void string___String___add(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_string, 43, LOCATE_string___String___add};
+  struct trace_t trace = {NULL, NULL, 43, LOCATE_string___String___add};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_string;
   variable0 =  param0;
   variable1 = ATTR_string___String____capacity( self) /*String::_capacity*/;
   variable2 = ((array___AbstractArray___length_t)CALL( self,COLOR_abstract_collection___Collection___length))( self) /*AbstractArray::length*/;
@@ -65,13 +68,14 @@ void string___String___add(val_t  self, val_t  param0) {
   return;
 }
 void string___String___enlarge(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_string, 50, LOCATE_string___String___enlarge};
+  struct trace_t trace = {NULL, NULL, 50, LOCATE_string___String___enlarge};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   val_t variable3;
   val_t variable4;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_string;
   variable0 =  param0;
   variable2 = ATTR_string___String____capacity( self) /*String::_capacity*/;
   variable1 = variable2;
@@ -100,13 +104,14 @@ void string___String___enlarge(val_t  self, val_t  param0) {
   return;
 }
 void string___String___append(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_string, 61, LOCATE_string___String___append};
+  struct trace_t trace = {NULL, NULL, 61, LOCATE_string___String___append};
   val_t variable0;
   val_t variable1;
     val_t variable2;
     val_t variable3;
     val_t variable4;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_string;
   variable0 =  param0;
   variable1 = TAG_Bool(( variable0 /*s*/==NIT_NULL) || VAL_ISA( variable0 /*s*/, COLOR_String, ID_String)) /*cast String*/;
   if (UNTAG_Bool(variable1)) { /*if*/
@@ -133,12 +138,13 @@ void string___String___append(val_t  self, val_t  param0) {
   return;
 }
 val_t string___String_____plus(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_string, 73, LOCATE_string___String_____plus};
+  struct trace_t trace = {NULL, NULL, 73, LOCATE_string___String_____plus};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   val_t variable3;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_string;
   variable0 =  param0;
   variable2 = ((array___AbstractArray___length_t)CALL( self,COLOR_abstract_collection___Collection___length))( self) /*AbstractArray::length*/;
   variable3 = ((array___AbstractArray___length_t)CALL( variable0 /*s*/,COLOR_abstract_collection___Collection___length))( variable0 /*s*/) /*AbstractArray::length*/;
@@ -155,12 +161,13 @@ val_t string___String_____plus(val_t  self, val_t  param0) {
   return variable1;
 }
 val_t string___String_____star(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_string, 82, LOCATE_string___String_____star};
+  struct trace_t trace = {NULL, NULL, 82, LOCATE_string___String_____star};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   val_t variable3;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_string;
   variable0 =  param0;
   variable1 = TAG_Bool(UNTAG_Int( variable0 /*i*/)>=UNTAG_Int( TAG_Int(0)));
   if (!UNTAG_Bool(variable1)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_string___String_____star, LOCATE_string, 85); nit_exit(1);}
@@ -184,9 +191,10 @@ val_t string___String_____star(val_t  self, val_t  param0) {
   return variable1;
 }
 val_t string___String___to_s(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_string, 94, LOCATE_string___String___to_s};
+  struct trace_t trace = {NULL, NULL, 94, LOCATE_string___String___to_s};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_string;
   variable0 = NEW_string___String___from( self); /*new String*/
   goto return_label9;
   return_label9: while(false);
@@ -194,9 +202,10 @@ val_t string___String___to_s(val_t  self) {
   return variable0;
 }
 val_t string___String___to_i(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_string, 97, LOCATE_string___String___to_i};
+  struct trace_t trace = {NULL, NULL, 97, LOCATE_string___String___to_i};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_string;
   variable0 = ((string___String___to_cstring_t)CALL( self,COLOR_string___String___to_cstring))( self) /*String::to_cstring*/;
   variable0 = TAG_Int(atoi(UNBOX_NativeString(variable0)));
   goto return_label10;
@@ -205,9 +214,10 @@ val_t string___String___to_i(val_t  self) {
   return variable0;
 }
 val_t string___String___to_hex(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_string, 104, LOCATE_string___String___to_hex};
+  struct trace_t trace = {NULL, NULL, 104, LOCATE_string___String___to_hex};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_string;
   variable0 = ((string___String___a_to_t)CALL( self,COLOR_string___String___a_to))( self,  TAG_Int(16)) /*String::a_to*/;
   goto return_label11;
   return_label11: while(false);
@@ -215,7 +225,7 @@ val_t string___String___to_hex(val_t  self) {
   return variable0;
 }
 val_t string___String___a_to(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_string, 107, LOCATE_string___String___a_to};
+  struct trace_t trace = {NULL, NULL, 107, LOCATE_string___String___a_to};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -224,6 +234,7 @@ val_t string___String___a_to(val_t  self, val_t  param0) {
     val_t variable5;
     val_t variable6;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_string;
   variable0 =  param0;
   variable1 =  TAG_Int(0);
   variable2 =  TAG_Bool(false);
@@ -271,9 +282,10 @@ val_t string___String___a_to(val_t  self, val_t  param0) {
   return variable1;
 }
 val_t string___String___to_cstring(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_string, 135, LOCATE_string___String___to_cstring};
+  struct trace_t trace = {NULL, NULL, 135, LOCATE_string___String___to_cstring};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_string;
   variable0 = ((array___AbstractArray___length_t)CALL( self,COLOR_abstract_collection___Collection___length))( self) /*AbstractArray::length*/;
   ((string___String_____braeq_t)CALL( self,COLOR_abstract_collection___Map_____braeq))( self, variable0,  TAG_Char('\0')) /*String::[]=*/;
   ATTR_array___AbstractArray____length( self) /*AbstractArray::_length*/ = TAG_Int(UNTAG_Int(ATTR_array___AbstractArray____length( self) /*AbstractArray::_length*/)-UNTAG_Int( TAG_Int(1)));
@@ -284,13 +296,14 @@ val_t string___String___to_cstring(val_t  self) {
   return variable0;
 }
 val_t string___String___substring(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_string, 143, LOCATE_string___String___substring};
+  struct trace_t trace = {NULL, NULL, 143, LOCATE_string___String___substring};
   val_t variable0;
   val_t variable1;
   val_t variable2;
     val_t variable3;
     val_t variable4;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_string;
   variable0 =  param0;
   variable1 =  param1;
   variable2 = TAG_Bool(UNTAG_Int( variable1 /*count*/)>=UNTAG_Int( TAG_Int(0)));
@@ -333,10 +346,11 @@ val_t string___String___substring(val_t  self, val_t  param0, val_t  param1) {
   return variable2;
 }
 val_t string___String___substring_from(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_string, 167, LOCATE_string___String___substring_from};
+  struct trace_t trace = {NULL, NULL, 167, LOCATE_string___String___substring_from};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_string;
   variable0 =  param0;
   variable1 = ((array___AbstractArray___length_t)CALL( self,COLOR_abstract_collection___Collection___length))( self) /*AbstractArray::length*/;
   variable1 = TAG_Bool(UNTAG_Int( variable0 /*from*/)<UNTAG_Int(variable1));
@@ -350,7 +364,7 @@ val_t string___String___substring_from(val_t  self, val_t  param0) {
   return variable1;
 }
 val_t string___String___has_substring(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_string, 178, LOCATE_string___String___has_substring};
+  struct trace_t trace = {NULL, NULL, 178, LOCATE_string___String___has_substring};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -360,6 +374,7 @@ val_t string___String___has_substring(val_t  self, val_t  param0, val_t  param1)
   val_t variable6;
   val_t variable7;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_string;
   variable0 =  param0;
   variable1 =  param1;
   variable3 = ((array___AbstractArray___length_t)CALL( variable0 /*str*/,COLOR_abstract_collection___Collection___length))( variable0 /*str*/) /*AbstractArray::length*/;
@@ -404,10 +419,11 @@ val_t string___String___has_substring(val_t  self, val_t  param0, val_t  param1)
   return variable2;
 }
 val_t string___String___has_prefix(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_string, 197, LOCATE_string___String___has_prefix};
+  struct trace_t trace = {NULL, NULL, 197, LOCATE_string___String___has_prefix};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_string;
   variable0 =  param0;
   variable1 = ((string___String___has_substring_t)CALL( self,COLOR_string___String___has_substring))( self,  variable0 /*prefix*/,  TAG_Int(0)) /*String::has_substring*/;
   goto return_label20;
@@ -416,11 +432,12 @@ val_t string___String___has_prefix(val_t  self, val_t  param0) {
   return variable1;
 }
 val_t string___String___has_suffix(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_string, 203, LOCATE_string___String___has_suffix};
+  struct trace_t trace = {NULL, NULL, 203, LOCATE_string___String___has_suffix};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_string;
   variable0 =  param0;
   variable1 = ((array___AbstractArray___length_t)CALL( self,COLOR_abstract_collection___Collection___length))( self) /*AbstractArray::length*/;
   variable2 = ((array___AbstractArray___length_t)CALL( variable0 /*suffix*/,COLOR_abstract_collection___Collection___length))( variable0 /*suffix*/) /*AbstractArray::length*/;
@@ -432,7 +449,7 @@ val_t string___String___has_suffix(val_t  self, val_t  param0) {
   return variable1;
 }
 val_t string___String_____l(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_string, 209, LOCATE_string___String_____l};
+  struct trace_t trace = {NULL, NULL, 209, LOCATE_string___String_____l};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -441,6 +458,7 @@ val_t string___String_____l(val_t  self, val_t  param0) {
     val_t variable5;
     val_t variable6;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_string;
   variable0 =  param0;
   variable1 =  TAG_Int(0);
   variable3 = ((array___AbstractArray___length_t)CALL( self,COLOR_abstract_collection___Collection___length))( self) /*AbstractArray::length*/;
@@ -489,8 +507,9 @@ val_t string___String_____l(val_t  self, val_t  param0) {
   return variable1;
 }
 void string___String___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_string, 231, LOCATE_string___String___init};
+  struct trace_t trace = {NULL, NULL, 231, LOCATE_string___String___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_string;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_String].i]) return;
   ((string___String___with_capacity_t)CALL( self,COLOR_string___String___with_capacity))( self,  TAG_Int(5), init_table /*YYY*/) /*String::with_capacity*/;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_String].i] = 1;
@@ -498,12 +517,13 @@ void string___String___init(val_t  self, int* init_table) {
   return;
 }
 void string___String___from(val_t  self, val_t  param0, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_string, 237, LOCATE_string___String___from};
+  struct trace_t trace = {NULL, NULL, 237, LOCATE_string___String___from};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   val_t variable3;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_string;
   variable0 =  param0;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_String].i]) return;
   variable1 = ((array___AbstractArray___length_t)CALL( variable0 /*s*/,COLOR_abstract_collection___Collection___length))( variable0 /*s*/) /*AbstractArray::length*/;
@@ -523,10 +543,11 @@ void string___String___from(val_t  self, val_t  param0, int* init_table) {
   return;
 }
 void string___String___with_capacity(val_t  self, val_t  param0, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_string, 245, LOCATE_string___String___with_capacity};
+  struct trace_t trace = {NULL, NULL, 245, LOCATE_string___String___with_capacity};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_string;
   variable0 =  param0;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_String].i]) return;
   variable1 = TAG_Bool(UNTAG_Int( variable0 /*cap*/)>=UNTAG_Int( TAG_Int(0)));
@@ -540,11 +561,12 @@ void string___String___with_capacity(val_t  self, val_t  param0, int* init_table
   return;
 }
 void string___String___with_native(val_t  self, val_t  param0, val_t  param1, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_string, 255, LOCATE_string___String___with_native};
+  struct trace_t trace = {NULL, NULL, 255, LOCATE_string___String___with_native};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_string;
   variable0 =  param0;
   variable1 =  param1;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_String].i]) return;
@@ -558,11 +580,12 @@ void string___String___with_native(val_t  self, val_t  param0, val_t  param1, in
   return;
 }
 void string___String___from_cstring(val_t  self, val_t  param0, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_string, 264, LOCATE_string___String___from_cstring};
+  struct trace_t trace = {NULL, NULL, 264, LOCATE_string___String___from_cstring};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_string;
   variable0 =  param0;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_String].i]) return;
   variable2 = ((string___NativeString___cstring_length_t)CALL( variable0 /*str*/,COLOR_string___NativeString___cstring_length))( variable0 /*str*/) /*NativeString::cstring_length*/;
@@ -576,12 +599,13 @@ void string___String___from_cstring(val_t  self, val_t  param0, int* init_table)
   return;
 }
 void string___String___filled_with(val_t  self, val_t  param0, val_t  param1, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_string, 273, LOCATE_string___String___filled_with};
+  struct trace_t trace = {NULL, NULL, 273, LOCATE_string___String___filled_with};
   val_t variable0;
   val_t variable1;
   val_t variable2;
     val_t variable3;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_string;
   variable0 =  param0;
   variable1 =  param1;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_String].i]) return;
@@ -602,10 +626,11 @@ void string___String___filled_with(val_t  self, val_t  param0, val_t  param1, in
   return;
 }
 void string___String___output(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_string, 285, LOCATE_string___String___output};
+  struct trace_t trace = {NULL, NULL, 285, LOCATE_string___String___output};
   val_t variable0;
     val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_string;
   variable0 =  TAG_Int(0);
   while (true) { /*while*/
     variable1 = ((array___AbstractArray___length_t)CALL( self,COLOR_abstract_collection___Collection___length))( self) /*AbstractArray::length*/;
@@ -622,7 +647,7 @@ void string___String___output(val_t  self) {
   return;
 }
 val_t string___String_____eqeq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_string, 294, LOCATE_string___String_____eqeq};
+  struct trace_t trace = {NULL, NULL, 294, LOCATE_string___String_____eqeq};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -631,6 +656,7 @@ val_t string___String_____eqeq(val_t  self, val_t  param0) {
   val_t variable5;
     val_t variable6;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_string;
   variable0 =  param0;
   variable1 = TAG_Bool(( variable0 /*o*/==NIT_NULL) || VAL_ISA( variable0 /*o*/, COLOR_String, ID_String)) /*cast String*/;
   variable1 =  TAG_Bool(!UNTAG_Bool(variable1));
@@ -677,12 +703,13 @@ val_t string___String_____eqeq(val_t  self, val_t  param0) {
   return variable1;
 }
 val_t string___String___to_upper(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_string, 310, LOCATE_string___String___to_upper};
+  struct trace_t trace = {NULL, NULL, 310, LOCATE_string___String___to_upper};
   val_t variable0;
   val_t variable1;
   val_t variable2;
     val_t variable3;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_string;
   variable1 = ((array___AbstractArray___length_t)CALL( self,COLOR_abstract_collection___Collection___length))( self) /*AbstractArray::length*/;
   variable2 = NEW_string___String___with_capacity(variable1); /*new String*/
   variable1 = variable2;
@@ -705,12 +732,13 @@ val_t string___String___to_upper(val_t  self) {
   return variable0;
 }
 val_t string___String___to_lower(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_string, 318, LOCATE_string___String___to_lower};
+  struct trace_t trace = {NULL, NULL, 318, LOCATE_string___String___to_lower};
   val_t variable0;
   val_t variable1;
   val_t variable2;
     val_t variable3;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_string;
   variable1 = ((array___AbstractArray___length_t)CALL( self,COLOR_abstract_collection___Collection___length))( self) /*AbstractArray::length*/;
   variable2 = NEW_string___String___with_capacity(variable1); /*new String*/
   variable1 = variable2;
@@ -733,21 +761,24 @@ val_t string___String___to_lower(val_t  self) {
   return variable0;
 }
 val_t string___String___items(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_string, 326, LOCATE_string___String___items};
+  struct trace_t trace = {NULL, NULL, 326, LOCATE_string___String___items};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_string;
   tracehead = trace.prev;
   return ATTR_string___String____items( self) /*String::_items*/;
 }
 val_t string___String___capacity(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_string, 327, LOCATE_string___String___capacity};
+  struct trace_t trace = {NULL, NULL, 327, LOCATE_string___String___capacity};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_string;
   tracehead = trace.prev;
   return ATTR_string___String____capacity( self) /*String::_capacity*/;
 }
 val_t string___Object___to_s(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_string, 337, LOCATE_string___Object___to_s};
+  struct trace_t trace = {NULL, NULL, 337, LOCATE_string___Object___to_s};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_string;
   variable0 = ((string___Object___inspect_t)CALL( self,COLOR_string___Object___inspect))( self) /*Object::inspect*/;
   goto return_label39;
   return_label39: while(false);
@@ -755,10 +786,11 @@ val_t string___Object___to_s(val_t  self) {
   return variable0;
 }
 val_t string___Object___inspect(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_string, 340, LOCATE_string___Object___inspect};
+  struct trace_t trace = {NULL, NULL, 340, LOCATE_string___Object___inspect};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_string;
   variable1 = ((string___Object___inspect_head_t)CALL( self,COLOR_string___Object___inspect_head))( self) /*Object::inspect_head*/;
   variable0 = variable1;
   ((string___String___add_t)CALL( variable0 /*r*/,COLOR_abstract_collection___SimpleCollection___add))( variable0 /*r*/,  TAG_Char('>')) /*String::add*/;
@@ -769,7 +801,7 @@ val_t string___Object___inspect(val_t  self) {
   return variable0;
 }
 val_t string___Object___inspect_head(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_string, 349, LOCATE_string___Object___inspect_head};
+  struct trace_t trace = {NULL, NULL, 349, LOCATE_string___Object___inspect_head};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -778,6 +810,7 @@ val_t string___Object___inspect_head(val_t  self) {
   val_t variable5;
   val_t variable6;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_string;
   variable0 = NEW_string___String___init(); /*new String*/
   variable1 = NEW_string___String___with_native(BOX_NativeString("<"), TAG_Int(1)); /*new String*/
   variable2 = variable1;
@@ -795,9 +828,10 @@ val_t string___Object___inspect_head(val_t  self) {
   return variable0;
 }
 val_t string___Object___args(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_string, 356, LOCATE_string___Object___args};
+  struct trace_t trace = {NULL, NULL, 356, LOCATE_string___Object___args};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_string;
   variable0 = (G_sys);
   variable0 = ((string___Sys___args_t)CALL(variable0,COLOR_string___Object___args))(variable0) /*Sys::args*/;
   goto return_label42;
@@ -806,11 +840,12 @@ val_t string___Object___args(val_t  self) {
   return variable0;
 }
 val_t string___Bool___to_s(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_string, 363, LOCATE_string___Bool___to_s};
+  struct trace_t trace = {NULL, NULL, 363, LOCATE_string___Bool___to_s};
   val_t variable0;
     static val_t once_value_variable0_44; static int once_bool_variable0_44;
     static val_t once_value_variable0_45; static int once_bool_variable0_45;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_string;
   if (UNTAG_Bool( self)) { /*if*/
     if (once_bool_variable0_44) variable0 = once_value_variable0_44;
     else {
@@ -833,7 +868,7 @@ val_t string___Bool___to_s(val_t  self) {
   return variable0;
 }
 void string___Int___fill_string(val_t  self, val_t  param0, val_t  param1, val_t  param2) {
-  struct trace_t trace = {NULL, LOCATE_string, 374, LOCATE_string___Int___fill_string};
+  struct trace_t trace = {NULL, NULL, 374, LOCATE_string___Int___fill_string};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -842,6 +877,7 @@ void string___Int___fill_string(val_t  self, val_t  param0, val_t  param1, val_t
   val_t variable5;
     val_t variable6;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_string;
   variable0 =  param0;
   variable1 =  param1;
   variable2 =  param2;
@@ -885,9 +921,10 @@ void string___Int___fill_string(val_t  self, val_t  param0, val_t  param1, val_t
   return;
 }
 val_t string___Int___to_s(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_string, 398, LOCATE_string___Int___to_s};
+  struct trace_t trace = {NULL, NULL, 398, LOCATE_string___Int___to_s};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_string;
   variable0 = ((string___Int___to_base_t)CALL( self,COLOR_string___Int___to_base))( self,  TAG_Int(10),  TAG_Bool(true)) /*Int::to_base*/;
   goto return_label48;
   return_label48: while(false);
@@ -895,9 +932,10 @@ val_t string___Int___to_s(val_t  self) {
   return variable0;
 }
 val_t string___Int___to_hex(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_string, 401, LOCATE_string___Int___to_hex};
+  struct trace_t trace = {NULL, NULL, 401, LOCATE_string___Int___to_hex};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_string;
   variable0 = ((string___Int___to_base_t)CALL( self,COLOR_string___Int___to_base))( self,  TAG_Int(16),  TAG_Bool(false)) /*Int::to_base*/;
   goto return_label49;
   return_label49: while(false);
@@ -905,13 +943,14 @@ val_t string___Int___to_hex(val_t  self) {
   return variable0;
 }
 val_t string___Int___to_base(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_string, 404, LOCATE_string___Int___to_base};
+  struct trace_t trace = {NULL, NULL, 404, LOCATE_string___Int___to_base};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   val_t variable3;
   val_t variable4;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_string;
   variable0 =  param0;
   variable1 =  param1;
   variable3 = ((kernel___Int___digit_count_t)CALL( self,COLOR_kernel___Int___digit_count))( self,  variable0 /*base*/) /*Int::digit_count*/;
@@ -926,9 +965,10 @@ val_t string___Int___to_base(val_t  self, val_t  param0, val_t  param1) {
   return variable2;
 }
 val_t string___Float___to_s(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_string, 415, LOCATE_string___Float___to_s};
+  struct trace_t trace = {NULL, NULL, 415, LOCATE_string___Float___to_s};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_string;
   variable0 = ((string___Float___to_precision_t)CALL( self,COLOR_string___Float___to_precision))( self,  TAG_Int(6)) /*Float::to_precision*/;
   goto return_label51;
   return_label51: while(false);
@@ -936,7 +976,7 @@ val_t string___Float___to_s(val_t  self) {
   return variable0;
 }
 val_t string___Float___to_precision(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_string, 417, LOCATE_string___Float___to_precision};
+  struct trace_t trace = {NULL, NULL, 417, LOCATE_string___Float___to_precision};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -951,6 +991,7 @@ val_t string___Float___to_precision(val_t  self, val_t  param0) {
   val_t variable11;
   val_t variable12;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_string;
   variable0 =  param0;
   variable1 = TAG_Bool(( variable0 /*nb*/)==( TAG_Int(0)));
   if (UNTAG_Bool(variable1)) { /*if*/
@@ -1000,10 +1041,11 @@ val_t string___Float___to_precision(val_t  self, val_t  param0) {
   return variable1;
 }
 val_t string___Char___to_s(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_string, 434, LOCATE_string___Char___to_s};
+  struct trace_t trace = {NULL, NULL, 434, LOCATE_string___Char___to_s};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_string;
   variable1 = NEW_string___String___with_capacity( TAG_Int(1)); /*new String*/
   variable0 = variable1;
   ((string___String_____braeq_t)CALL( variable0 /*s*/,COLOR_abstract_collection___Map_____braeq))( variable0 /*s*/,  TAG_Int(0),  self) /*String::[]=*/;
@@ -1014,12 +1056,13 @@ val_t string___Char___to_s(val_t  self) {
   return variable0;
 }
 val_t string___Collection___to_s(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_string, 443, LOCATE_string___Collection___to_s};
+  struct trace_t trace = {NULL, NULL, 443, LOCATE_string___Collection___to_s};
   val_t variable0;
   val_t variable1;
     val_t variable2;
     val_t variable3;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_string;
   variable1 = NEW_string___String___init(); /*new String*/
   variable0 = variable1;
   variable1 = ((abstract_collection___Collection___iterator_t)CALL( self,COLOR_abstract_collection___Collection___iterator))( self) /*Collection::iterator*/;
@@ -1043,13 +1086,14 @@ val_t string___Collection___to_s(val_t  self) {
   return variable0;
 }
 val_t string___Collection___join(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_string, 451, LOCATE_string___Collection___join};
+  struct trace_t trace = {NULL, NULL, 451, LOCATE_string___Collection___join};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   val_t variable3;
   val_t variable4;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_string;
   variable0 =  param0;
   variable1 = ((abstract_collection___Collection___is_empty_t)CALL( self,COLOR_abstract_collection___Collection___is_empty))( self) /*Collection::is_empty*/;
   if (UNTAG_Bool(variable1)) { /*if*/
@@ -1090,7 +1134,7 @@ val_t string___Collection___join(val_t  self, val_t  param0) {
   return variable1;
 }
 val_t string___Map___map_join(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_string, 476, LOCATE_string___Map___map_join};
+  struct trace_t trace = {NULL, NULL, 476, LOCATE_string___Map___map_join};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -1110,6 +1154,7 @@ val_t string___Map___map_join(val_t  self, val_t  param0, val_t  param1) {
     val_t variable16;
     val_t variable17;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_string;
   variable0 =  param0;
   variable1 =  param1;
   variable2 = ((abstract_collection___Collection___is_empty_t)CALL( self,COLOR_abstract_collection___Collection___is_empty))( self) /*Collection::is_empty*/;
@@ -1195,30 +1240,34 @@ val_t string___Map___map_join(val_t  self, val_t  param0, val_t  param1) {
   return variable2;
 }
 val_t string___NativeString_____bra(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_string, 508, LOCATE_string___NativeString_____bra};
+  struct trace_t trace = {NULL, NULL, 508, LOCATE_string___NativeString_____bra};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_string;
   tracehead = trace.prev;
   return TAG_Char(UNBOX_NativeString( self)[UNTAG_Int( param0)]);
 }
 void string___NativeString_____braeq(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_string, 509, LOCATE_string___NativeString_____braeq};
+  struct trace_t trace = {NULL, NULL, 509, LOCATE_string___NativeString_____braeq};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_string;
   UNBOX_NativeString( self)[UNTAG_Int( param0)]=UNTAG_Char( param1);
   tracehead = trace.prev;
   return;
 }
 void string___NativeString___copy_to(val_t  self, val_t  param0, val_t  param1, val_t  param2, val_t  param3) {
-  struct trace_t trace = {NULL, LOCATE_string, 510, LOCATE_string___NativeString___copy_to};
+  struct trace_t trace = {NULL, NULL, 510, LOCATE_string___NativeString___copy_to};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_string;
   (void)memcpy(UNBOX_NativeString( param0)+UNTAG_Int( param3), UNBOX_NativeString( self)+UNTAG_Int( param2), UNTAG_Int( param1));
   tracehead = trace.prev;
   return;
 }
 val_t string___NativeString___cstring_length(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_string, 512, LOCATE_string___NativeString___cstring_length};
+  struct trace_t trace = {NULL, NULL, 512, LOCATE_string___NativeString___cstring_length};
   val_t variable0;
     val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_string;
   variable0 =  TAG_Int(0);
   while (true) { /*while*/
     variable1 = TAG_Char(UNBOX_NativeString( self)[UNTAG_Int( variable0 /*l*/)]);
@@ -1235,21 +1284,24 @@ val_t string___NativeString___cstring_length(val_t  self) {
   return variable0;
 }
 val_t string___NativeString___atoi(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_string, 519, LOCATE_string___NativeString___atoi};
+  struct trace_t trace = {NULL, NULL, 519, LOCATE_string___NativeString___atoi};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_string;
   tracehead = trace.prev;
   return TAG_Int(atoi(UNBOX_NativeString( self)));
 }
 val_t string___StringCapable___calloc_string(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_string, 524, LOCATE_string___StringCapable___calloc_string};
+  struct trace_t trace = {NULL, NULL, 524, LOCATE_string___StringCapable___calloc_string};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_string;
   tracehead = trace.prev;
   return BOX_NativeString((char*)malloc((UNTAG_Int( param0) * sizeof(char))));
 }
 val_t string___Sys___args(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_string, 530, LOCATE_string___Sys___args};
+  struct trace_t trace = {NULL, NULL, 530, LOCATE_string___Sys___args};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_string;
   variable0 = ATTR_string___Sys____args_cache( self) /*Sys::_args_cache*/;
   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::==*/)))));
   if (UNTAG_Bool(variable0)) { /*if*/
@@ -1262,10 +1314,11 @@ val_t string___Sys___args(val_t  self) {
   return variable0;
 }
 val_t string___Sys___program_name(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_string, 536, LOCATE_string___Sys___program_name};
+  struct trace_t trace = {NULL, NULL, 536, LOCATE_string___Sys___program_name};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_string;
   variable0 = ((string___Sys___native_argv_t)CALL( self,COLOR_string___Sys___native_argv))( self,  TAG_Int(0)) /*Sys::native_argv*/;
   variable1 = NEW_string___String___from_cstring(variable0); /*new String*/
   variable0 = variable1;
@@ -1275,7 +1328,7 @@ val_t string___Sys___program_name(val_t  self) {
   return variable0;
 }
 void string___Sys___init_args(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_string, 542, LOCATE_string___Sys___init_args};
+  struct trace_t trace = {NULL, NULL, 542, LOCATE_string___Sys___init_args};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -1283,6 +1336,7 @@ void string___Sys___init_args(val_t  self) {
     val_t variable4;
     val_t variable5;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_string;
   variable1 = ((string___Sys___native_argc_t)CALL( self,COLOR_string___Sys___native_argc))( self) /*Sys::native_argc*/;
   variable0 = variable1;
   variable2 = NEW_array___Array___with_capacity( TAG_Int(0)); /*new Array[E]*/
@@ -1305,14 +1359,16 @@ void string___Sys___init_args(val_t  self) {
   return;
 }
 val_t string___Sys___native_argc(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_string, 555, LOCATE_string___Sys___native_argc};
+  struct trace_t trace = {NULL, NULL, 555, LOCATE_string___Sys___native_argc};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_string;
   tracehead = trace.prev;
   return TAG_Int(kernel_Sys_Sys_native_argc_0( self));
 }
 val_t string___Sys___native_argv(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_string, 557, LOCATE_string___Sys___native_argv};
+  struct trace_t trace = {NULL, NULL, 557, LOCATE_string___Sys___native_argv};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_string;
   tracehead = trace.prev;
   return BOX_NativeString(kernel_Sys_Sys_native_argv_1( self, UNTAG_Int( param0)));
 }
index a2f8b46..1257fce 100644 (file)
@@ -1,6 +1,6 @@
 /* This C header file is generated by NIT to compile modules and programs that requires string. */
-#ifndef string_2_sep
-#define string_2_sep
+#ifndef string_sep
+#define string_sep
 #include "array._sep.h"
 #include <nit_common.h>
 #include <string_nit.h>
@@ -13,7 +13,7 @@ val_t BOX_NativeString(char * val);
 #define UNBOX_NativeString(x) (((struct TBOX_NativeString *)(VAL2OBJ(x)))->val)
 
 extern const classtable_elt_t VFT_StringCapable[];
-#define LOCATE_string "./../lib/standard//string.nit"
+extern const char *LOCATE_string;
 extern const int SFT_string[];
 #define ID_String SFT_string[0]
 #define COLOR_String SFT_string[1]
index 8f49bd8..672d6d4 100644 (file)
@@ -1,8 +1,9 @@
 /* This C file is generated by NIT to compile module string_search. */
 #include "string_search._sep.h"
 val_t string_search___Pattern___search_index_in(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_string_search, 21, LOCATE_string_search___Pattern___search_index_in};
+  struct trace_t trace = {NULL, NULL, 21, LOCATE_string_search___Pattern___search_index_in};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_string_search;
   fprintf(stderr, "Deferred method %s called");
   fprintf(stderr, " (%s:%d)\n", LOCATE_string_search, 21);
   nit_exit(1);
@@ -10,8 +11,9 @@ val_t string_search___Pattern___search_index_in(val_t  self, val_t  param0, val_
   return NIT_NULL;
 }
 val_t string_search___Pattern___search_in(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_string_search, 26, LOCATE_string_search___Pattern___search_in};
+  struct trace_t trace = {NULL, NULL, 26, LOCATE_string_search___Pattern___search_in};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_string_search;
   fprintf(stderr, "Deferred method %s called");
   fprintf(stderr, " (%s:%d)\n", LOCATE_string_search, 26);
   nit_exit(1);
@@ -19,12 +21,13 @@ val_t string_search___Pattern___search_in(val_t  self, val_t  param0, val_t  par
   return NIT_NULL;
 }
 val_t string_search___Pattern___search_all_in(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_string_search, 30, LOCATE_string_search___Pattern___search_all_in};
+  struct trace_t trace = {NULL, NULL, 30, LOCATE_string_search___Pattern___search_all_in};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   val_t variable3;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_string_search;
   variable0 =  param0;
   variable2 = NEW_array___Array___init(); /*new Array[E]*/
   variable1 = variable2;
@@ -47,7 +50,7 @@ val_t string_search___Pattern___search_all_in(val_t  self, val_t  param0) {
   return variable1;
 }
 val_t string_search___Pattern___split_in(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_string_search, 42, LOCATE_string_search___Pattern___split_in};
+  struct trace_t trace = {NULL, NULL, 42, LOCATE_string_search___Pattern___split_in};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -55,6 +58,7 @@ val_t string_search___Pattern___split_in(val_t  self, val_t  param0) {
   val_t variable4;
     val_t variable5;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_string_search;
   variable0 =  param0;
   variable2 = NEW_array___Array___init(); /*new Array[E]*/
   variable1 = variable2;
@@ -88,9 +92,10 @@ val_t string_search___Pattern___split_in(val_t  self, val_t  param0) {
   return variable1;
 }
 val_t string_search___BM_Pattern___to_s(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_string_search, 67, LOCATE_string_search___BM_Pattern___to_s};
+  struct trace_t trace = {NULL, NULL, 67, LOCATE_string_search___BM_Pattern___to_s};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_string_search;
   variable0 = ATTR_string_search___BM_Pattern____motif( self) /*BM_Pattern::_motif*/;
   goto return_label4;
   return_label4: while(false);
@@ -98,7 +103,7 @@ val_t string_search___BM_Pattern___to_s(val_t  self) {
   return variable0;
 }
 val_t string_search___BM_Pattern___search_index_in(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_string_search, 69, LOCATE_string_search___BM_Pattern___search_index_in};
+  struct trace_t trace = {NULL, NULL, 69, LOCATE_string_search___BM_Pattern___search_index_in};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -111,6 +116,7 @@ val_t string_search___BM_Pattern___search_index_in(val_t  self, val_t  param0, v
       val_t variable9;
       val_t variable10;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_string_search;
   variable0 =  param0;
   variable1 =  param1;
   variable2 = TAG_Bool(UNTAG_Int( variable1 /*from*/)>=UNTAG_Int( TAG_Int(0)));
@@ -191,13 +197,14 @@ val_t string_search___BM_Pattern___search_index_in(val_t  self, val_t  param0, v
   return variable2;
 }
 val_t string_search___BM_Pattern___search_in(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_string_search, 96, LOCATE_string_search___BM_Pattern___search_in};
+  struct trace_t trace = {NULL, NULL, 96, LOCATE_string_search___BM_Pattern___search_in};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   val_t variable3;
     val_t variable4;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_string_search;
   variable0 =  param0;
   variable1 =  param1;
   variable3 = ((string_search___BM_Pattern___search_index_in_t)CALL( self,COLOR_string_search___Pattern___search_index_in))( self,  variable0 /*s*/,  variable1 /*from*/) /*BM_Pattern::search_index_in*/;
@@ -218,11 +225,12 @@ val_t string_search___BM_Pattern___search_in(val_t  self, val_t  param0, val_t
   return variable2;
 }
 void string_search___BM_Pattern___init(val_t  self, val_t  param0, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_string_search, 107, LOCATE_string_search___BM_Pattern___init};
+  struct trace_t trace = {NULL, NULL, 107, LOCATE_string_search___BM_Pattern___init};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_string_search;
   variable0 =  param0;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_BM_Pattern].i]) return;
   ATTR_string_search___BM_Pattern____motif( self) /*BM_Pattern::_motif*/ =  variable0 /*motif*/;
@@ -241,10 +249,11 @@ void string_search___BM_Pattern___init(val_t  self, val_t  param0, int* init_tab
   return;
 }
 val_t string_search___BM_Pattern___bc(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_string_search, 124, LOCATE_string_search___BM_Pattern___bc};
+  struct trace_t trace = {NULL, NULL, 124, LOCATE_string_search___BM_Pattern___bc};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_string_search;
   variable0 =  param0;
   variable1 = ATTR_string_search___BM_Pattern____bc_table( self) /*BM_Pattern::_bc_table*/;
   variable1 = ((abstract_collection___Map___has_key_t)CALL(variable1,COLOR_abstract_collection___Map___has_key))(variable1,  variable0 /*e*/) /*Map::has_key*/;
@@ -261,7 +270,7 @@ val_t string_search___BM_Pattern___bc(val_t  self, val_t  param0) {
   return variable1;
 }
 void string_search___BM_Pattern___compute_bc(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_string_search, 139, LOCATE_string_search___BM_Pattern___compute_bc};
+  struct trace_t trace = {NULL, NULL, 139, LOCATE_string_search___BM_Pattern___compute_bc};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -269,6 +278,7 @@ void string_search___BM_Pattern___compute_bc(val_t  self) {
     val_t variable4;
     val_t variable5;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_string_search;
   variable1 = ATTR_string_search___BM_Pattern____motif( self) /*BM_Pattern::_motif*/;
   variable0 = variable1;
   variable2 = ATTR_string_search___BM_Pattern____length( self) /*BM_Pattern::_length*/;
@@ -291,7 +301,7 @@ void string_search___BM_Pattern___compute_bc(val_t  self) {
   return;
 }
 val_t string_search___BM_Pattern___suffixes(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_string_search, 150, LOCATE_string_search___BM_Pattern___suffixes};
+  struct trace_t trace = {NULL, NULL, 150, LOCATE_string_search___BM_Pattern___suffixes};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -304,6 +314,7 @@ val_t string_search___BM_Pattern___suffixes(val_t  self) {
       val_t variable9;
       val_t variable10;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_string_search;
   variable1 = ATTR_string_search___BM_Pattern____motif( self) /*BM_Pattern::_motif*/;
   variable0 = variable1;
   variable2 = ATTR_string_search___BM_Pattern____length( self) /*BM_Pattern::_length*/;
@@ -398,7 +409,7 @@ val_t string_search___BM_Pattern___suffixes(val_t  self) {
   return variable0;
 }
 void string_search___BM_Pattern___compute_gs(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_string_search, 173, LOCATE_string_search___BM_Pattern___compute_gs};
+  struct trace_t trace = {NULL, NULL, 173, LOCATE_string_search___BM_Pattern___compute_gs};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -410,6 +421,7 @@ void string_search___BM_Pattern___compute_gs(val_t  self) {
       val_t variable8;
     val_t variable9;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_string_search;
   variable1 = ATTR_string_search___BM_Pattern____motif( self) /*BM_Pattern::_motif*/;
   variable0 = variable1;
   variable2 = ATTR_string_search___BM_Pattern____length( self) /*BM_Pattern::_length*/;
@@ -527,28 +539,32 @@ void string_search___BM_Pattern___compute_gs(val_t  self) {
   return;
 }
 val_t string_search___Match___string(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_string_search, 204, LOCATE_string_search___Match___string};
+  struct trace_t trace = {NULL, NULL, 204, LOCATE_string_search___Match___string};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_string_search;
   tracehead = trace.prev;
   return ATTR_string_search___Match____string( self) /*Match::_string*/;
 }
 val_t string_search___Match___from(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_string_search, 207, LOCATE_string_search___Match___from};
+  struct trace_t trace = {NULL, NULL, 207, LOCATE_string_search___Match___from};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_string_search;
   tracehead = trace.prev;
   return ATTR_string_search___Match____from( self) /*Match::_from*/;
 }
 val_t string_search___Match___length(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_string_search, 210, LOCATE_string_search___Match___length};
+  struct trace_t trace = {NULL, NULL, 210, LOCATE_string_search___Match___length};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_string_search;
   tracehead = trace.prev;
   return ATTR_string_search___Match____length( self) /*Match::_length*/;
 }
 val_t string_search___Match___after(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_string_search, 213, LOCATE_string_search___Match___after};
+  struct trace_t trace = {NULL, NULL, 213, LOCATE_string_search___Match___after};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_string_search;
   variable0 = ATTR_string_search___Match____from( self) /*Match::_from*/;
   variable1 = ATTR_string_search___Match____length( self) /*Match::_length*/;
   variable0 = TAG_Int(UNTAG_Int(variable0)+UNTAG_Int(variable1));
@@ -558,11 +574,12 @@ val_t string_search___Match___after(val_t  self) {
   return variable0;
 }
 val_t string_search___Match___to_s(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_string_search, 217, LOCATE_string_search___Match___to_s};
+  struct trace_t trace = {NULL, NULL, 217, LOCATE_string_search___Match___to_s};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_string_search;
   variable0 = ATTR_string_search___Match____string( self) /*Match::_string*/;
   variable1 = ATTR_string_search___Match____from( self) /*Match::_from*/;
   variable2 = ATTR_string_search___Match____length( self) /*Match::_length*/;
@@ -573,13 +590,14 @@ val_t string_search___Match___to_s(val_t  self) {
   return variable0;
 }
 void string_search___Match___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_string_search, 220, LOCATE_string_search___Match___init};
+  struct trace_t trace = {NULL, NULL, 220, LOCATE_string_search___Match___init};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   val_t variable3;
   val_t variable4;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_string_search;
   variable0 =  param0;
   variable1 =  param1;
   variable2 =  param2;
@@ -602,12 +620,13 @@ void string_search___Match___init(val_t  self, val_t  param0, val_t  param1, val
   return;
 }
 val_t string_search___Char___search_index_in(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_string_search, 235, LOCATE_string_search___Char___search_index_in};
+  struct trace_t trace = {NULL, NULL, 235, LOCATE_string_search___Char___search_index_in};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   val_t variable3;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_string_search;
   variable0 =  param0;
   variable1 =  param1;
   variable3 = ((array___AbstractArray___length_t)CALL( variable0 /*s*/,COLOR_abstract_collection___Collection___length))( variable0 /*s*/) /*AbstractArray::length*/;
@@ -633,12 +652,13 @@ val_t string_search___Char___search_index_in(val_t  self, val_t  param0, val_t
   return variable2;
 }
 val_t string_search___Char___search_in(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_string_search, 245, LOCATE_string_search___Char___search_in};
+  struct trace_t trace = {NULL, NULL, 245, LOCATE_string_search___Char___search_in};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   val_t variable3;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_string_search;
   variable0 =  param0;
   variable1 =  param1;
   variable3 = ((string_search___Char___search_index_in_t)CALL( self,COLOR_string_search___Pattern___search_index_in))( self,  variable0 /*s*/,  variable1 /*from*/) /*Char::search_index_in*/;
@@ -657,7 +677,7 @@ val_t string_search___Char___search_in(val_t  self, val_t  param0, val_t  param1
   return variable2;
 }
 val_t string_search___String___search_index_in(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_string_search, 258, LOCATE_string_search___String___search_index_in};
+  struct trace_t trace = {NULL, NULL, 258, LOCATE_string_search___String___search_index_in};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -666,6 +686,7 @@ val_t string_search___String___search_index_in(val_t  self, val_t  param0, val_t
       val_t variable5;
         val_t variable6;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_string_search;
   variable0 =  param0;
   variable1 =  param1;
   variable2 = TAG_Bool(UNTAG_Int( variable1 /*from*/)>=UNTAG_Int( TAG_Int(0)));
@@ -713,13 +734,14 @@ val_t string_search___String___search_index_in(val_t  self, val_t  param0, val_t
   return variable2;
 }
 val_t string_search___String___search_in(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_string_search, 273, LOCATE_string_search___String___search_in};
+  struct trace_t trace = {NULL, NULL, 273, LOCATE_string_search___String___search_in};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   val_t variable3;
     val_t variable4;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_string_search;
   variable0 =  param0;
   variable1 =  param1;
   variable3 = ((string_search___String___search_index_in_t)CALL( self,COLOR_string_search___Pattern___search_index_in))( self,  variable0 /*s*/,  variable1 /*from*/) /*String::search_index_in*/;
@@ -740,10 +762,11 @@ val_t string_search___String___search_in(val_t  self, val_t  param0, val_t  para
   return variable2;
 }
 val_t string_search___String___search(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_string_search, 283, LOCATE_string_search___String___search};
+  struct trace_t trace = {NULL, NULL, 283, LOCATE_string_search___String___search};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_string_search;
   variable0 =  param0;
   variable1 = ((string_search___Pattern___search_in_t)CALL( variable0 /*p*/,COLOR_string_search___Pattern___search_in))( variable0 /*p*/,  self,  TAG_Int(0)) /*Pattern::search_in*/;
   goto return_label37;
@@ -752,11 +775,12 @@ val_t string_search___String___search(val_t  self, val_t  param0) {
   return variable1;
 }
 val_t string_search___String___search_from(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_string_search, 286, LOCATE_string_search___String___search_from};
+  struct trace_t trace = {NULL, NULL, 286, LOCATE_string_search___String___search_from};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_string_search;
   variable0 =  param0;
   variable1 =  param1;
   variable2 = ((string_search___Pattern___search_in_t)CALL( variable0 /*p*/,COLOR_string_search___Pattern___search_in))( variable0 /*p*/,  self,  variable1 /*from*/) /*Pattern::search_in*/;
@@ -766,10 +790,11 @@ val_t string_search___String___search_from(val_t  self, val_t  param0, val_t  pa
   return variable2;
 }
 val_t string_search___String___search_all(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_string_search, 291, LOCATE_string_search___String___search_all};
+  struct trace_t trace = {NULL, NULL, 291, LOCATE_string_search___String___search_all};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_string_search;
   variable0 =  param0;
   variable1 = ((string_search___Pattern___search_all_in_t)CALL( variable0 /*p*/,COLOR_string_search___Pattern___search_all_in))( variable0 /*p*/,  self) /*Pattern::search_all_in*/;
   goto return_label39;
@@ -778,7 +803,7 @@ val_t string_search___String___search_all(val_t  self, val_t  param0) {
   return variable1;
 }
 val_t string_search___String___split_with(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_string_search, 300, LOCATE_string_search___String___split_with};
+  struct trace_t trace = {NULL, NULL, 300, LOCATE_string_search___String___split_with};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -786,6 +811,7 @@ val_t string_search___String___split_with(val_t  self, val_t  param0) {
   val_t variable4;
     val_t variable5;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_string_search;
   variable0 =  param0;
   variable2 = ((string_search___Pattern___split_in_t)CALL( variable0 /*p*/,COLOR_string_search___Pattern___split_in))( variable0 /*p*/,  self) /*Pattern::split_in*/;
   variable1 = variable2;
@@ -811,9 +837,10 @@ val_t string_search___String___split_with(val_t  self, val_t  param0) {
   return variable1;
 }
 val_t string_search___String___split(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_string_search, 310, LOCATE_string_search___String___split};
+  struct trace_t trace = {NULL, NULL, 310, LOCATE_string_search___String___split};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_string_search;
   variable0 = ((string_search___String___split_with_t)CALL( self,COLOR_string_search___String___split_with))( self,  TAG_Char('\n')) /*String::split_with*/;
   goto return_label42;
   return_label42: while(false);
index f3488d8..1b4c1fe 100644 (file)
@@ -1,6 +1,6 @@
 /* This C header file is generated by NIT to compile modules and programs that requires string_search. */
-#ifndef string_search_2_sep
-#define string_search_2_sep
+#ifndef string_search_sep
+#define string_search_sep
 #include "string._sep.h"
 #include <nit_common.h>
 
@@ -9,7 +9,7 @@ extern const classtable_elt_t VFT_Pattern[];
 extern const classtable_elt_t VFT_BM_Pattern[];
 
 extern const classtable_elt_t VFT_Match[];
-#define LOCATE_string_search "./../lib/standard//string_search.nit"
+extern const char *LOCATE_string_search;
 extern const int SFT_string_search[];
 #define ID_Pattern SFT_string_search[0]
 #define COLOR_Pattern SFT_string_search[1]
index 9fff476..f80f0c9 100644 (file)
@@ -1,12 +1,13 @@
 /* This C file is generated by NIT to compile module symbol. */
 #include "symbol._sep.h"
 val_t symbol___String___to_symbol(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_symbol, 20, LOCATE_symbol___String___to_symbol};
+  struct trace_t trace = {NULL, NULL, 20, LOCATE_symbol___String___to_symbol};
   val_t variable0;
   val_t variable1;
   static val_t once_value_variable1_1; static int once_bool_variable1_1;
     val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_symbol;
   if (once_bool_variable1_1) variable1 = once_value_variable1_1;
   else {
     variable1 = NEW_hash___HashMap___init(); /*new HashMap[K, V]*/
@@ -31,9 +32,10 @@ val_t symbol___String___to_symbol(val_t  self) {
   return variable0;
 }
 val_t symbol___Symbol___to_s(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_symbol, 37, LOCATE_symbol___Symbol___to_s};
+  struct trace_t trace = {NULL, NULL, 37, LOCATE_symbol___Symbol___to_s};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_symbol;
   variable0 = ATTR_symbol___Symbol____string( self) /*Symbol::_string*/;
   variable0 = ((string___String___to_s_t)CALL(variable0,COLOR_string___Object___to_s))(variable0) /*String::to_s*/;
   goto return_label2;
@@ -42,9 +44,10 @@ val_t symbol___Symbol___to_s(val_t  self) {
   return variable0;
 }
 void symbol___Symbol___init(val_t  self, val_t  param0, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_symbol, 39, LOCATE_symbol___Symbol___init};
+  struct trace_t trace = {NULL, NULL, 39, LOCATE_symbol___Symbol___init};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_symbol;
   variable0 =  param0;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_Symbol].i]) return;
   ATTR_symbol___Symbol____string( self) /*Symbol::_string*/ =  variable0 /*s*/;
index 2fe805a..4ff9a9e 100644 (file)
@@ -1,11 +1,11 @@
 /* This C header file is generated by NIT to compile modules and programs that requires symbol. */
-#ifndef symbol_2_sep
-#define symbol_2_sep
+#ifndef symbol_sep
+#define symbol_sep
 #include "hash._sep.h"
 #include <nit_common.h>
 
 extern const classtable_elt_t VFT_Symbol[];
-#define LOCATE_symbol "./../lib/standard//symbol.nit"
+extern const char *LOCATE_symbol;
 extern const int SFT_symbol[];
 #define COLOR_symbol___String___to_symbol SFT_symbol[0]
 #define ID_Symbol SFT_symbol[1]
index 190c406..4c5aba3 100644 (file)
@@ -1,9 +1,10 @@
 /* This C file is generated by NIT to compile module syntax. */
 #include "syntax._sep.h"
 val_t syntax___SrcModuleLoader___file_type(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_syntax, 31, LOCATE_syntax___SrcModuleLoader___file_type};
+  struct trace_t trace = {NULL, NULL, 31, LOCATE_syntax___SrcModuleLoader___file_type};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_syntax;
   variable0 = NEW_string___String___with_native(BOX_NativeString("nit"), TAG_Int(3)); /*new String*/
   goto return_label0;
   return_label0: while(false);
@@ -11,7 +12,7 @@ val_t syntax___SrcModuleLoader___file_type(val_t  self) {
   return variable0;
 }
 val_t syntax___SrcModuleLoader___parse_file(val_t  self, val_t  param0, val_t  param1, val_t  param2, val_t  param3, val_t  param4) {
-  struct trace_t trace = {NULL, LOCATE_syntax, 33, LOCATE_syntax___SrcModuleLoader___parse_file};
+  struct trace_t trace = {NULL, NULL, 33, LOCATE_syntax___SrcModuleLoader___parse_file};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -33,6 +34,7 @@ val_t syntax___SrcModuleLoader___parse_file(val_t  self, val_t  param0, val_t  p
     val_t variable18;
     val_t variable19;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_syntax;
   variable0 =  param0;
   variable1 =  param1;
   variable2 =  param2;
@@ -83,10 +85,11 @@ val_t syntax___SrcModuleLoader___parse_file(val_t  self, val_t  param0, val_t  p
   return variable5;
 }
 void syntax___SrcModuleLoader___process_metamodel(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_syntax, 52, LOCATE_syntax___SrcModuleLoader___process_metamodel};
+  struct trace_t trace = {NULL, NULL, 52, LOCATE_syntax___SrcModuleLoader___process_metamodel};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_syntax;
   variable0 =  param0;
   variable1 =  param1;
   ((syntax___MMSrcModule___process_supermodules_t)CALL( variable1 /*module*/,COLOR_syntax___MMSrcModule___process_supermodules))( variable1 /*module*/,  variable0 /*context*/) /*MMSrcModule::process_supermodules*/;
@@ -95,18 +98,20 @@ void syntax___SrcModuleLoader___process_metamodel(val_t  self, val_t  param0, va
   return;
 }
 void syntax___SrcModuleLoader___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_syntax, 58, LOCATE_syntax___SrcModuleLoader___init};
+  struct trace_t trace = {NULL, NULL, 58, LOCATE_syntax___SrcModuleLoader___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_syntax;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_SrcModuleLoader].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_SrcModuleLoader].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void syntax___MMSrcModule___process_supermodules(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_syntax, 62, LOCATE_syntax___MMSrcModule___process_supermodules};
+  struct trace_t trace = {NULL, NULL, 62, LOCATE_syntax___MMSrcModule___process_supermodules};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_syntax;
   variable0 =  param0;
   variable1 = ((syntax_base___MMSrcModule___node_t)CALL( self,COLOR_syntax_base___MMSrcModule___node))( self) /*MMSrcModule::node*/;
   ((mmbuilder___AModule___import_super_modules_t)CALL(variable1,COLOR_mmbuilder___AModule___import_super_modules))(variable1,  variable0 /*tc*/,  self) /*AModule::import_super_modules*/;
@@ -114,10 +119,11 @@ void syntax___MMSrcModule___process_supermodules(val_t  self, val_t  param0) {
   return;
 }
 void syntax___MMSrcModule___process_syntax(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_syntax, 69, LOCATE_syntax___MMSrcModule___process_syntax};
+  struct trace_t trace = {NULL, NULL, 69, LOCATE_syntax___MMSrcModule___process_syntax};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_syntax;
   variable0 =  param0;
   ((mmbuilder___MMSrcModule___do_mmbuilder_t)CALL( self,COLOR_mmbuilder___MMSrcModule___do_mmbuilder))( self,  variable0 /*tc*/) /*MMSrcModule::do_mmbuilder*/;
   variable1 = ((mmloader___ToolContext___error_count_t)CALL( variable0 /*tc*/,COLOR_mmloader___ToolContext___error_count))( variable0 /*tc*/) /*ToolContext::error_count*/;
index a622017..426820d 100644 (file)
@@ -1,13 +1,13 @@
 /* This C header file is generated by NIT to compile modules and programs that requires syntax. */
-#ifndef syntax_2_sep
-#define syntax_2_sep
+#ifndef syntax_sep
+#define syntax_sep
 #include "mmbuilder._sep.h"
 #include "control_flow._sep.h"
 #include "typing._sep.h"
 #include <nit_common.h>
 
 extern const classtable_elt_t VFT_SrcModuleLoader[];
-#define LOCATE_syntax "./syntax//syntax.nit"
+extern const char *LOCATE_syntax;
 extern const int SFT_syntax[];
 #define ID_SrcModuleLoader SFT_syntax[0]
 #define COLOR_SrcModuleLoader SFT_syntax[1]
index c0a7eb1..bf301bf 100644 (file)
@@ -1,25 +1,28 @@
 /* This C file is generated by NIT to compile module syntax_base. */
 #include "syntax_base._sep.h"
 val_t syntax_base___MMSrcModule___node(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_syntax_base, 26, LOCATE_syntax_base___MMSrcModule___node};
+  struct trace_t trace = {NULL, NULL, 26, LOCATE_syntax_base___MMSrcModule___node};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_syntax_base;
   tracehead = trace.prev;
   return ATTR_syntax_base___MMSrcModule____node( self) /*MMSrcModule::_node*/;
 }
 val_t syntax_base___MMSrcModule___src_local_classes(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_syntax_base, 29, LOCATE_syntax_base___MMSrcModule___src_local_classes};
+  struct trace_t trace = {NULL, NULL, 29, LOCATE_syntax_base___MMSrcModule___src_local_classes};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_syntax_base;
   tracehead = trace.prev;
   return ATTR_syntax_base___MMSrcModule____src_local_classes( self) /*MMSrcModule::_src_local_classes*/;
 }
 void syntax_base___MMSrcModule___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_syntax_base, 32, LOCATE_syntax_base___MMSrcModule___init};
+  struct trace_t trace = {NULL, NULL, 32, LOCATE_syntax_base___MMSrcModule___init};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   val_t variable3;
   val_t variable4;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_syntax_base;
   variable0 =  param0;
   variable1 =  param1;
   variable2 =  param2;
@@ -34,7 +37,7 @@ void syntax_base___MMSrcModule___init(val_t  self, val_t  param0, val_t  param1,
   return;
 }
 val_t syntax_base___MMGlobalClass___check_visibility(val_t  self, val_t  param0, val_t  param1, val_t  param2) {
-  struct trace_t trace = {NULL, LOCATE_syntax_base, 41, LOCATE_syntax_base___MMGlobalClass___check_visibility};
+  struct trace_t trace = {NULL, NULL, 41, LOCATE_syntax_base___MMGlobalClass___check_visibility};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -50,6 +53,7 @@ val_t syntax_base___MMGlobalClass___check_visibility(val_t  self, val_t  param0,
       val_t variable12;
       val_t variable13;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_syntax_base;
   variable0 =  param0;
   variable1 =  param1;
   variable2 =  param2;
@@ -113,37 +117,42 @@ val_t syntax_base___MMGlobalClass___check_visibility(val_t  self, val_t  param0,
   return variable3;
 }
 val_t syntax_base___MMSrcLocalClass___nodes(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_syntax_base, 62, LOCATE_syntax_base___MMSrcLocalClass___nodes};
+  struct trace_t trace = {NULL, NULL, 62, LOCATE_syntax_base___MMSrcLocalClass___nodes};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_syntax_base;
   tracehead = trace.prev;
   return ATTR_syntax_base___MMSrcLocalClass____nodes( self) /*MMSrcLocalClass::_nodes*/;
 }
 val_t syntax_base___MMSrcLocalClass___formal_dict(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_syntax_base, 65, LOCATE_syntax_base___MMSrcLocalClass___formal_dict};
+  struct trace_t trace = {NULL, NULL, 65, LOCATE_syntax_base___MMSrcLocalClass___formal_dict};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_syntax_base;
   tracehead = trace.prev;
   return ATTR_syntax_base___MMSrcLocalClass____formal_dict( self) /*MMSrcLocalClass::_formal_dict*/;
 }
 void syntax_base___MMSrcLocalClass___formal_dict__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_syntax_base, 65, LOCATE_syntax_base___MMSrcLocalClass___formal_dict__eq};
+  struct trace_t trace = {NULL, NULL, 65, LOCATE_syntax_base___MMSrcLocalClass___formal_dict__eq};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_syntax_base;
   ATTR_syntax_base___MMSrcLocalClass____formal_dict( self) /*MMSrcLocalClass::_formal_dict*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t syntax_base___MMSrcLocalClass___src_local_properties(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_syntax_base, 68, LOCATE_syntax_base___MMSrcLocalClass___src_local_properties};
+  struct trace_t trace = {NULL, NULL, 68, LOCATE_syntax_base___MMSrcLocalClass___src_local_properties};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_syntax_base;
   tracehead = trace.prev;
   return ATTR_syntax_base___MMSrcLocalClass____src_local_properties( self) /*MMSrcLocalClass::_src_local_properties*/;
 }
 void syntax_base___MMSrcLocalClass___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_syntax_base, 71, LOCATE_syntax_base___MMSrcLocalClass___init};
+  struct trace_t trace = {NULL, NULL, 71, LOCATE_syntax_base___MMSrcLocalClass___init};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   val_t variable3;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_syntax_base;
   variable0 =  param0;
   variable1 =  param1;
   variable2 =  param2;
@@ -159,7 +168,7 @@ void syntax_base___MMSrcLocalClass___init(val_t  self, val_t  param0, val_t  par
   return;
 }
 val_t syntax_base___MMGlobalProperty___check_visibility(val_t  self, val_t  param0, val_t  param1, val_t  param2, val_t  param3) {
-  struct trace_t trace = {NULL, LOCATE_syntax_base, 80, LOCATE_syntax_base___MMGlobalProperty___check_visibility};
+  struct trace_t trace = {NULL, NULL, 80, LOCATE_syntax_base___MMGlobalProperty___check_visibility};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -176,6 +185,7 @@ val_t syntax_base___MMGlobalProperty___check_visibility(val_t  self, val_t  para
       val_t variable13;
       val_t variable14;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_syntax_base;
   variable0 =  param0;
   variable1 =  param1;
   variable2 =  param2;
@@ -263,9 +273,10 @@ val_t syntax_base___MMGlobalProperty___check_visibility(val_t  self, val_t  para
   return variable4;
 }
 val_t syntax_base___MMLocalProperty___node(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_syntax_base, 103, LOCATE_syntax_base___MMLocalProperty___node};
+  struct trace_t trace = {NULL, NULL, 103, LOCATE_syntax_base___MMLocalProperty___node};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_syntax_base;
   variable0 =  NIT_NULL /*null*/;
   goto return_label4;
   return_label4: while(false);
@@ -273,17 +284,19 @@ val_t syntax_base___MMLocalProperty___node(val_t  self) {
   return variable0;
 }
 val_t syntax_base___MMSrcAttribute___node(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_syntax_base, 111, LOCATE_syntax_base___MMSrcAttribute___node};
+  struct trace_t trace = {NULL, NULL, 111, LOCATE_syntax_base___MMSrcAttribute___node};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_syntax_base;
   tracehead = trace.prev;
   return ATTR_syntax_base___MMSrcAttribute____node( self) /*MMSrcAttribute::_node*/;
 }
 void syntax_base___MMSrcAttribute___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_syntax_base, 112, LOCATE_syntax_base___MMSrcAttribute___init};
+  struct trace_t trace = {NULL, NULL, 112, LOCATE_syntax_base___MMSrcAttribute___init};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_syntax_base;
   variable0 =  param0;
   variable1 =  param1;
   variable2 =  param2;
@@ -295,17 +308,19 @@ void syntax_base___MMSrcAttribute___init(val_t  self, val_t  param0, val_t  para
   return;
 }
 val_t syntax_base___MMAttrImplementationMethod___node(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_syntax_base, 128, LOCATE_syntax_base___MMAttrImplementationMethod___node};
+  struct trace_t trace = {NULL, NULL, 128, LOCATE_syntax_base___MMAttrImplementationMethod___node};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_syntax_base;
   tracehead = trace.prev;
   return ATTR_syntax_base___MMAttrImplementationMethod____node( self) /*MMAttrImplementationMethod::_node*/;
 }
 void syntax_base___MMReadImplementationMethod___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_syntax_base, 135, LOCATE_syntax_base___MMReadImplementationMethod___init};
+  struct trace_t trace = {NULL, NULL, 135, LOCATE_syntax_base___MMReadImplementationMethod___init};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_syntax_base;
   variable0 =  param0;
   variable1 =  param1;
   variable2 =  param2;
@@ -317,11 +332,12 @@ void syntax_base___MMReadImplementationMethod___init(val_t  self, val_t  param0,
   return;
 }
 void syntax_base___MMWriteImplementationMethod___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_syntax_base, 146, LOCATE_syntax_base___MMWriteImplementationMethod___init};
+  struct trace_t trace = {NULL, NULL, 146, LOCATE_syntax_base___MMWriteImplementationMethod___init};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_syntax_base;
   variable0 =  param0;
   variable1 =  param1;
   variable2 =  param2;
@@ -333,17 +349,19 @@ void syntax_base___MMWriteImplementationMethod___init(val_t  self, val_t  param0
   return;
 }
 val_t syntax_base___MMMethSrcMethod___node(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_syntax_base, 156, LOCATE_syntax_base___MMMethSrcMethod___node};
+  struct trace_t trace = {NULL, NULL, 156, LOCATE_syntax_base___MMMethSrcMethod___node};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_syntax_base;
   tracehead = trace.prev;
   return ATTR_syntax_base___MMMethSrcMethod____node( self) /*MMMethSrcMethod::_node*/;
 }
 void syntax_base___MMMethSrcMethod___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_syntax_base, 157, LOCATE_syntax_base___MMMethSrcMethod___init};
+  struct trace_t trace = {NULL, NULL, 157, LOCATE_syntax_base___MMMethSrcMethod___init};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_syntax_base;
   variable0 =  param0;
   variable1 =  param1;
   variable2 =  param2;
@@ -355,17 +373,19 @@ void syntax_base___MMMethSrcMethod___init(val_t  self, val_t  param0, val_t  par
   return;
 }
 val_t syntax_base___MMSrcTypeProperty___node(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_syntax_base, 168, LOCATE_syntax_base___MMSrcTypeProperty___node};
+  struct trace_t trace = {NULL, NULL, 168, LOCATE_syntax_base___MMSrcTypeProperty___node};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_syntax_base;
   tracehead = trace.prev;
   return ATTR_syntax_base___MMSrcTypeProperty____node( self) /*MMSrcTypeProperty::_node*/;
 }
 void syntax_base___MMSrcTypeProperty___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_syntax_base, 169, LOCATE_syntax_base___MMSrcTypeProperty___init};
+  struct trace_t trace = {NULL, NULL, 169, LOCATE_syntax_base___MMSrcTypeProperty___init};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_syntax_base;
   variable0 =  param0;
   variable1 =  param1;
   variable2 =  param2;
@@ -377,34 +397,39 @@ void syntax_base___MMSrcTypeProperty___init(val_t  self, val_t  param0, val_t  p
   return;
 }
 val_t syntax_base___Variable___name(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_syntax_base, 179, LOCATE_syntax_base___Variable___name};
+  struct trace_t trace = {NULL, NULL, 179, LOCATE_syntax_base___Variable___name};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_syntax_base;
   tracehead = trace.prev;
   return ATTR_syntax_base___Variable____name( self) /*Variable::_name*/;
 }
 val_t syntax_base___Variable___decl(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_syntax_base, 182, LOCATE_syntax_base___Variable___decl};
+  struct trace_t trace = {NULL, NULL, 182, LOCATE_syntax_base___Variable___decl};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_syntax_base;
   tracehead = trace.prev;
   return ATTR_syntax_base___Variable____decl( self) /*Variable::_decl*/;
 }
 val_t syntax_base___Variable___stype(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_syntax_base, 185, LOCATE_syntax_base___Variable___stype};
+  struct trace_t trace = {NULL, NULL, 185, LOCATE_syntax_base___Variable___stype};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_syntax_base;
   tracehead = trace.prev;
   return ATTR_syntax_base___Variable____stype( self) /*Variable::_stype*/;
 }
 void syntax_base___Variable___stype__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_syntax_base, 185, LOCATE_syntax_base___Variable___stype__eq};
+  struct trace_t trace = {NULL, NULL, 185, LOCATE_syntax_base___Variable___stype__eq};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_syntax_base;
   ATTR_syntax_base___Variable____stype( self) /*Variable::_stype*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t syntax_base___Variable___to_s(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_syntax_base, 188, LOCATE_syntax_base___Variable___to_s};
+  struct trace_t trace = {NULL, NULL, 188, LOCATE_syntax_base___Variable___to_s};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_syntax_base;
   variable0 = ATTR_syntax_base___Variable____name( self) /*Variable::_name*/;
   variable0 = ((symbol___Symbol___to_s_t)CALL(variable0,COLOR_string___Object___to_s))(variable0) /*Symbol::to_s*/;
   goto return_label10;
@@ -413,11 +438,12 @@ val_t syntax_base___Variable___to_s(val_t  self) {
   return variable0;
 }
 void syntax_base___Variable___init(val_t  self, val_t  param0, val_t  param1, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_syntax_base, 190, LOCATE_syntax_base___Variable___init};
+  struct trace_t trace = {NULL, NULL, 190, LOCATE_syntax_base___Variable___init};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_syntax_base;
   variable0 =  param0;
   variable1 =  param1;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_Variable].i]) return;
@@ -432,11 +458,12 @@ void syntax_base___Variable___init(val_t  self, val_t  param0, val_t  param1, in
   return;
 }
 val_t syntax_base___AbsSyntaxVisitor___type_bool(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_syntax_base, 204, LOCATE_syntax_base___AbsSyntaxVisitor___type_bool};
+  struct trace_t trace = {NULL, NULL, 204, LOCATE_syntax_base___AbsSyntaxVisitor___type_bool};
   val_t variable0;
   val_t variable1;
   static val_t once_value_variable1_13; static int once_bool_variable1_13;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_syntax_base;
   variable0 = ATTR_syntax_base___AbsSyntaxVisitor____module( self) /*AbsSyntaxVisitor::_module*/;
   if (once_bool_variable1_13) variable1 = once_value_variable1_13;
   else {
@@ -453,11 +480,12 @@ val_t syntax_base___AbsSyntaxVisitor___type_bool(val_t  self) {
   return variable0;
 }
 val_t syntax_base___AbsSyntaxVisitor___type_int(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_syntax_base, 210, LOCATE_syntax_base___AbsSyntaxVisitor___type_int};
+  struct trace_t trace = {NULL, NULL, 210, LOCATE_syntax_base___AbsSyntaxVisitor___type_int};
   val_t variable0;
   val_t variable1;
   static val_t once_value_variable1_15; static int once_bool_variable1_15;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_syntax_base;
   variable0 = ATTR_syntax_base___AbsSyntaxVisitor____module( self) /*AbsSyntaxVisitor::_module*/;
   if (once_bool_variable1_15) variable1 = once_value_variable1_15;
   else {
@@ -474,11 +502,12 @@ val_t syntax_base___AbsSyntaxVisitor___type_int(val_t  self) {
   return variable0;
 }
 val_t syntax_base___AbsSyntaxVisitor___type_float(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_syntax_base, 216, LOCATE_syntax_base___AbsSyntaxVisitor___type_float};
+  struct trace_t trace = {NULL, NULL, 216, LOCATE_syntax_base___AbsSyntaxVisitor___type_float};
   val_t variable0;
   val_t variable1;
   static val_t once_value_variable1_17; static int once_bool_variable1_17;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_syntax_base;
   variable0 = ATTR_syntax_base___AbsSyntaxVisitor____module( self) /*AbsSyntaxVisitor::_module*/;
   if (once_bool_variable1_17) variable1 = once_value_variable1_17;
   else {
@@ -495,11 +524,12 @@ val_t syntax_base___AbsSyntaxVisitor___type_float(val_t  self) {
   return variable0;
 }
 val_t syntax_base___AbsSyntaxVisitor___type_char(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_syntax_base, 222, LOCATE_syntax_base___AbsSyntaxVisitor___type_char};
+  struct trace_t trace = {NULL, NULL, 222, LOCATE_syntax_base___AbsSyntaxVisitor___type_char};
   val_t variable0;
   val_t variable1;
   static val_t once_value_variable1_19; static int once_bool_variable1_19;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_syntax_base;
   variable0 = ATTR_syntax_base___AbsSyntaxVisitor____module( self) /*AbsSyntaxVisitor::_module*/;
   if (once_bool_variable1_19) variable1 = once_value_variable1_19;
   else {
@@ -516,11 +546,12 @@ val_t syntax_base___AbsSyntaxVisitor___type_char(val_t  self) {
   return variable0;
 }
 val_t syntax_base___AbsSyntaxVisitor___type_string(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_syntax_base, 228, LOCATE_syntax_base___AbsSyntaxVisitor___type_string};
+  struct trace_t trace = {NULL, NULL, 228, LOCATE_syntax_base___AbsSyntaxVisitor___type_string};
   val_t variable0;
   val_t variable1;
   static val_t once_value_variable1_21; static int once_bool_variable1_21;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_syntax_base;
   variable0 = ATTR_syntax_base___AbsSyntaxVisitor____module( self) /*AbsSyntaxVisitor::_module*/;
   if (once_bool_variable1_21) variable1 = once_value_variable1_21;
   else {
@@ -537,11 +568,12 @@ val_t syntax_base___AbsSyntaxVisitor___type_string(val_t  self) {
   return variable0;
 }
 val_t syntax_base___AbsSyntaxVisitor___type_collection(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_syntax_base, 234, LOCATE_syntax_base___AbsSyntaxVisitor___type_collection};
+  struct trace_t trace = {NULL, NULL, 234, LOCATE_syntax_base___AbsSyntaxVisitor___type_collection};
   val_t variable0;
   val_t variable1;
   static val_t once_value_variable1_23; static int once_bool_variable1_23;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_syntax_base;
   variable0 = ATTR_syntax_base___AbsSyntaxVisitor____module( self) /*AbsSyntaxVisitor::_module*/;
   if (once_bool_variable1_23) variable1 = once_value_variable1_23;
   else {
@@ -558,12 +590,13 @@ val_t syntax_base___AbsSyntaxVisitor___type_collection(val_t  self) {
   return variable0;
 }
 val_t syntax_base___AbsSyntaxVisitor___type_array(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_syntax_base, 240, LOCATE_syntax_base___AbsSyntaxVisitor___type_array};
+  struct trace_t trace = {NULL, NULL, 240, LOCATE_syntax_base___AbsSyntaxVisitor___type_array};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   static val_t once_value_variable2_25; static int once_bool_variable2_25;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_syntax_base;
   variable0 =  param0;
   variable1 = ATTR_syntax_base___AbsSyntaxVisitor____module( self) /*AbsSyntaxVisitor::_module*/;
   if (once_bool_variable2_25) variable2 = once_value_variable2_25;
@@ -583,11 +616,12 @@ val_t syntax_base___AbsSyntaxVisitor___type_array(val_t  self, val_t  param0) {
   return variable1;
 }
 val_t syntax_base___AbsSyntaxVisitor___type_discrete(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_syntax_base, 246, LOCATE_syntax_base___AbsSyntaxVisitor___type_discrete};
+  struct trace_t trace = {NULL, NULL, 246, LOCATE_syntax_base___AbsSyntaxVisitor___type_discrete};
   val_t variable0;
   val_t variable1;
   static val_t once_value_variable1_27; static int once_bool_variable1_27;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_syntax_base;
   variable0 = ATTR_syntax_base___AbsSyntaxVisitor____module( self) /*AbsSyntaxVisitor::_module*/;
   if (once_bool_variable1_27) variable1 = once_value_variable1_27;
   else {
@@ -604,12 +638,13 @@ val_t syntax_base___AbsSyntaxVisitor___type_discrete(val_t  self) {
   return variable0;
 }
 val_t syntax_base___AbsSyntaxVisitor___type_range(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_syntax_base, 252, LOCATE_syntax_base___AbsSyntaxVisitor___type_range};
+  struct trace_t trace = {NULL, NULL, 252, LOCATE_syntax_base___AbsSyntaxVisitor___type_range};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   static val_t once_value_variable2_29; static int once_bool_variable2_29;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_syntax_base;
   variable0 =  param0;
   variable1 = ATTR_syntax_base___AbsSyntaxVisitor____module( self) /*AbsSyntaxVisitor::_module*/;
   if (once_bool_variable2_29) variable2 = once_value_variable2_29;
@@ -629,9 +664,10 @@ val_t syntax_base___AbsSyntaxVisitor___type_range(val_t  self, val_t  param0) {
   return variable1;
 }
 val_t syntax_base___AbsSyntaxVisitor___type_none(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_syntax_base, 258, LOCATE_syntax_base___AbsSyntaxVisitor___type_none};
+  struct trace_t trace = {NULL, NULL, 258, LOCATE_syntax_base___AbsSyntaxVisitor___type_none};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_syntax_base;
   variable0 = ATTR_syntax_base___AbsSyntaxVisitor____module( self) /*AbsSyntaxVisitor::_module*/;
   variable0 = ((static_type___MMModule___type_none_t)CALL(variable0,COLOR_static_type___MMModule___type_none))(variable0) /*MMModule::type_none*/;
   goto return_label30;
@@ -640,52 +676,59 @@ val_t syntax_base___AbsSyntaxVisitor___type_none(val_t  self) {
   return variable0;
 }
 val_t syntax_base___AbsSyntaxVisitor___module(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_syntax_base, 264, LOCATE_syntax_base___AbsSyntaxVisitor___module};
+  struct trace_t trace = {NULL, NULL, 264, LOCATE_syntax_base___AbsSyntaxVisitor___module};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_syntax_base;
   tracehead = trace.prev;
   return ATTR_syntax_base___AbsSyntaxVisitor____module( self) /*AbsSyntaxVisitor::_module*/;
 }
 void syntax_base___AbsSyntaxVisitor___module__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_syntax_base, 264, LOCATE_syntax_base___AbsSyntaxVisitor___module__eq};
+  struct trace_t trace = {NULL, NULL, 264, LOCATE_syntax_base___AbsSyntaxVisitor___module__eq};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_syntax_base;
   ATTR_syntax_base___AbsSyntaxVisitor____module( self) /*AbsSyntaxVisitor::_module*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t syntax_base___AbsSyntaxVisitor___local_class(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_syntax_base, 267, LOCATE_syntax_base___AbsSyntaxVisitor___local_class};
+  struct trace_t trace = {NULL, NULL, 267, LOCATE_syntax_base___AbsSyntaxVisitor___local_class};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_syntax_base;
   tracehead = trace.prev;
   return ATTR_syntax_base___AbsSyntaxVisitor____local_class( self) /*AbsSyntaxVisitor::_local_class*/;
 }
 void syntax_base___AbsSyntaxVisitor___local_class__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_syntax_base, 267, LOCATE_syntax_base___AbsSyntaxVisitor___local_class__eq};
+  struct trace_t trace = {NULL, NULL, 267, LOCATE_syntax_base___AbsSyntaxVisitor___local_class__eq};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_syntax_base;
   ATTR_syntax_base___AbsSyntaxVisitor____local_class( self) /*AbsSyntaxVisitor::_local_class*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t syntax_base___AbsSyntaxVisitor___local_property(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_syntax_base, 270, LOCATE_syntax_base___AbsSyntaxVisitor___local_property};
+  struct trace_t trace = {NULL, NULL, 270, LOCATE_syntax_base___AbsSyntaxVisitor___local_property};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_syntax_base;
   tracehead = trace.prev;
   return ATTR_syntax_base___AbsSyntaxVisitor____local_property( self) /*AbsSyntaxVisitor::_local_property*/;
 }
 void syntax_base___AbsSyntaxVisitor___local_property__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_syntax_base, 270, LOCATE_syntax_base___AbsSyntaxVisitor___local_property__eq};
+  struct trace_t trace = {NULL, NULL, 270, LOCATE_syntax_base___AbsSyntaxVisitor___local_property__eq};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_syntax_base;
   ATTR_syntax_base___AbsSyntaxVisitor____local_property( self) /*AbsSyntaxVisitor::_local_property*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t syntax_base___AbsSyntaxVisitor___tc(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_syntax_base, 273, LOCATE_syntax_base___AbsSyntaxVisitor___tc};
+  struct trace_t trace = {NULL, NULL, 273, LOCATE_syntax_base___AbsSyntaxVisitor___tc};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_syntax_base;
   tracehead = trace.prev;
   return ATTR_syntax_base___AbsSyntaxVisitor____tc( self) /*AbsSyntaxVisitor::_tc*/;
 }
 void syntax_base___AbsSyntaxVisitor___error(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_syntax_base, 276, LOCATE_syntax_base___AbsSyntaxVisitor___error};
+  struct trace_t trace = {NULL, NULL, 276, LOCATE_syntax_base___AbsSyntaxVisitor___error};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -700,6 +743,7 @@ void syntax_base___AbsSyntaxVisitor___error(val_t  self, val_t  param0, val_t  p
   val_t variable11;
   val_t variable12;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_syntax_base;
   variable0 =  param0;
   variable1 =  param1;
   variable2 = ATTR_syntax_base___AbsSyntaxVisitor____tc( self) /*AbsSyntaxVisitor::_tc*/;
@@ -723,7 +767,7 @@ void syntax_base___AbsSyntaxVisitor___error(val_t  self, val_t  param0, val_t  p
   return;
 }
 void syntax_base___AbsSyntaxVisitor___warning(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_syntax_base, 282, LOCATE_syntax_base___AbsSyntaxVisitor___warning};
+  struct trace_t trace = {NULL, NULL, 282, LOCATE_syntax_base___AbsSyntaxVisitor___warning};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -738,6 +782,7 @@ void syntax_base___AbsSyntaxVisitor___warning(val_t  self, val_t  param0, val_t
   val_t variable11;
   val_t variable12;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_syntax_base;
   variable0 =  param0;
   variable1 =  param1;
   variable2 = ATTR_syntax_base___AbsSyntaxVisitor____tc( self) /*AbsSyntaxVisitor::_tc*/;
@@ -761,7 +806,7 @@ void syntax_base___AbsSyntaxVisitor___warning(val_t  self, val_t  param0, val_t
   return;
 }
 val_t syntax_base___AbsSyntaxVisitor___check_conform(val_t  self, val_t  param0, val_t  param1, val_t  param2) {
-  struct trace_t trace = {NULL, LOCATE_syntax_base, 288, LOCATE_syntax_base___AbsSyntaxVisitor___check_conform};
+  struct trace_t trace = {NULL, NULL, 288, LOCATE_syntax_base___AbsSyntaxVisitor___check_conform};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -775,6 +820,7 @@ val_t syntax_base___AbsSyntaxVisitor___check_conform(val_t  self, val_t  param0,
   val_t variable10;
   val_t variable11;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_syntax_base;
   variable0 =  param0;
   variable1 =  param1;
   variable2 =  param2;
@@ -817,10 +863,11 @@ val_t syntax_base___AbsSyntaxVisitor___check_conform(val_t  self, val_t  param0,
   return variable3;
 }
 void syntax_base___AbsSyntaxVisitor___init(val_t  self, val_t  param0, val_t  param1, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_syntax_base, 304, LOCATE_syntax_base___AbsSyntaxVisitor___init};
+  struct trace_t trace = {NULL, NULL, 304, LOCATE_syntax_base___AbsSyntaxVisitor___init};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_syntax_base;
   variable0 =  param0;
   variable1 =  param1;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AbsSyntaxVisitor].i]) return;
@@ -831,19 +878,21 @@ void syntax_base___AbsSyntaxVisitor___init(val_t  self, val_t  param0, val_t  pa
   return;
 }
 void syntax_base___PNode___accept_abs_syntax_visitor(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_syntax_base, 314, LOCATE_syntax_base___PNode___accept_abs_syntax_visitor};
+  struct trace_t trace = {NULL, NULL, 314, LOCATE_syntax_base___PNode___accept_abs_syntax_visitor};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_syntax_base;
   variable0 =  param0;
   ((parser_prod___PNode___visit_all_t)CALL( self,COLOR_parser_prod___PNode___visit_all))( self,  variable0 /*v*/) /*PNode::visit_all*/;
   tracehead = trace.prev;
   return;
 }
 val_t syntax_base___Token___to_symbol(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_syntax_base, 320, LOCATE_syntax_base___Token___to_symbol};
+  struct trace_t trace = {NULL, NULL, 320, LOCATE_syntax_base___Token___to_symbol};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_syntax_base;
   variable1 = ATTR_syntax_base___Token____symbol( self) /*Token::_symbol*/;
   variable0 = variable1;
   variable1 = TAG_Bool(( variable0 /*s*/ ==  NIT_NULL /*null*/) || (( variable0 /*s*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*s*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*s*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*s*/,COLOR_kernel___Object_____eqeq))( variable0 /*s*/,  NIT_NULL /*null*/) /*Object::==*/)))));
@@ -860,8 +909,9 @@ val_t syntax_base___Token___to_symbol(val_t  self) {
   return variable0;
 }
 val_t syntax_base___PClassdef___local_class(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_syntax_base, 334, LOCATE_syntax_base___PClassdef___local_class};
+  struct trace_t trace = {NULL, NULL, 334, LOCATE_syntax_base___PClassdef___local_class};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_syntax_base;
   fprintf(stderr, "Deferred method %s called");
   fprintf(stderr, " in %s (%s:%d)\n", LOCATE_syntax_base___Token___to_symbol, LOCATE_syntax_base, 334);
   nit_exit(1);
@@ -869,8 +919,9 @@ val_t syntax_base___PClassdef___local_class(val_t  self) {
   return NIT_NULL;
 }
 val_t syntax_base___AAttrPropdef___prop(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_syntax_base, 339, LOCATE_syntax_base___AAttrPropdef___prop};
+  struct trace_t trace = {NULL, NULL, 339, LOCATE_syntax_base___AAttrPropdef___prop};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_syntax_base;
   fprintf(stderr, "Deferred method %s called");
   fprintf(stderr, " in %s (%s:%d)\n", LOCATE_syntax_base___Token___to_symbol, LOCATE_syntax_base, 339);
   nit_exit(1);
@@ -878,8 +929,9 @@ val_t syntax_base___AAttrPropdef___prop(val_t  self) {
   return NIT_NULL;
 }
 val_t syntax_base___AAttrPropdef___readmethod(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_syntax_base, 342, LOCATE_syntax_base___AAttrPropdef___readmethod};
+  struct trace_t trace = {NULL, NULL, 342, LOCATE_syntax_base___AAttrPropdef___readmethod};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_syntax_base;
   fprintf(stderr, "Deferred method %s called");
   fprintf(stderr, " in %s (%s:%d)\n", LOCATE_syntax_base___Token___to_symbol, LOCATE_syntax_base, 342);
   nit_exit(1);
@@ -887,8 +939,9 @@ val_t syntax_base___AAttrPropdef___readmethod(val_t  self) {
   return NIT_NULL;
 }
 val_t syntax_base___AAttrPropdef___writemethod(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_syntax_base, 345, LOCATE_syntax_base___AAttrPropdef___writemethod};
+  struct trace_t trace = {NULL, NULL, 345, LOCATE_syntax_base___AAttrPropdef___writemethod};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_syntax_base;
   fprintf(stderr, "Deferred method %s called");
   fprintf(stderr, " in %s (%s:%d)\n", LOCATE_syntax_base___Token___to_symbol, LOCATE_syntax_base, 345);
   nit_exit(1);
@@ -896,8 +949,9 @@ val_t syntax_base___AAttrPropdef___writemethod(val_t  self) {
   return NIT_NULL;
 }
 val_t syntax_base___AMethPropdef___method(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_syntax_base, 350, LOCATE_syntax_base___AMethPropdef___method};
+  struct trace_t trace = {NULL, NULL, 350, LOCATE_syntax_base___AMethPropdef___method};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_syntax_base;
   fprintf(stderr, "Deferred method %s called");
   fprintf(stderr, " in %s (%s:%d)\n", LOCATE_syntax_base___Token___to_symbol, LOCATE_syntax_base, 350);
   nit_exit(1);
@@ -905,8 +959,9 @@ val_t syntax_base___AMethPropdef___method(val_t  self) {
   return NIT_NULL;
 }
 val_t syntax_base___ATypePropdef___prop(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_syntax_base, 355, LOCATE_syntax_base___ATypePropdef___prop};
+  struct trace_t trace = {NULL, NULL, 355, LOCATE_syntax_base___ATypePropdef___prop};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_syntax_base;
   fprintf(stderr, "Deferred method %s called");
   fprintf(stderr, " in %s (%s:%d)\n", LOCATE_syntax_base___Token___to_symbol, LOCATE_syntax_base, 355);
   nit_exit(1);
@@ -914,8 +969,9 @@ val_t syntax_base___ATypePropdef___prop(val_t  self) {
   return NIT_NULL;
 }
 val_t syntax_base___PParam___position(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_syntax_base, 360, LOCATE_syntax_base___PParam___position};
+  struct trace_t trace = {NULL, NULL, 360, LOCATE_syntax_base___PParam___position};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_syntax_base;
   fprintf(stderr, "Deferred method %s called");
   fprintf(stderr, " in %s (%s:%d)\n", LOCATE_syntax_base___Token___to_symbol, LOCATE_syntax_base, 360);
   nit_exit(1);
@@ -923,8 +979,9 @@ val_t syntax_base___PParam___position(val_t  self) {
   return NIT_NULL;
 }
 val_t syntax_base___PParam___variable(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_syntax_base, 363, LOCATE_syntax_base___PParam___variable};
+  struct trace_t trace = {NULL, NULL, 363, LOCATE_syntax_base___PParam___variable};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_syntax_base;
   fprintf(stderr, "Deferred method %s called");
   fprintf(stderr, " in %s (%s:%d)\n", LOCATE_syntax_base___Token___to_symbol, LOCATE_syntax_base, 363);
   nit_exit(1);
@@ -932,8 +989,9 @@ val_t syntax_base___PParam___variable(val_t  self) {
   return NIT_NULL;
 }
 val_t syntax_base___PType___get_local_class(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_syntax_base, 368, LOCATE_syntax_base___PType___get_local_class};
+  struct trace_t trace = {NULL, NULL, 368, LOCATE_syntax_base___PType___get_local_class};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_syntax_base;
   fprintf(stderr, "Deferred method %s called");
   fprintf(stderr, " in %s (%s:%d)\n", LOCATE_syntax_base___Token___to_symbol, LOCATE_syntax_base, 368);
   nit_exit(1);
@@ -941,8 +999,9 @@ val_t syntax_base___PType___get_local_class(val_t  self, val_t  param0) {
   return NIT_NULL;
 }
 val_t syntax_base___PType___get_stype(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_syntax_base, 373, LOCATE_syntax_base___PType___get_stype};
+  struct trace_t trace = {NULL, NULL, 373, LOCATE_syntax_base___PType___get_stype};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_syntax_base;
   fprintf(stderr, "Deferred method %s called");
   fprintf(stderr, " in %s (%s:%d)\n", LOCATE_syntax_base___Token___to_symbol, LOCATE_syntax_base, 373);
   nit_exit(1);
@@ -950,8 +1009,9 @@ val_t syntax_base___PType___get_stype(val_t  self, val_t  param0) {
   return NIT_NULL;
 }
 val_t syntax_base___PType___get_unchecked_stype(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_syntax_base, 377, LOCATE_syntax_base___PType___get_unchecked_stype};
+  struct trace_t trace = {NULL, NULL, 377, LOCATE_syntax_base___PType___get_unchecked_stype};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_syntax_base;
   fprintf(stderr, "Deferred method %s called");
   fprintf(stderr, " in %s (%s:%d)\n", LOCATE_syntax_base___Token___to_symbol, LOCATE_syntax_base, 377);
   nit_exit(1);
@@ -959,8 +1019,9 @@ val_t syntax_base___PType___get_unchecked_stype(val_t  self, val_t  param0) {
   return NIT_NULL;
 }
 void syntax_base___PType___check_conform(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_syntax_base, 383, LOCATE_syntax_base___PType___check_conform};
+  struct trace_t trace = {NULL, NULL, 383, LOCATE_syntax_base___PType___check_conform};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_syntax_base;
   fprintf(stderr, "Deferred method %s called");
   fprintf(stderr, " in %s (%s:%d)\n", LOCATE_syntax_base___Token___to_symbol, LOCATE_syntax_base, 383);
   nit_exit(1);
@@ -968,7 +1029,7 @@ void syntax_base___PType___check_conform(val_t  self, val_t  param0) {
   return;
 }
 val_t syntax_base___AType___get_local_class(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_syntax_base, 393, LOCATE_syntax_base___AType___get_local_class};
+  struct trace_t trace = {NULL, NULL, 393, LOCATE_syntax_base___AType___get_local_class};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -984,6 +1045,7 @@ val_t syntax_base___AType___get_local_class(val_t  self, val_t  param0) {
     val_t variable12;
     val_t variable13;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_syntax_base;
   variable0 =  param0;
   variable2 = ((parser_nodes___AType___n_id_t)CALL( self,COLOR_parser_nodes___AType___n_id))( self) /*AType::n_id*/;
   variable2 = ((syntax_base___Token___to_symbol_t)CALL(variable2,COLOR_syntax_base___Token___to_symbol))(variable2) /*Token::to_symbol*/;
@@ -1063,7 +1125,7 @@ val_t syntax_base___AType___get_local_class(val_t  self, val_t  param0) {
   return variable1;
 }
 val_t syntax_base___AType___get_unchecked_stype(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_syntax_base, 416, LOCATE_syntax_base___AType___get_unchecked_stype};
+  struct trace_t trace = {NULL, NULL, 416, LOCATE_syntax_base___AType___get_unchecked_stype};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -1084,6 +1146,7 @@ val_t syntax_base___AType___get_unchecked_stype(val_t  self, val_t  param0) {
     val_t variable17;
     val_t variable18;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_syntax_base;
   variable0 =  param0;
   variable1 = ATTR_syntax_base___AType____stype_cached( self) /*AType::_stype_cached*/;
   if (UNTAG_Bool(variable1)) { /*if*/
@@ -1251,11 +1314,12 @@ val_t syntax_base___AType___get_unchecked_stype(val_t  self, val_t  param0) {
   return variable1;
 }
 val_t syntax_base___AType___get_stype(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_syntax_base, 473, LOCATE_syntax_base___AType___get_stype};
+  struct trace_t trace = {NULL, NULL, 473, LOCATE_syntax_base___AType___get_stype};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_syntax_base;
   variable0 =  param0;
   variable2 = ((syntax_base___AType___get_unchecked_stype_t)CALL( self,COLOR_syntax_base___PType___get_unchecked_stype))( self,  variable0 /*v*/) /*AType::get_unchecked_stype*/;
   variable1 = variable2;
@@ -1270,7 +1334,7 @@ val_t syntax_base___AType___get_stype(val_t  self, val_t  param0) {
   return variable1;
 }
 void syntax_base___AType___check_conform(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_syntax_base, 480, LOCATE_syntax_base___AType___check_conform};
+  struct trace_t trace = {NULL, NULL, 480, LOCATE_syntax_base___AType___check_conform};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -1282,6 +1346,7 @@ void syntax_base___AType___check_conform(val_t  self, val_t  param0) {
       val_t variable8;
       val_t variable9;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_syntax_base;
   variable0 =  param0;
   variable2 = ((syntax_base___AType___get_unchecked_stype_t)CALL( self,COLOR_syntax_base___PType___get_unchecked_stype))( self,  variable0 /*v*/) /*AType::get_unchecked_stype*/;
   variable1 = variable2;
@@ -1327,8 +1392,9 @@ void syntax_base___AType___check_conform(val_t  self, val_t  param0) {
   return;
 }
 val_t syntax_base___PExpr___stype(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_syntax_base, 500, LOCATE_syntax_base___PExpr___stype};
+  struct trace_t trace = {NULL, NULL, 500, LOCATE_syntax_base___PExpr___stype};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_syntax_base;
   fprintf(stderr, "Deferred method %s called");
   fprintf(stderr, " in %s (%s:%d)\n", LOCATE_syntax_base___AType___check_conform, LOCATE_syntax_base, 500);
   nit_exit(1);
@@ -1336,40 +1402,46 @@ val_t syntax_base___PExpr___stype(val_t  self) {
   return NIT_NULL;
 }
 val_t syntax_base___AVardeclExpr___variable(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_syntax_base, 506, LOCATE_syntax_base___AVardeclExpr___variable};
+  struct trace_t trace = {NULL, NULL, 506, LOCATE_syntax_base___AVardeclExpr___variable};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_syntax_base;
   tracehead = trace.prev;
   return ATTR_syntax_base___AVardeclExpr____variable( self) /*AVardeclExpr::_variable*/;
 }
 void syntax_base___AVardeclExpr___variable__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_syntax_base, 506, LOCATE_syntax_base___AVardeclExpr___variable__eq};
+  struct trace_t trace = {NULL, NULL, 506, LOCATE_syntax_base___AVardeclExpr___variable__eq};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_syntax_base;
   ATTR_syntax_base___AVardeclExpr____variable( self) /*AVardeclExpr::_variable*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t syntax_base___AForVardeclExpr___variable(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_syntax_base, 511, LOCATE_syntax_base___AForVardeclExpr___variable};
+  struct trace_t trace = {NULL, NULL, 511, LOCATE_syntax_base___AForVardeclExpr___variable};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_syntax_base;
   tracehead = trace.prev;
   return ATTR_syntax_base___AForVardeclExpr____variable( self) /*AForVardeclExpr::_variable*/;
 }
 void syntax_base___AForVardeclExpr___variable__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_syntax_base, 511, LOCATE_syntax_base___AForVardeclExpr___variable__eq};
+  struct trace_t trace = {NULL, NULL, 511, LOCATE_syntax_base___AForVardeclExpr___variable__eq};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_syntax_base;
   ATTR_syntax_base___AForVardeclExpr____variable( self) /*AForVardeclExpr::_variable*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t syntax_base___AVarFormExpr___variable(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_syntax_base, 516, LOCATE_syntax_base___AVarFormExpr___variable};
+  struct trace_t trace = {NULL, NULL, 516, LOCATE_syntax_base___AVarFormExpr___variable};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_syntax_base;
   tracehead = trace.prev;
   return ATTR_syntax_base___AVarFormExpr____variable( self) /*AVarFormExpr::_variable*/;
 }
 void syntax_base___AVarFormExpr___variable__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_syntax_base, 516, LOCATE_syntax_base___AVarFormExpr___variable__eq};
+  struct trace_t trace = {NULL, NULL, 516, LOCATE_syntax_base___AVarFormExpr___variable__eq};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_syntax_base;
   ATTR_syntax_base___AVarFormExpr____variable( self) /*AVarFormExpr::_variable*/ =  param0;
   tracehead = trace.prev;
   return;
index 10cd15d..d36f2f6 100644 (file)
@@ -1,6 +1,6 @@
 /* This C header file is generated by NIT to compile modules and programs that requires syntax_base. */
-#ifndef syntax_base_2_sep
-#define syntax_base_2_sep
+#ifndef syntax_base_sep
+#define syntax_base_sep
 #include "parser._sep.h"
 #include "mmloader._sep.h"
 #include <nit_common.h>
@@ -26,7 +26,7 @@ extern const classtable_elt_t VFT_MMSrcTypeProperty[];
 extern const classtable_elt_t VFT_Variable[];
 
 extern const classtable_elt_t VFT_AbsSyntaxVisitor[];
-#define LOCATE_syntax_base "./syntax//syntax_base.nit"
+extern const char *LOCATE_syntax_base;
 extern const int SFT_syntax_base[];
 #define ID_MMSrcModule SFT_syntax_base[0]
 #define COLOR_MMSrcModule SFT_syntax_base[1]
index 0558ef9..0418e8b 100644 (file)
@@ -1,8 +1,9 @@
 /* This C file is generated by NIT to compile module time. */
 #include "time._sep.h"
 val_t time___Object___get_time(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_time, 18, LOCATE_time___Object___get_time};
+  struct trace_t trace = {NULL, NULL, 18, LOCATE_time___Object___get_time};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_time;
   tracehead = trace.prev;
   return TAG_Int(kernel_Any_Any_get_time_0( self));
 }
index bbf84a5..388c1c2 100644 (file)
@@ -1,10 +1,10 @@
 /* This C header file is generated by NIT to compile modules and programs that requires time. */
-#ifndef time_2_sep
-#define time_2_sep
+#ifndef time_sep
+#define time_sep
 #include "kernel._sep.h"
 #include <nit_common.h>
 #include <time_nit.h>
-#define LOCATE_time "./../lib/standard//time.nit"
+extern const char *LOCATE_time;
 extern const int SFT_time[];
 #define COLOR_time___Object___get_time SFT_time[0]
 typedef val_t (* time___Object___get_time_t)(val_t  self);
index ff4f209..e05af2f 100644 (file)
@@ -1,9 +1,10 @@
 /* This C file is generated by NIT to compile module type_formal. */
 #include "type_formal._sep.h"
 val_t type_formal___MMType___direct_type(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_type_formal, 24, LOCATE_type_formal___MMType___direct_type};
+  struct trace_t trace = {NULL, NULL, 24, LOCATE_type_formal___MMType___direct_type};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_type_formal;
   variable0 =  self;
   goto return_label0;
   return_label0: while(false);
@@ -11,24 +12,27 @@ val_t type_formal___MMType___direct_type(val_t  self) {
   return variable0;
 }
 val_t type_formal___MMTypeFormal___name(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_type_formal, 31, LOCATE_type_formal___MMTypeFormal___name};
+  struct trace_t trace = {NULL, NULL, 31, LOCATE_type_formal___MMTypeFormal___name};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_type_formal;
   tracehead = trace.prev;
   return ATTR_type_formal___MMTypeFormal____name( self) /*MMTypeFormal::_name*/;
 }
 val_t type_formal___MMTypeFormal___bound(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_type_formal, 34, LOCATE_type_formal___MMTypeFormal___bound};
+  struct trace_t trace = {NULL, NULL, 34, LOCATE_type_formal___MMTypeFormal___bound};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_type_formal;
   tracehead = trace.prev;
   return ATTR_type_formal___MMTypeFormal____bound( self) /*MMTypeFormal::_bound*/;
 }
 val_t type_formal___MMTypeFormal_____l(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_type_formal, 37, LOCATE_type_formal___MMTypeFormal_____l};
+  struct trace_t trace = {NULL, NULL, 37, LOCATE_type_formal___MMTypeFormal_____l};
   val_t variable0;
   val_t variable1;
   val_t variable2;
     val_t variable3;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_type_formal;
   variable0 =  param0;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*t*/ ==  NIT_NULL /*null*/) || (( variable0 /*t*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*t*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*t*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*t*/,COLOR_kernel___Object_____eqeq))( variable0 /*t*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   variable2 = variable1;
@@ -48,10 +52,11 @@ val_t type_formal___MMTypeFormal_____l(val_t  self, val_t  param0) {
   return variable1;
 }
 val_t type_formal___MMTypeFormal___is_supertype(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_type_formal, 38, LOCATE_type_formal___MMTypeFormal___is_supertype};
+  struct trace_t trace = {NULL, NULL, 38, LOCATE_type_formal___MMTypeFormal___is_supertype};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_type_formal;
   variable0 =  param0;
   variable1 = ATTR_type_formal___MMTypeFormal____bound( self) /*MMTypeFormal::_bound*/;
   variable1 = ((static_type___MMType___is_supertype_t)CALL(variable1,COLOR_static_type___MMType___is_supertype))(variable1,  variable0 /*t*/) /*MMType::is_supertype*/;
@@ -61,9 +66,10 @@ val_t type_formal___MMTypeFormal___is_supertype(val_t  self, val_t  param0) {
   return variable1;
 }
 val_t type_formal___MMTypeFormal___direct_type(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_type_formal, 39, LOCATE_type_formal___MMTypeFormal___direct_type};
+  struct trace_t trace = {NULL, NULL, 39, LOCATE_type_formal___MMTypeFormal___direct_type};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_type_formal;
   variable0 = ATTR_type_formal___MMTypeFormal____bound( self) /*MMTypeFormal::_bound*/;
   variable0 = ((type_formal___MMType___direct_type_t)CALL(variable0,COLOR_type_formal___MMType___direct_type))(variable0) /*MMType::direct_type*/;
   goto return_label3;
@@ -72,9 +78,10 @@ val_t type_formal___MMTypeFormal___direct_type(val_t  self) {
   return variable0;
 }
 val_t type_formal___MMTypeFormal___local_class(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_type_formal, 40, LOCATE_type_formal___MMTypeFormal___local_class};
+  struct trace_t trace = {NULL, NULL, 40, LOCATE_type_formal___MMTypeFormal___local_class};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_type_formal;
   variable0 = ATTR_type_formal___MMTypeFormal____bound( self) /*MMTypeFormal::_bound*/;
   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::==*/)))));
   if (UNTAG_Bool(variable0)) { /*if*/
@@ -89,9 +96,10 @@ val_t type_formal___MMTypeFormal___local_class(val_t  self) {
   return variable0;
 }
 val_t type_formal___MMTypeFormal___to_s(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_type_formal, 46, LOCATE_type_formal___MMTypeFormal___to_s};
+  struct trace_t trace = {NULL, NULL, 46, LOCATE_type_formal___MMTypeFormal___to_s};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_type_formal;
   variable0 = ATTR_type_formal___MMTypeFormal____name( self) /*MMTypeFormal::_name*/;
   variable0 = ((symbol___Symbol___to_s_t)CALL(variable0,COLOR_string___Object___to_s))(variable0) /*Symbol::to_s*/;
   goto return_label5;
@@ -100,10 +108,11 @@ val_t type_formal___MMTypeFormal___to_s(val_t  self) {
   return variable0;
 }
 void type_formal___MMTypeFormal___init(val_t  self, val_t  param0, val_t  param1, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_type_formal, 48, LOCATE_type_formal___MMTypeFormal___init};
+  struct trace_t trace = {NULL, NULL, 48, LOCATE_type_formal___MMTypeFormal___init};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_type_formal;
   variable0 =  param0;
   variable1 =  param1;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_MMTypeFormal].i]) return;
index 4f5fd83..d875697 100644 (file)
@@ -1,11 +1,11 @@
 /* This C header file is generated by NIT to compile modules and programs that requires type_formal. */
-#ifndef type_formal_2_sep
-#define type_formal_2_sep
+#ifndef type_formal_sep
+#define type_formal_sep
 #include "inheritance._sep.h"
 #include <nit_common.h>
 
 extern const classtable_elt_t VFT_MMTypeFormal[];
-#define LOCATE_type_formal "./metamodel//type_formal.nit"
+extern const char *LOCATE_type_formal;
 extern const int SFT_type_formal[];
 #define COLOR_type_formal___MMType___direct_type SFT_type_formal[0]
 #define ID_MMTypeFormal SFT_type_formal[1]
index 5c50e26..2a38c5f 100644 (file)
@@ -1,11 +1,12 @@
 /* This C file is generated by NIT to compile module typing. */
 #include "typing._sep.h"
 void typing___MMSrcModule___do_typing(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_typing, 23, LOCATE_typing___MMSrcModule___do_typing};
+  struct trace_t trace = {NULL, NULL, 23, LOCATE_typing___MMSrcModule___do_typing};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_typing;
   variable0 =  param0;
   variable2 = NEW_typing___TypingVisitor___init( variable0 /*tc*/,  self); /*new TypingVisitor*/
   variable1 = variable2;
@@ -15,10 +16,11 @@ void typing___MMSrcModule___do_typing(val_t  self, val_t  param0) {
   return;
 }
 void typing___TypingVisitor___visit(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_typing, 39, LOCATE_typing___TypingVisitor___visit};
+  struct trace_t trace = {NULL, NULL, 39, LOCATE_typing___TypingVisitor___visit};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_typing;
   variable0 =  param0;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ ==  NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable1)) { /*if*/
@@ -28,75 +30,86 @@ void typing___TypingVisitor___visit(val_t  self, val_t  param0) {
   return;
 }
 val_t typing___TypingVisitor___variable_ctx(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_typing, 44, LOCATE_typing___TypingVisitor___variable_ctx};
+  struct trace_t trace = {NULL, NULL, 44, LOCATE_typing___TypingVisitor___variable_ctx};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_typing;
   tracehead = trace.prev;
   return ATTR_typing___TypingVisitor____variable_ctx( self) /*TypingVisitor::_variable_ctx*/;
 }
 void typing___TypingVisitor___variable_ctx__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_typing, 44, LOCATE_typing___TypingVisitor___variable_ctx__eq};
+  struct trace_t trace = {NULL, NULL, 44, LOCATE_typing___TypingVisitor___variable_ctx__eq};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_typing;
   ATTR_typing___TypingVisitor____variable_ctx( self) /*TypingVisitor::_variable_ctx*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t typing___TypingVisitor___self_type(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_typing, 47, LOCATE_typing___TypingVisitor___self_type};
+  struct trace_t trace = {NULL, NULL, 47, LOCATE_typing___TypingVisitor___self_type};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_typing;
   tracehead = trace.prev;
   return ATTR_typing___TypingVisitor____self_type( self) /*TypingVisitor::_self_type*/;
 }
 void typing___TypingVisitor___self_type__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_typing, 47, LOCATE_typing___TypingVisitor___self_type__eq};
+  struct trace_t trace = {NULL, NULL, 47, LOCATE_typing___TypingVisitor___self_type__eq};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_typing;
   ATTR_typing___TypingVisitor____self_type( self) /*TypingVisitor::_self_type*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t typing___TypingVisitor___top_block(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_typing, 50, LOCATE_typing___TypingVisitor___top_block};
+  struct trace_t trace = {NULL, NULL, 50, LOCATE_typing___TypingVisitor___top_block};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_typing;
   tracehead = trace.prev;
   return ATTR_typing___TypingVisitor____top_block( self) /*TypingVisitor::_top_block*/;
 }
 void typing___TypingVisitor___top_block__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_typing, 50, LOCATE_typing___TypingVisitor___top_block__eq};
+  struct trace_t trace = {NULL, NULL, 50, LOCATE_typing___TypingVisitor___top_block__eq};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_typing;
   ATTR_typing___TypingVisitor____top_block( self) /*TypingVisitor::_top_block*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t typing___TypingVisitor___explicit_super_init_calls(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_typing, 53, LOCATE_typing___TypingVisitor___explicit_super_init_calls};
+  struct trace_t trace = {NULL, NULL, 53, LOCATE_typing___TypingVisitor___explicit_super_init_calls};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_typing;
   tracehead = trace.prev;
   return ATTR_typing___TypingVisitor____explicit_super_init_calls( self) /*TypingVisitor::_explicit_super_init_calls*/;
 }
 void typing___TypingVisitor___explicit_super_init_calls__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_typing, 53, LOCATE_typing___TypingVisitor___explicit_super_init_calls__eq};
+  struct trace_t trace = {NULL, NULL, 53, LOCATE_typing___TypingVisitor___explicit_super_init_calls__eq};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_typing;
   ATTR_typing___TypingVisitor____explicit_super_init_calls( self) /*TypingVisitor::_explicit_super_init_calls*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t typing___TypingVisitor___explicit_other_init_call(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_typing, 56, LOCATE_typing___TypingVisitor___explicit_other_init_call};
+  struct trace_t trace = {NULL, NULL, 56, LOCATE_typing___TypingVisitor___explicit_other_init_call};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_typing;
   tracehead = trace.prev;
   return ATTR_typing___TypingVisitor____explicit_other_init_call( self) /*TypingVisitor::_explicit_other_init_call*/;
 }
 void typing___TypingVisitor___explicit_other_init_call__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_typing, 56, LOCATE_typing___TypingVisitor___explicit_other_init_call__eq};
+  struct trace_t trace = {NULL, NULL, 56, LOCATE_typing___TypingVisitor___explicit_other_init_call__eq};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_typing;
   ATTR_typing___TypingVisitor____explicit_other_init_call( self) /*TypingVisitor::_explicit_other_init_call*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 void typing___TypingVisitor___init(val_t  self, val_t  param0, val_t  param1, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_typing, 59, LOCATE_typing___TypingVisitor___init};
+  struct trace_t trace = {NULL, NULL, 59, LOCATE_typing___TypingVisitor___init};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_typing;
   variable0 =  param0;
   variable1 =  param1;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_TypingVisitor].i]) return;
@@ -106,7 +119,7 @@ void typing___TypingVisitor___init(val_t  self, val_t  param0, val_t  param1, in
   return;
 }
 val_t typing___TypingVisitor___get_default_constructor_for(val_t  self, val_t  param0, val_t  param1, val_t  param2) {
-  struct trace_t trace = {NULL, LOCATE_typing, 61, LOCATE_typing___TypingVisitor___get_default_constructor_for};
+  struct trace_t trace = {NULL, NULL, 61, LOCATE_typing___TypingVisitor___get_default_constructor_for};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -125,6 +138,7 @@ val_t typing___TypingVisitor___get_default_constructor_for(val_t  self, val_t  p
       val_t variable15;
       val_t variable16;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_typing;
   variable0 =  param0;
   variable1 =  param1;
   variable2 =  param2;
@@ -265,10 +279,11 @@ val_t typing___TypingVisitor___get_default_constructor_for(val_t  self, val_t  p
   return variable3;
 }
 val_t typing___VariableContext_____bra(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_typing, 106, LOCATE_typing___VariableContext_____bra};
+  struct trace_t trace = {NULL, NULL, 106, LOCATE_typing___VariableContext_____bra};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_typing;
   variable0 =  param0;
   variable1 = ATTR_typing___VariableContext____dico( self) /*VariableContext::_dico*/;
   variable1 = ((abstract_collection___Map___has_key_t)CALL(variable1,COLOR_abstract_collection___Map___has_key))(variable1,  variable0 /*s*/) /*Map::has_key*/;
@@ -285,11 +300,12 @@ val_t typing___VariableContext_____bra(val_t  self, val_t  param0) {
   return variable1;
 }
 void typing___VariableContext___add(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_typing, 117, LOCATE_typing___VariableContext___add};
+  struct trace_t trace = {NULL, NULL, 117, LOCATE_typing___VariableContext___add};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_typing;
   variable0 =  param0;
   variable1 = ATTR_typing___VariableContext____dico( self) /*VariableContext::_dico*/;
   variable2 = ((syntax_base___Variable___name_t)CALL( variable0 /*v*/,COLOR_syntax_base___Variable___name))( variable0 /*v*/) /*Variable::name*/;
@@ -298,10 +314,11 @@ void typing___VariableContext___add(val_t  self, val_t  param0) {
   return;
 }
 val_t typing___VariableContext___stype(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_typing, 124, LOCATE_typing___VariableContext___stype};
+  struct trace_t trace = {NULL, NULL, 124, LOCATE_typing___VariableContext___stype};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_typing;
   variable0 =  param0;
   variable1 = ((syntax_base___Variable___stype_t)CALL( variable0 /*v*/,COLOR_syntax_base___Variable___stype))( variable0 /*v*/) /*Variable::stype*/;
   goto return_label7;
@@ -310,9 +327,10 @@ val_t typing___VariableContext___stype(val_t  self, val_t  param0) {
   return variable1;
 }
 val_t typing___VariableContext___sub(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_typing, 134, LOCATE_typing___VariableContext___sub};
+  struct trace_t trace = {NULL, NULL, 134, LOCATE_typing___VariableContext___sub};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_typing;
   variable0 = NEW_typing___SubVariableContext___with( self,  NIT_NULL /*null*/,  NIT_NULL /*null*/); /*new SubVariableContext*/
   goto return_label8;
   return_label8: while(false);
@@ -320,11 +338,12 @@ val_t typing___VariableContext___sub(val_t  self) {
   return variable0;
 }
 val_t typing___VariableContext___sub_with(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_typing, 140, LOCATE_typing___VariableContext___sub_with};
+  struct trace_t trace = {NULL, NULL, 140, LOCATE_typing___VariableContext___sub_with};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_typing;
   variable0 =  param0;
   variable1 =  param1;
   variable2 = NEW_typing___SubVariableContext___with( self,  variable0 /*v*/,  variable1 /*t*/); /*new SubVariableContext*/
@@ -334,9 +353,10 @@ val_t typing___VariableContext___sub_with(val_t  self, val_t  param0, val_t  par
   return variable2;
 }
 void typing___VariableContext___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_typing, 146, LOCATE_typing___VariableContext___init};
+  struct trace_t trace = {NULL, NULL, 146, LOCATE_typing___VariableContext___init};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_typing;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_VariableContext].i]) return;
   variable0 = NEW_hash___HashMap___init(); /*new HashMap[K, V]*/
   ATTR_typing___VariableContext____dico( self) /*VariableContext::_dico*/ = variable0;
@@ -345,16 +365,18 @@ void typing___VariableContext___init(val_t  self, int* init_table) {
   return;
 }
 val_t typing___SubVariableContext___prev(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_typing, 154, LOCATE_typing___SubVariableContext___prev};
+  struct trace_t trace = {NULL, NULL, 154, LOCATE_typing___SubVariableContext___prev};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_typing;
   tracehead = trace.prev;
   return ATTR_typing___SubVariableContext____prev( self) /*SubVariableContext::_prev*/;
 }
 val_t typing___SubVariableContext_____bra(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_typing, 158, LOCATE_typing___SubVariableContext_____bra};
+  struct trace_t trace = {NULL, NULL, 158, LOCATE_typing___SubVariableContext_____bra};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_typing;
   variable0 =  param0;
   variable1 = ATTR_typing___VariableContext____dico( self) /*VariableContext::_dico*/;
   variable1 = ((abstract_collection___Map___has_key_t)CALL(variable1,COLOR_abstract_collection___Map___has_key))(variable1,  variable0 /*s*/) /*Map::has_key*/;
@@ -372,10 +394,11 @@ val_t typing___SubVariableContext_____bra(val_t  self, val_t  param0) {
   return variable1;
 }
 val_t typing___SubVariableContext___stype(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_typing, 167, LOCATE_typing___SubVariableContext___stype};
+  struct trace_t trace = {NULL, NULL, 167, LOCATE_typing___SubVariableContext___stype};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_typing;
   variable0 =  param0;
   variable1 = ATTR_typing___SubVariableContext____variable( self) /*SubVariableContext::_variable*/;
   variable1 = TAG_Bool((variable1 ==  variable0 /*v*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, variable0 /*v*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1,  variable0 /*v*/) /*Object::==*/)))));
@@ -391,11 +414,12 @@ val_t typing___SubVariableContext___stype(val_t  self, val_t  param0) {
   return variable1;
 }
 void typing___SubVariableContext___with(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_typing, 175, LOCATE_typing___SubVariableContext___with};
+  struct trace_t trace = {NULL, NULL, 175, LOCATE_typing___SubVariableContext___with};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_typing;
   variable0 =  param0;
   variable1 =  param1;
   variable2 =  param2;
@@ -409,9 +433,10 @@ void typing___SubVariableContext___with(val_t  self, val_t  param0, val_t  param
   return;
 }
 void typing___PNode___accept_typing(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_typing, 188, LOCATE_typing___PNode___accept_typing};
+  struct trace_t trace = {NULL, NULL, 188, LOCATE_typing___PNode___accept_typing};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_typing;
   variable0 =  param0;
   ((syntax_base___PNode___accept_abs_syntax_visitor_t)CALL( self,COLOR_syntax_base___PNode___accept_abs_syntax_visitor))( self,  variable0 /*v*/) /*PNode::accept_abs_syntax_visitor*/;
   ((typing___PNode___after_typing_t)CALL( self,COLOR_typing___PNode___after_typing))( self,  variable0 /*v*/) /*PNode::after_typing*/;
@@ -419,18 +444,20 @@ void typing___PNode___accept_typing(val_t  self, val_t  param0) {
   return;
 }
 void typing___PNode___after_typing(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_typing, 193, LOCATE_typing___PNode___after_typing};
+  struct trace_t trace = {NULL, NULL, 193, LOCATE_typing___PNode___after_typing};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_typing;
   variable0 =  param0;
   tracehead = trace.prev;
   return;
 }
 void typing___PClassdef___accept_typing(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_typing, 197, LOCATE_typing___PClassdef___accept_typing};
+  struct trace_t trace = {NULL, NULL, 197, LOCATE_typing___PClassdef___accept_typing};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_typing;
   variable0 =  param0;
   variable1 = ((syntax_base___PClassdef___local_class_t)CALL( self,COLOR_syntax_base___PClassdef___local_class))( self) /*PClassdef::local_class*/;
   variable1 = ((genericity___MMLocalClass___get_type_t)CALL(variable1,COLOR_static_type___MMLocalClass___get_type))(variable1) /*MMLocalClass::get_type*/;
@@ -440,12 +467,13 @@ void typing___PClassdef___accept_typing(val_t  self, val_t  param0) {
   return;
 }
 void typing___AAttrPropdef___accept_typing(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_typing, 205, LOCATE_typing___AAttrPropdef___accept_typing};
+  struct trace_t trace = {NULL, NULL, 205, LOCATE_typing___AAttrPropdef___accept_typing};
   val_t variable0;
   val_t variable1;
     val_t variable2;
     val_t variable3;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_typing;
   variable0 =  param0;
   ((typing___AAttrPropdef___accept_typing_t)CALL( self,COLOR_SUPER_typing___AAttrPropdef___accept_typing))( self,  param0) /*super AAttrPropdef::accept_typing*/;
   variable1 = ((parser_nodes___AAttrPropdef___n_expr_t)CALL( self,COLOR_parser_nodes___AAttrPropdef___n_expr))( self) /*AAttrPropdef::n_expr*/;
@@ -463,10 +491,11 @@ void typing___AAttrPropdef___accept_typing(val_t  self, val_t  param0) {
   return;
 }
 void typing___AMethPropdef___accept_typing(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_typing, 215, LOCATE_typing___AMethPropdef___accept_typing};
+  struct trace_t trace = {NULL, NULL, 215, LOCATE_typing___AMethPropdef___accept_typing};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_typing;
   variable0 =  param0;
   variable1 = NEW_typing___VariableContext___init(); /*new VariableContext*/
   ((typing___TypingVisitor___variable_ctx__eq_t)CALL( variable0 /*v*/,COLOR_typing___TypingVisitor___variable_ctx__eq))( variable0 /*v*/, variable1) /*TypingVisitor::variable_ctx=*/;
@@ -475,19 +504,21 @@ void typing___AMethPropdef___accept_typing(val_t  self, val_t  param0) {
   return;
 }
 val_t typing___AConcreteInitPropdef___super_init_calls(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_typing, 223, LOCATE_typing___AConcreteInitPropdef___super_init_calls};
+  struct trace_t trace = {NULL, NULL, 223, LOCATE_typing___AConcreteInitPropdef___super_init_calls};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_typing;
   tracehead = trace.prev;
   return ATTR_typing___AConcreteInitPropdef____super_init_calls( self) /*AConcreteInitPropdef::_super_init_calls*/;
 }
 val_t typing___AConcreteInitPropdef___explicit_super_init_calls(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_typing, 224, LOCATE_typing___AConcreteInitPropdef___explicit_super_init_calls};
+  struct trace_t trace = {NULL, NULL, 224, LOCATE_typing___AConcreteInitPropdef___explicit_super_init_calls};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_typing;
   tracehead = trace.prev;
   return ATTR_typing___AConcreteInitPropdef____explicit_super_init_calls( self) /*AConcreteInitPropdef::_explicit_super_init_calls*/;
 }
 void typing___AConcreteInitPropdef___accept_typing(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_typing, 225, LOCATE_typing___AConcreteInitPropdef___accept_typing};
+  struct trace_t trace = {NULL, NULL, 225, LOCATE_typing___AConcreteInitPropdef___accept_typing};
   val_t variable0;
   val_t variable1;
     val_t variable2;
@@ -500,6 +531,7 @@ void typing___AConcreteInitPropdef___accept_typing(val_t  self, val_t  param0) {
       val_t variable9;
       val_t variable10;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_typing;
   variable0 =  param0;
   variable1 = ((parser_nodes___AConcreteMethPropdef___n_block_t)CALL( self,COLOR_parser_nodes___AConcreteMethPropdef___n_block))( self) /*AConcreteMethPropdef::n_block*/;
   ((typing___TypingVisitor___top_block__eq_t)CALL( variable0 /*v*/,COLOR_typing___TypingVisitor___top_block__eq))( variable0 /*v*/, variable1) /*TypingVisitor::top_block=*/;
@@ -643,11 +675,12 @@ void typing___AConcreteInitPropdef___accept_typing(val_t  self, val_t  param0) {
   return;
 }
 void typing___PParam___after_typing(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_typing, 271, LOCATE_typing___PParam___after_typing};
+  struct trace_t trace = {NULL, NULL, 271, LOCATE_typing___PParam___after_typing};
   val_t variable0;
   val_t variable1;
     val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_typing;
   variable0 =  param0;
   variable1 = ((typing___TypingVisitor___variable_ctx_t)CALL( variable0 /*v*/,COLOR_typing___TypingVisitor___variable_ctx))( variable0 /*v*/) /*TypingVisitor::variable_ctx*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 ==  NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -660,16 +693,18 @@ void typing___PParam___after_typing(val_t  self, val_t  param0) {
   return;
 }
 val_t typing___PType___stype(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_typing, 280, LOCATE_typing___PType___stype};
+  struct trace_t trace = {NULL, NULL, 280, LOCATE_typing___PType___stype};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_typing;
   tracehead = trace.prev;
   return ATTR_typing___PType____stype( self) /*PType::_stype*/;
 }
 void typing___PType___after_typing(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_typing, 281, LOCATE_typing___PType___after_typing};
+  struct trace_t trace = {NULL, NULL, 281, LOCATE_typing___PType___after_typing};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_typing;
   variable0 =  param0;
   variable1 = ((syntax_base___PType___get_stype_t)CALL( self,COLOR_syntax_base___PType___get_stype))( self,  variable0 /*v*/) /*PType::get_stype*/;
   ATTR_typing___PType____stype( self) /*PType::_stype*/ = variable1;
@@ -677,15 +712,17 @@ void typing___PType___after_typing(val_t  self, val_t  param0) {
   return;
 }
 val_t typing___PExpr___stype(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_typing, 288, LOCATE_typing___PExpr___stype};
+  struct trace_t trace = {NULL, NULL, 288, LOCATE_typing___PExpr___stype};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_typing;
   tracehead = trace.prev;
   return ATTR_typing___PExpr____stype( self) /*PExpr::_stype*/;
 }
 val_t typing___PExpr___is_implicit_self(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_typing, 290, LOCATE_typing___PExpr___is_implicit_self};
+  struct trace_t trace = {NULL, NULL, 290, LOCATE_typing___PExpr___is_implicit_self};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_typing;
   variable0 =  TAG_Bool(false);
   goto return_label26;
   return_label26: while(false);
@@ -693,9 +730,10 @@ val_t typing___PExpr___is_implicit_self(val_t  self) {
   return variable0;
 }
 val_t typing___PExpr___is_self(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_typing, 293, LOCATE_typing___PExpr___is_self};
+  struct trace_t trace = {NULL, NULL, 293, LOCATE_typing___PExpr___is_self};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_typing;
   variable0 =  TAG_Bool(false);
   goto return_label27;
   return_label27: while(false);
@@ -703,9 +741,10 @@ val_t typing___PExpr___is_self(val_t  self) {
   return variable0;
 }
 val_t typing___PExpr___is_variable(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_typing, 296, LOCATE_typing___PExpr___is_variable};
+  struct trace_t trace = {NULL, NULL, 296, LOCATE_typing___PExpr___is_variable};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_typing;
   variable0 =  TAG_Bool(false);
   goto return_label28;
   return_label28: while(false);
@@ -713,18 +752,20 @@ val_t typing___PExpr___is_variable(val_t  self) {
   return variable0;
 }
 val_t typing___PExpr___if_true_variable_ctx(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_typing, 299, LOCATE_typing___PExpr___if_true_variable_ctx};
+  struct trace_t trace = {NULL, NULL, 299, LOCATE_typing___PExpr___if_true_variable_ctx};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_typing;
   tracehead = trace.prev;
   return ATTR_typing___PExpr____if_true_variable_ctx( self) /*PExpr::_if_true_variable_ctx*/;
 }
 void typing___AVardeclExpr___after_typing(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_typing, 304, LOCATE_typing___AVardeclExpr___after_typing};
+  struct trace_t trace = {NULL, NULL, 304, LOCATE_typing___AVardeclExpr___after_typing};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   val_t variable3;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_typing;
   variable0 =  param0;
   variable2 = ((parser_nodes___AVardeclExpr___n_id_t)CALL( self,COLOR_parser_nodes___AVardeclExpr___n_id))( self) /*AVardeclExpr::n_id*/;
   variable2 = ((syntax_base___Token___to_symbol_t)CALL(variable2,COLOR_syntax_base___Token___to_symbol))(variable2) /*Token::to_symbol*/;
@@ -757,11 +798,12 @@ void typing___AVardeclExpr___after_typing(val_t  self, val_t  param0) {
   return;
 }
 void typing___ABlockExpr___accept_typing(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_typing, 322, LOCATE_typing___ABlockExpr___accept_typing};
+  struct trace_t trace = {NULL, NULL, 322, LOCATE_typing___ABlockExpr___accept_typing};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_typing;
   variable0 =  param0;
   variable2 = ((typing___TypingVisitor___variable_ctx_t)CALL( variable0 /*v*/,COLOR_typing___TypingVisitor___variable_ctx))( variable0 /*v*/) /*TypingVisitor::variable_ctx*/;
   variable1 = variable2;
@@ -774,12 +816,13 @@ void typing___ABlockExpr___accept_typing(val_t  self, val_t  param0) {
   return;
 }
 void typing___AReturnExpr___after_typing(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_typing, 334, LOCATE_typing___AReturnExpr___after_typing};
+  struct trace_t trace = {NULL, NULL, 334, LOCATE_typing___AReturnExpr___after_typing};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   val_t variable3;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_typing;
   variable0 =  param0;
   variable2 = ((syntax_base___AbsSyntaxVisitor___local_property_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___local_property))( variable0 /*v*/) /*AbsSyntaxVisitor::local_property*/;
   variable2 = ((static_type___MMLocalProperty___signature_t)CALL(variable2,COLOR_static_type___MMLocalProperty___signature))(variable2) /*MMLocalProperty::signature*/;
@@ -825,12 +868,13 @@ void typing___AReturnExpr___after_typing(val_t  self, val_t  param0) {
   return;
 }
 void typing___AIfExpr___accept_typing(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_typing, 348, LOCATE_typing___AIfExpr___accept_typing};
+  struct trace_t trace = {NULL, NULL, 348, LOCATE_typing___AIfExpr___accept_typing};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   val_t variable3;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_typing;
   variable0 =  param0;
   variable2 = ((typing___TypingVisitor___variable_ctx_t)CALL( variable0 /*v*/,COLOR_typing___TypingVisitor___variable_ctx))( variable0 /*v*/) /*TypingVisitor::variable_ctx*/;
   variable1 = variable2;
@@ -862,11 +906,12 @@ void typing___AIfExpr___accept_typing(val_t  self, val_t  param0) {
   return;
 }
 void typing___AWhileExpr___after_typing(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_typing, 370, LOCATE_typing___AWhileExpr___after_typing};
+  struct trace_t trace = {NULL, NULL, 370, LOCATE_typing___AWhileExpr___after_typing};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_typing;
   variable0 =  param0;
   variable1 = ((parser_nodes___AWhileExpr___n_expr_t)CALL( self,COLOR_parser_nodes___AWhileExpr___n_expr))( self) /*AWhileExpr::n_expr*/;
   variable1 = ((typing___PExpr___stype_t)CALL(variable1,COLOR_syntax_base___PExpr___stype))(variable1) /*PExpr::stype*/;
@@ -876,11 +921,12 @@ void typing___AWhileExpr___after_typing(val_t  self, val_t  param0) {
   return;
 }
 void typing___AForExpr___after_typing(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_typing, 377, LOCATE_typing___AForExpr___after_typing};
+  struct trace_t trace = {NULL, NULL, 377, LOCATE_typing___AForExpr___after_typing};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_typing;
   variable0 =  param0;
   variable2 = ((typing___TypingVisitor___variable_ctx_t)CALL( variable0 /*v*/,COLOR_typing___TypingVisitor___variable_ctx))( variable0 /*v*/) /*TypingVisitor::variable_ctx*/;
   variable1 = variable2;
@@ -892,7 +938,7 @@ void typing___AForExpr___after_typing(val_t  self, val_t  param0) {
   return;
 }
 void typing___AForVardeclExpr___after_typing(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_typing, 387, LOCATE_typing___AForVardeclExpr___after_typing};
+  struct trace_t trace = {NULL, NULL, 387, LOCATE_typing___AForVardeclExpr___after_typing};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -908,6 +954,7 @@ void typing___AForVardeclExpr___after_typing(val_t  self, val_t  param0) {
     val_t variable10;
     val_t variable11;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_typing;
   variable0 =  param0;
   variable1 = ((typing___TypingVisitor___variable_ctx_t)CALL( variable0 /*v*/,COLOR_typing___TypingVisitor___variable_ctx))( variable0 /*v*/) /*TypingVisitor::variable_ctx*/;
   variable1 = ((typing___VariableContext___sub_t)CALL(variable1,COLOR_typing___VariableContext___sub))(variable1) /*VariableContext::sub*/;
@@ -987,11 +1034,12 @@ void typing___AForVardeclExpr___after_typing(val_t  self, val_t  param0) {
   return;
 }
 void typing___AAssertExpr___after_typing(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_typing, 416, LOCATE_typing___AAssertExpr___after_typing};
+  struct trace_t trace = {NULL, NULL, 416, LOCATE_typing___AAssertExpr___after_typing};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_typing;
   variable0 =  param0;
   variable1 = ((parser_nodes___AAssertExpr___n_expr_t)CALL( self,COLOR_parser_nodes___AAssertExpr___n_expr))( self) /*AAssertExpr::n_expr*/;
   variable1 = ((typing___PExpr___stype_t)CALL(variable1,COLOR_syntax_base___PExpr___stype))(variable1) /*PExpr::stype*/;
@@ -1009,9 +1057,10 @@ void typing___AAssertExpr___after_typing(val_t  self, val_t  param0) {
   return;
 }
 val_t typing___AVarExpr___is_variable(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_typing, 424, LOCATE_typing___AVarExpr___is_variable};
+  struct trace_t trace = {NULL, NULL, 424, LOCATE_typing___AVarExpr___is_variable};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_typing;
   variable0 =  TAG_Bool(true);
   goto return_label39;
   return_label39: while(false);
@@ -1019,11 +1068,12 @@ val_t typing___AVarExpr___is_variable(val_t  self) {
   return variable0;
 }
 void typing___AVarExpr___after_typing(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_typing, 426, LOCATE_typing___AVarExpr___after_typing};
+  struct trace_t trace = {NULL, NULL, 426, LOCATE_typing___AVarExpr___after_typing};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_typing;
   variable0 =  param0;
   variable1 = ((typing___TypingVisitor___variable_ctx_t)CALL( variable0 /*v*/,COLOR_typing___TypingVisitor___variable_ctx))( variable0 /*v*/) /*TypingVisitor::variable_ctx*/;
   variable2 = ((syntax_base___AVarFormExpr___variable_t)CALL( self,COLOR_syntax_base___AVarFormExpr___variable))( self) /*AVarFormExpr::variable*/;
@@ -1033,12 +1083,13 @@ void typing___AVarExpr___after_typing(val_t  self, val_t  param0) {
   return;
 }
 void typing___AVarAssignExpr___after_typing(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_typing, 433, LOCATE_typing___AVarAssignExpr___after_typing};
+  struct trace_t trace = {NULL, NULL, 433, LOCATE_typing___AVarAssignExpr___after_typing};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   val_t variable3;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_typing;
   variable0 =  param0;
   variable2 = ((typing___TypingVisitor___variable_ctx_t)CALL( variable0 /*v*/,COLOR_typing___TypingVisitor___variable_ctx))( variable0 /*v*/) /*TypingVisitor::variable_ctx*/;
   variable3 = ((syntax_base___AVarFormExpr___variable_t)CALL( self,COLOR_syntax_base___AVarFormExpr___variable))( self) /*AVarFormExpr::variable*/;
@@ -1051,7 +1102,7 @@ void typing___AVarAssignExpr___after_typing(val_t  self, val_t  param0) {
   return;
 }
 void typing___AReassignFormExpr___do_lvalue_typing(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_typing, 441, LOCATE_typing___AReassignFormExpr___do_lvalue_typing};
+  struct trace_t trace = {NULL, NULL, 441, LOCATE_typing___AReassignFormExpr___do_lvalue_typing};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -1066,6 +1117,7 @@ void typing___AReassignFormExpr___do_lvalue_typing(val_t  self, val_t  param0, v
     val_t variable11;
     val_t variable12;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_typing;
   variable0 =  param0;
   variable1 =  param1;
   variable2 = TAG_Bool(( variable1 /*type_lvalue*/ ==  NIT_NULL /*null*/) || (( variable1 /*type_lvalue*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*type_lvalue*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*type_lvalue*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*type_lvalue*/,COLOR_kernel___Object_____eqeq))( variable1 /*type_lvalue*/,  NIT_NULL /*null*/) /*Object::==*/)))));
@@ -1121,18 +1173,20 @@ void typing___AReassignFormExpr___do_lvalue_typing(val_t  self, val_t  param0, v
   return;
 }
 val_t typing___AReassignFormExpr___assign_method(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_typing, 460, LOCATE_typing___AReassignFormExpr___assign_method};
+  struct trace_t trace = {NULL, NULL, 460, LOCATE_typing___AReassignFormExpr___assign_method};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_typing;
   tracehead = trace.prev;
   return ATTR_typing___AReassignFormExpr____assign_method( self) /*AReassignFormExpr::_assign_method*/;
 }
 void typing___AVarReassignExpr___after_typing(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_typing, 465, LOCATE_typing___AVarReassignExpr___after_typing};
+  struct trace_t trace = {NULL, NULL, 465, LOCATE_typing___AVarReassignExpr___after_typing};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   val_t variable3;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_typing;
   variable0 =  param0;
   variable2 = ((typing___TypingVisitor___variable_ctx_t)CALL( variable0 /*v*/,COLOR_typing___TypingVisitor___variable_ctx))( variable0 /*v*/) /*TypingVisitor::variable_ctx*/;
   variable3 = ((syntax_base___AVarFormExpr___variable_t)CALL( self,COLOR_syntax_base___AVarFormExpr___variable))( self) /*AVarFormExpr::variable*/;
@@ -1143,8 +1197,9 @@ void typing___AVarReassignExpr___after_typing(val_t  self, val_t  param0) {
   return;
 }
 val_t typing___PAssignOp___method_name(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_typing, 473, LOCATE_typing___PAssignOp___method_name};
+  struct trace_t trace = {NULL, NULL, 473, LOCATE_typing___PAssignOp___method_name};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_typing;
   fprintf(stderr, "Deferred method %s called");
   fprintf(stderr, " in %s (%s:%d)\n", LOCATE_typing___AVarReassignExpr___after_typing, LOCATE_typing, 473);
   nit_exit(1);
@@ -1152,10 +1207,11 @@ val_t typing___PAssignOp___method_name(val_t  self) {
   return NIT_NULL;
 }
 val_t typing___APlusAssignOp___method_name(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_typing, 476, LOCATE_typing___APlusAssignOp___method_name};
+  struct trace_t trace = {NULL, NULL, 476, LOCATE_typing___APlusAssignOp___method_name};
   val_t variable0;
   static val_t once_value_variable0_45; static int once_bool_variable0_45;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_typing;
   if (once_bool_variable0_45) variable0 = once_value_variable0_45;
   else {
     variable0 = NEW_string___String___with_native(BOX_NativeString("+"), TAG_Int(1)); /*new String*/
@@ -1169,10 +1225,11 @@ val_t typing___APlusAssignOp___method_name(val_t  self) {
   return variable0;
 }
 val_t typing___AMinusAssignOp___method_name(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_typing, 479, LOCATE_typing___AMinusAssignOp___method_name};
+  struct trace_t trace = {NULL, NULL, 479, LOCATE_typing___AMinusAssignOp___method_name};
   val_t variable0;
   static val_t once_value_variable0_47; static int once_bool_variable0_47;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_typing;
   if (once_bool_variable0_47) variable0 = once_value_variable0_47;
   else {
     variable0 = NEW_string___String___with_native(BOX_NativeString("-"), TAG_Int(1)); /*new String*/
@@ -1186,10 +1243,11 @@ val_t typing___AMinusAssignOp___method_name(val_t  self) {
   return variable0;
 }
 void typing___ASelfExpr___after_typing(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_typing, 483, LOCATE_typing___ASelfExpr___after_typing};
+  struct trace_t trace = {NULL, NULL, 483, LOCATE_typing___ASelfExpr___after_typing};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_typing;
   variable0 =  param0;
   variable1 = ((typing___TypingVisitor___self_type_t)CALL( variable0 /*v*/,COLOR_typing___TypingVisitor___self_type))( variable0 /*v*/) /*TypingVisitor::self_type*/;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 ==  NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1,  NIT_NULL /*null*/) /*Object::==*/)))))));
@@ -1200,9 +1258,10 @@ void typing___ASelfExpr___after_typing(val_t  self, val_t  param0) {
   return;
 }
 val_t typing___ASelfExpr___is_self(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_typing, 489, LOCATE_typing___ASelfExpr___is_self};
+  struct trace_t trace = {NULL, NULL, 489, LOCATE_typing___ASelfExpr___is_self};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_typing;
   variable0 =  TAG_Bool(true);
   goto return_label49;
   return_label49: while(false);
@@ -1210,9 +1269,10 @@ val_t typing___ASelfExpr___is_self(val_t  self) {
   return variable0;
 }
 val_t typing___AImplicitSelfExpr___is_implicit_self(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_typing, 493, LOCATE_typing___AImplicitSelfExpr___is_implicit_self};
+  struct trace_t trace = {NULL, NULL, 493, LOCATE_typing___AImplicitSelfExpr___is_implicit_self};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_typing;
   variable0 =  TAG_Bool(true);
   goto return_label50;
   return_label50: while(false);
@@ -1220,7 +1280,7 @@ val_t typing___AImplicitSelfExpr___is_implicit_self(val_t  self) {
   return variable0;
 }
 void typing___AIfexprExpr___accept_typing(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_typing, 497, LOCATE_typing___AIfexprExpr___accept_typing};
+  struct trace_t trace = {NULL, NULL, 497, LOCATE_typing___AIfexprExpr___accept_typing};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -1235,6 +1295,7 @@ void typing___AIfexprExpr___accept_typing(val_t  self, val_t  param0) {
       val_t variable11;
       val_t variable12;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_typing;
   variable0 =  param0;
   variable2 = ((typing___TypingVisitor___variable_ctx_t)CALL( variable0 /*v*/,COLOR_typing___TypingVisitor___variable_ctx))( variable0 /*v*/) /*TypingVisitor::variable_ctx*/;
   variable1 = variable2;
@@ -1295,10 +1356,11 @@ void typing___AIfexprExpr___accept_typing(val_t  self, val_t  param0) {
   return;
 }
 void typing___ABoolExpr___after_typing(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_typing, 523, LOCATE_typing___ABoolExpr___after_typing};
+  struct trace_t trace = {NULL, NULL, 523, LOCATE_typing___ABoolExpr___after_typing};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_typing;
   variable0 =  param0;
   variable1 = ((syntax_base___AbsSyntaxVisitor___type_bool_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___type_bool))( variable0 /*v*/) /*AbsSyntaxVisitor::type_bool*/;
   ATTR_typing___PExpr____stype( self) /*PExpr::_stype*/ = variable1;
@@ -1306,11 +1368,12 @@ void typing___ABoolExpr___after_typing(val_t  self, val_t  param0) {
   return;
 }
 void typing___AOrExpr___after_typing(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_typing, 530, LOCATE_typing___AOrExpr___after_typing};
+  struct trace_t trace = {NULL, NULL, 530, LOCATE_typing___AOrExpr___after_typing};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_typing;
   variable0 =  param0;
   variable1 = ((parser_nodes___AOrExpr___n_expr_t)CALL( self,COLOR_parser_nodes___AOrExpr___n_expr))( self) /*AOrExpr::n_expr*/;
   variable1 = ((typing___PExpr___stype_t)CALL(variable1,COLOR_syntax_base___PExpr___stype))(variable1) /*PExpr::stype*/;
@@ -1326,12 +1389,13 @@ void typing___AOrExpr___after_typing(val_t  self, val_t  param0) {
   return;
 }
 void typing___AAndExpr___accept_typing(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_typing, 539, LOCATE_typing___AAndExpr___accept_typing};
+  struct trace_t trace = {NULL, NULL, 539, LOCATE_typing___AAndExpr___accept_typing};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   val_t variable3;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_typing;
   variable0 =  param0;
   variable2 = ((typing___TypingVisitor___variable_ctx_t)CALL( variable0 /*v*/,COLOR_typing___TypingVisitor___variable_ctx))( variable0 /*v*/) /*TypingVisitor::variable_ctx*/;
   variable1 = variable2;
@@ -1373,11 +1437,12 @@ void typing___AAndExpr___accept_typing(val_t  self, val_t  param0) {
   return;
 }
 void typing___ANotExpr___after_typing(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_typing, 562, LOCATE_typing___ANotExpr___after_typing};
+  struct trace_t trace = {NULL, NULL, 562, LOCATE_typing___ANotExpr___after_typing};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_typing;
   variable0 =  param0;
   variable1 = ((parser_nodes___ANotExpr___n_expr_t)CALL( self,COLOR_parser_nodes___ANotExpr___n_expr))( self) /*ANotExpr::n_expr*/;
   variable1 = ((typing___PExpr___stype_t)CALL(variable1,COLOR_syntax_base___PExpr___stype))(variable1) /*PExpr::stype*/;
@@ -1389,10 +1454,11 @@ void typing___ANotExpr___after_typing(val_t  self, val_t  param0) {
   return;
 }
 void typing___AIntExpr___after_typing(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_typing, 570, LOCATE_typing___AIntExpr___after_typing};
+  struct trace_t trace = {NULL, NULL, 570, LOCATE_typing___AIntExpr___after_typing};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_typing;
   variable0 =  param0;
   variable1 = ((syntax_base___AbsSyntaxVisitor___type_int_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___type_int))( variable0 /*v*/) /*AbsSyntaxVisitor::type_int*/;
   ATTR_typing___PExpr____stype( self) /*PExpr::_stype*/ = variable1;
@@ -1400,10 +1466,11 @@ void typing___AIntExpr___after_typing(val_t  self, val_t  param0) {
   return;
 }
 void typing___AFloatExpr___after_typing(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_typing, 578, LOCATE_typing___AFloatExpr___after_typing};
+  struct trace_t trace = {NULL, NULL, 578, LOCATE_typing___AFloatExpr___after_typing};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_typing;
   variable0 =  param0;
   variable1 = ((syntax_base___AbsSyntaxVisitor___type_float_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___type_float))( variable0 /*v*/) /*AbsSyntaxVisitor::type_float*/;
   ATTR_typing___PExpr____stype( self) /*PExpr::_stype*/ = variable1;
@@ -1411,10 +1478,11 @@ void typing___AFloatExpr___after_typing(val_t  self, val_t  param0) {
   return;
 }
 void typing___ACharExpr___after_typing(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_typing, 585, LOCATE_typing___ACharExpr___after_typing};
+  struct trace_t trace = {NULL, NULL, 585, LOCATE_typing___ACharExpr___after_typing};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_typing;
   variable0 =  param0;
   variable1 = ((syntax_base___AbsSyntaxVisitor___type_char_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___type_char))( variable0 /*v*/) /*AbsSyntaxVisitor::type_char*/;
   ATTR_typing___PExpr____stype( self) /*PExpr::_stype*/ = variable1;
@@ -1422,10 +1490,11 @@ void typing___ACharExpr___after_typing(val_t  self, val_t  param0) {
   return;
 }
 void typing___AStringFormExpr___after_typing(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_typing, 592, LOCATE_typing___AStringFormExpr___after_typing};
+  struct trace_t trace = {NULL, NULL, 592, LOCATE_typing___AStringFormExpr___after_typing};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_typing;
   variable0 =  param0;
   variable1 = ((syntax_base___AbsSyntaxVisitor___type_string_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___type_string))( variable0 /*v*/) /*AbsSyntaxVisitor::type_string*/;
   ATTR_typing___PExpr____stype( self) /*PExpr::_stype*/ = variable1;
@@ -1433,10 +1502,11 @@ void typing___AStringFormExpr___after_typing(val_t  self, val_t  param0) {
   return;
 }
 void typing___ASuperstringExpr___after_typing(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_typing, 599, LOCATE_typing___ASuperstringExpr___after_typing};
+  struct trace_t trace = {NULL, NULL, 599, LOCATE_typing___ASuperstringExpr___after_typing};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_typing;
   variable0 =  param0;
   variable1 = ((syntax_base___AbsSyntaxVisitor___type_string_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___type_string))( variable0 /*v*/) /*AbsSyntaxVisitor::type_string*/;
   ATTR_typing___PExpr____stype( self) /*PExpr::_stype*/ = variable1;
@@ -1444,10 +1514,11 @@ void typing___ASuperstringExpr___after_typing(val_t  self, val_t  param0) {
   return;
 }
 void typing___ANullExpr___after_typing(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_typing, 606, LOCATE_typing___ANullExpr___after_typing};
+  struct trace_t trace = {NULL, NULL, 606, LOCATE_typing___ANullExpr___after_typing};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_typing;
   variable0 =  param0;
   variable1 = ((syntax_base___AbsSyntaxVisitor___type_none_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___type_none))( variable0 /*v*/) /*AbsSyntaxVisitor::type_none*/;
   ATTR_typing___PExpr____stype( self) /*PExpr::_stype*/ = variable1;
@@ -1455,16 +1526,17 @@ void typing___ANullExpr___after_typing(val_t  self, val_t  param0) {
   return;
 }
 void typing___AArrayExpr___stype__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_typing, 613, LOCATE_typing___AArrayExpr___stype__eq};
+  struct trace_t trace = {NULL, NULL, 613, LOCATE_typing___AArrayExpr___stype__eq};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_typing;
   variable0 =  param0;
   ATTR_typing___PExpr____stype( self) /*PExpr::_stype*/ =  variable0 /*t*/;
   tracehead = trace.prev;
   return;
 }
 void typing___AArrayExpr___after_typing(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_typing, 615, LOCATE_typing___AArrayExpr___after_typing};
+  struct trace_t trace = {NULL, NULL, 615, LOCATE_typing___AArrayExpr___after_typing};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -1474,6 +1546,7 @@ void typing___AArrayExpr___after_typing(val_t  self, val_t  param0) {
     val_t variable6;
       val_t variable7;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_typing;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable2 = ((parser_nodes___AArrayExpr___n_exprs_t)CALL( self,COLOR_parser_nodes___AArrayExpr___n_exprs))( self) /*AArrayExpr::n_exprs*/;
@@ -1520,7 +1593,7 @@ void typing___AArrayExpr___after_typing(val_t  self, val_t  param0) {
   return;
 }
 void typing___ARangeExpr___after_typing(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_typing, 632, LOCATE_typing___ARangeExpr___after_typing};
+  struct trace_t trace = {NULL, NULL, 632, LOCATE_typing___ARangeExpr___after_typing};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -1534,6 +1607,7 @@ void typing___ARangeExpr___after_typing(val_t  self, val_t  param0) {
       val_t variable10;
       val_t variable11;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_typing;
   variable0 =  param0;
   variable2 = ((parser_nodes___ARangeExpr___n_expr_t)CALL( self,COLOR_parser_nodes___ARangeExpr___n_expr))( self) /*ARangeExpr::n_expr*/;
   variable2 = ((typing___PExpr___stype_t)CALL(variable2,COLOR_syntax_base___PExpr___stype))(variable2) /*PExpr::stype*/;
@@ -1586,13 +1660,14 @@ void typing___ARangeExpr___after_typing(val_t  self, val_t  param0) {
   return;
 }
 val_t typing___ASuperExpr___init_in_superclass(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_typing, 653, LOCATE_typing___ASuperExpr___init_in_superclass};
+  struct trace_t trace = {NULL, NULL, 653, LOCATE_typing___ASuperExpr___init_in_superclass};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_typing;
   tracehead = trace.prev;
   return ATTR_typing___ASuperExpr____init_in_superclass( self) /*ASuperExpr::_init_in_superclass*/;
 }
 void typing___ASuperExpr___after_typing(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_typing, 655, LOCATE_typing___ASuperExpr___after_typing};
+  struct trace_t trace = {NULL, NULL, 655, LOCATE_typing___ASuperExpr___after_typing};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -1609,6 +1684,7 @@ void typing___ASuperExpr___after_typing(val_t  self, val_t  param0) {
           val_t variable13;
           val_t variable14;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_typing;
   variable0 =  param0;
   variable2 = ((syntax_base___AbsSyntaxVisitor___local_property_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___local_property))( variable0 /*v*/) /*AbsSyntaxVisitor::local_property*/;
   variable2 = ((abstractmetamodel___MMLocalProperty___prhe_t)CALL(variable2,COLOR_abstractmetamodel___MMLocalProperty___prhe))(variable2) /*MMLocalProperty::prhe*/;
@@ -1801,19 +1877,21 @@ void typing___ASuperExpr___after_typing(val_t  self, val_t  param0) {
   return;
 }
 val_t typing___AAttrFormExpr___prop(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_typing, 711, LOCATE_typing___AAttrFormExpr___prop};
+  struct trace_t trace = {NULL, NULL, 711, LOCATE_typing___AAttrFormExpr___prop};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_typing;
   tracehead = trace.prev;
   return ATTR_typing___AAttrFormExpr____prop( self) /*AAttrFormExpr::_prop*/;
 }
 val_t typing___AAttrFormExpr___attr_type(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_typing, 714, LOCATE_typing___AAttrFormExpr___attr_type};
+  struct trace_t trace = {NULL, NULL, 714, LOCATE_typing___AAttrFormExpr___attr_type};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_typing;
   tracehead = trace.prev;
   return ATTR_typing___AAttrFormExpr____attr_type( self) /*AAttrFormExpr::_attr_type*/;
 }
 void typing___AAttrFormExpr___do_typing(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_typing, 717, LOCATE_typing___AAttrFormExpr___do_typing};
+  struct trace_t trace = {NULL, NULL, 717, LOCATE_typing___AAttrFormExpr___do_typing};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -1833,6 +1911,7 @@ void typing___AAttrFormExpr___do_typing(val_t  self, val_t  param0) {
       val_t variable16;
       val_t variable17;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_typing;
   variable0 =  param0;
   variable2 = ((parser_nodes___AAttrFormExpr___n_expr_t)CALL( self,COLOR_parser_nodes___AAttrFormExpr___n_expr))( self) /*AAttrFormExpr::n_expr*/;
   variable2 = ((typing___PExpr___stype_t)CALL(variable2,COLOR_syntax_base___PExpr___stype))(variable2) /*PExpr::stype*/;
@@ -1920,10 +1999,11 @@ void typing___AAttrFormExpr___do_typing(val_t  self, val_t  param0) {
   return;
 }
 void typing___AAttrExpr___after_typing(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_typing, 740, LOCATE_typing___AAttrExpr___after_typing};
+  struct trace_t trace = {NULL, NULL, 740, LOCATE_typing___AAttrExpr___after_typing};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_typing;
   variable0 =  param0;
   ((typing___AAttrFormExpr___do_typing_t)CALL( self,COLOR_typing___AAttrFormExpr___do_typing))( self,  variable0 /*v*/) /*AAttrFormExpr::do_typing*/;
   variable1 = ((typing___AAttrFormExpr___prop_t)CALL( self,COLOR_typing___AAttrFormExpr___prop))( self) /*AAttrFormExpr::prop*/;
@@ -1938,11 +2018,12 @@ void typing___AAttrExpr___after_typing(val_t  self, val_t  param0) {
   return;
 }
 void typing___AAttrAssignExpr___after_typing(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_typing, 751, LOCATE_typing___AAttrAssignExpr___after_typing};
+  struct trace_t trace = {NULL, NULL, 751, LOCATE_typing___AAttrAssignExpr___after_typing};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_typing;
   variable0 =  param0;
   ((typing___AAttrFormExpr___do_typing_t)CALL( self,COLOR_typing___AAttrFormExpr___do_typing))( self,  variable0 /*v*/) /*AAttrFormExpr::do_typing*/;
   variable1 = ((typing___AAttrFormExpr___prop_t)CALL( self,COLOR_typing___AAttrFormExpr___prop))( self) /*AAttrFormExpr::prop*/;
@@ -1959,10 +2040,11 @@ void typing___AAttrAssignExpr___after_typing(val_t  self, val_t  param0) {
   return;
 }
 void typing___AAttrReassignExpr___after_typing(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_typing, 762, LOCATE_typing___AAttrReassignExpr___after_typing};
+  struct trace_t trace = {NULL, NULL, 762, LOCATE_typing___AAttrReassignExpr___after_typing};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_typing;
   variable0 =  param0;
   ((typing___AAttrFormExpr___do_typing_t)CALL( self,COLOR_typing___AAttrFormExpr___do_typing))( self,  variable0 /*v*/) /*AAttrFormExpr::do_typing*/;
   variable1 = ((typing___AAttrFormExpr___prop_t)CALL( self,COLOR_typing___AAttrFormExpr___prop))( self) /*AAttrFormExpr::prop*/;
@@ -1977,7 +2059,7 @@ void typing___AAttrReassignExpr___after_typing(val_t  self, val_t  param0) {
   return;
 }
 void typing___AAbsSendExpr___do_typing(val_t  self, val_t  param0, val_t  param1, val_t  param2, val_t  param3, val_t  param4, val_t  param5) {
-  struct trace_t trace = {NULL, LOCATE_typing, 774, LOCATE_typing___AAbsSendExpr___do_typing};
+  struct trace_t trace = {NULL, NULL, 774, LOCATE_typing___AAbsSendExpr___do_typing};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -1988,6 +2070,7 @@ void typing___AAbsSendExpr___do_typing(val_t  self, val_t  param0, val_t  param1
   val_t variable7;
   val_t variable8;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_typing;
   variable0 =  param0;
   variable1 =  param1;
   variable2 =  param2;
@@ -2013,7 +2096,7 @@ void typing___AAbsSendExpr___do_typing(val_t  self, val_t  param0, val_t  param1
   return;
 }
 val_t typing___AAbsSendExpr___get_property(val_t  self, val_t  param0, val_t  param1, val_t  param2, val_t  param3) {
-  struct trace_t trace = {NULL, LOCATE_typing, 785, LOCATE_typing___AAbsSendExpr___get_property};
+  struct trace_t trace = {NULL, NULL, 785, LOCATE_typing___AAbsSendExpr___get_property};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -2031,6 +2114,7 @@ val_t typing___AAbsSendExpr___get_property(val_t  self, val_t  param0, val_t  pa
       val_t variable14;
       val_t variable15;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_typing;
   variable0 =  param0;
   variable1 =  param1;
   variable2 =  param2;
@@ -2142,7 +2226,7 @@ val_t typing___AAbsSendExpr___get_property(val_t  self, val_t  param0, val_t  pa
   return variable4;
 }
 val_t typing___AAbsSendExpr___process_signature(val_t  self, val_t  param0, val_t  param1, val_t  param2, val_t  param3, val_t  param4) {
-  struct trace_t trace = {NULL, LOCATE_typing, 812, LOCATE_typing___AAbsSendExpr___process_signature};
+  struct trace_t trace = {NULL, NULL, 812, LOCATE_typing___AAbsSendExpr___process_signature};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -2165,6 +2249,7 @@ val_t typing___AAbsSendExpr___process_signature(val_t  self, val_t  param0, val_
         val_t variable19;
         val_t variable20;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_typing;
   variable0 =  param0;
   variable1 =  param1;
   variable2 =  param2;
@@ -2304,19 +2389,21 @@ val_t typing___AAbsSendExpr___process_signature(val_t  self, val_t  param0, val_
   return variable5;
 }
 val_t typing___AAbsSendExpr___prop(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_typing, 851, LOCATE_typing___AAbsSendExpr___prop};
+  struct trace_t trace = {NULL, NULL, 851, LOCATE_typing___AAbsSendExpr___prop};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_typing;
   tracehead = trace.prev;
   return ATTR_typing___AAbsSendExpr____prop( self) /*AAbsSendExpr::_prop*/;
 }
 val_t typing___AAbsSendExpr___arguments(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_typing, 854, LOCATE_typing___AAbsSendExpr___arguments};
+  struct trace_t trace = {NULL, NULL, 854, LOCATE_typing___AAbsSendExpr___arguments};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_typing;
   tracehead = trace.prev;
   return ATTR_typing___AAbsSendExpr____arguments( self) /*AAbsSendExpr::_arguments*/;
 }
 void typing___ASuperInitCall___register_super_init_call(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_typing, 862, LOCATE_typing___ASuperInitCall___register_super_init_call};
+  struct trace_t trace = {NULL, NULL, 862, LOCATE_typing___ASuperInitCall___register_super_init_call};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -2335,6 +2422,7 @@ void typing___ASuperInitCall___register_super_init_call(val_t  self, val_t  para
                val_t variable15;
                val_t variable16;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_typing;
   variable0 =  param0;
   variable1 =  param1;
   variable2 = ((parser_prod___PNode___parent_t)CALL( self,COLOR_parser_prod___PNode___parent))( self) /*PNode::parent*/;
@@ -2469,7 +2557,7 @@ void typing___ASuperInitCall___register_super_init_call(val_t  self, val_t  para
   return;
 }
 void typing___ANewExpr___after_typing(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_typing, 899, LOCATE_typing___ANewExpr___after_typing};
+  struct trace_t trace = {NULL, NULL, 899, LOCATE_typing___ANewExpr___after_typing};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -2482,6 +2570,7 @@ void typing___ANewExpr___after_typing(val_t  self, val_t  param0) {
     static val_t once_value_variable3_85; static int once_bool_variable3_85;
     val_t variable9;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_typing;
   variable0 =  param0;
   variable2 = ((parser_nodes___ANewExpr___n_type_t)CALL( self,COLOR_parser_nodes___ANewExpr___n_type))( self) /*ANewExpr::n_type*/;
   variable2 = ((typing___PType___stype_t)CALL(variable2,COLOR_typing___PType___stype))(variable2) /*PType::stype*/;
@@ -2551,8 +2640,9 @@ void typing___ANewExpr___after_typing(val_t  self, val_t  param0) {
   return;
 }
 val_t typing___ASendExpr___name(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_typing, 925, LOCATE_typing___ASendExpr___name};
+  struct trace_t trace = {NULL, NULL, 925, LOCATE_typing___ASendExpr___name};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_typing;
   fprintf(stderr, "Deferred method %s called");
   fprintf(stderr, " in %s (%s:%d)\n", LOCATE_typing___ANewExpr___after_typing, LOCATE_typing, 925);
   nit_exit(1);
@@ -2560,8 +2650,9 @@ val_t typing___ASendExpr___name(val_t  self) {
   return NIT_NULL;
 }
 val_t typing___ASendExpr___raw_arguments(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_typing, 928, LOCATE_typing___ASendExpr___raw_arguments};
+  struct trace_t trace = {NULL, NULL, 928, LOCATE_typing___ASendExpr___raw_arguments};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_typing;
   fprintf(stderr, "Deferred method %s called");
   fprintf(stderr, " in %s (%s:%d)\n", LOCATE_typing___ANewExpr___after_typing, LOCATE_typing, 928);
   nit_exit(1);
@@ -2569,16 +2660,17 @@ val_t typing___ASendExpr___raw_arguments(val_t  self) {
   return NIT_NULL;
 }
 void typing___ASendExpr___after_typing(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_typing, 931, LOCATE_typing___ASendExpr___after_typing};
+  struct trace_t trace = {NULL, NULL, 931, LOCATE_typing___ASendExpr___after_typing};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_typing;
   variable0 =  param0;
   ((typing___ASendExpr___do_all_typing_t)CALL( self,COLOR_typing___ASendExpr___do_all_typing))( self,  variable0 /*v*/) /*ASendExpr::do_all_typing*/;
   tracehead = trace.prev;
   return;
 }
 void typing___ASendExpr___do_all_typing(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_typing, 936, LOCATE_typing___ASendExpr___do_all_typing};
+  struct trace_t trace = {NULL, NULL, 936, LOCATE_typing___ASendExpr___do_all_typing};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -2588,6 +2680,7 @@ void typing___ASendExpr___do_all_typing(val_t  self, val_t  param0) {
       val_t variable6;
       val_t variable7;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_typing;
   variable0 =  param0;
   variable1 = ((parser_nodes___ASendExpr___n_expr_t)CALL( self,COLOR_parser_nodes___ASendExpr___n_expr))( self) /*ASendExpr::n_expr*/;
   variable1 = ((typing___PExpr___stype_t)CALL(variable1,COLOR_syntax_base___PExpr___stype))(variable1) /*PExpr::stype*/;
@@ -2669,13 +2762,14 @@ void typing___ASendExpr___do_all_typing(val_t  self, val_t  param0) {
   return;
 }
 val_t typing___ASendReassignExpr___read_prop(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_typing, 958, LOCATE_typing___ASendReassignExpr___read_prop};
+  struct trace_t trace = {NULL, NULL, 958, LOCATE_typing___ASendReassignExpr___read_prop};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_typing;
   tracehead = trace.prev;
   return ATTR_typing___ASendReassignExpr____read_prop( self) /*ASendReassignExpr::_read_prop*/;
 }
 void typing___ASendReassignExpr___do_all_typing(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_typing, 959, LOCATE_typing___ASendReassignExpr___do_all_typing};
+  struct trace_t trace = {NULL, NULL, 959, LOCATE_typing___ASendReassignExpr___do_all_typing};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -2691,6 +2785,7 @@ void typing___ASendReassignExpr___do_all_typing(val_t  self, val_t  param0) {
   val_t variable12;
   val_t variable13;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_typing;
   variable0 =  param0;
   variable2 = ((typing___ASendExpr___raw_arguments_t)CALL( self,COLOR_typing___ASendExpr___raw_arguments))( self) /*ASendExpr::raw_arguments*/;
   variable1 = variable2;
@@ -2834,10 +2929,11 @@ void typing___ASendReassignExpr___do_all_typing(val_t  self, val_t  param0) {
   return;
 }
 val_t typing___ABinopExpr___raw_arguments(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_typing, 995, LOCATE_typing___ABinopExpr___raw_arguments};
+  struct trace_t trace = {NULL, NULL, 995, LOCATE_typing___ABinopExpr___raw_arguments};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_typing;
   variable0 = NEW_array___Array___with_capacity(TAG_Int(1)); /*new Array[E]*/
   variable1 = ((parser_nodes___ABinopExpr___n_expr2_t)CALL( self,COLOR_parser_nodes___ABinopExpr___n_expr2))( self) /*ABinopExpr::n_expr2*/;
   ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
@@ -2847,10 +2943,11 @@ val_t typing___ABinopExpr___raw_arguments(val_t  self) {
   return variable0;
 }
 val_t typing___AEqExpr___name(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_typing, 998, LOCATE_typing___AEqExpr___name};
+  struct trace_t trace = {NULL, NULL, 998, LOCATE_typing___AEqExpr___name};
   val_t variable0;
   static val_t once_value_variable0_91; static int once_bool_variable0_91;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_typing;
   if (once_bool_variable0_91) variable0 = once_value_variable0_91;
   else {
     variable0 = NEW_string___String___with_native(BOX_NativeString("=="), TAG_Int(2)); /*new String*/
@@ -2864,10 +2961,11 @@ val_t typing___AEqExpr___name(val_t  self) {
   return variable0;
 }
 val_t typing___ANeExpr___name(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_typing, 1001, LOCATE_typing___ANeExpr___name};
+  struct trace_t trace = {NULL, NULL, 1001, LOCATE_typing___ANeExpr___name};
   val_t variable0;
   static val_t once_value_variable0_93; static int once_bool_variable0_93;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_typing;
   if (once_bool_variable0_93) variable0 = once_value_variable0_93;
   else {
     variable0 = NEW_string___String___with_native(BOX_NativeString("!="), TAG_Int(2)); /*new String*/
@@ -2881,10 +2979,11 @@ val_t typing___ANeExpr___name(val_t  self) {
   return variable0;
 }
 val_t typing___ALtExpr___name(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_typing, 1004, LOCATE_typing___ALtExpr___name};
+  struct trace_t trace = {NULL, NULL, 1004, LOCATE_typing___ALtExpr___name};
   val_t variable0;
   static val_t once_value_variable0_95; static int once_bool_variable0_95;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_typing;
   if (once_bool_variable0_95) variable0 = once_value_variable0_95;
   else {
     variable0 = NEW_string___String___with_native(BOX_NativeString("<"), TAG_Int(1)); /*new String*/
@@ -2898,10 +2997,11 @@ val_t typing___ALtExpr___name(val_t  self) {
   return variable0;
 }
 val_t typing___ALeExpr___name(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_typing, 1007, LOCATE_typing___ALeExpr___name};
+  struct trace_t trace = {NULL, NULL, 1007, LOCATE_typing___ALeExpr___name};
   val_t variable0;
   static val_t once_value_variable0_97; static int once_bool_variable0_97;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_typing;
   if (once_bool_variable0_97) variable0 = once_value_variable0_97;
   else {
     variable0 = NEW_string___String___with_native(BOX_NativeString("<="), TAG_Int(2)); /*new String*/
@@ -2915,10 +3015,11 @@ val_t typing___ALeExpr___name(val_t  self) {
   return variable0;
 }
 val_t typing___AGtExpr___name(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_typing, 1010, LOCATE_typing___AGtExpr___name};
+  struct trace_t trace = {NULL, NULL, 1010, LOCATE_typing___AGtExpr___name};
   val_t variable0;
   static val_t once_value_variable0_99; static int once_bool_variable0_99;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_typing;
   if (once_bool_variable0_99) variable0 = once_value_variable0_99;
   else {
     variable0 = NEW_string___String___with_native(BOX_NativeString(">"), TAG_Int(1)); /*new String*/
@@ -2932,10 +3033,11 @@ val_t typing___AGtExpr___name(val_t  self) {
   return variable0;
 }
 val_t typing___AGeExpr___name(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_typing, 1013, LOCATE_typing___AGeExpr___name};
+  struct trace_t trace = {NULL, NULL, 1013, LOCATE_typing___AGeExpr___name};
   val_t variable0;
   static val_t once_value_variable0_101; static int once_bool_variable0_101;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_typing;
   if (once_bool_variable0_101) variable0 = once_value_variable0_101;
   else {
     variable0 = NEW_string___String___with_native(BOX_NativeString(">="), TAG_Int(2)); /*new String*/
@@ -2949,10 +3051,11 @@ val_t typing___AGeExpr___name(val_t  self) {
   return variable0;
 }
 val_t typing___APlusExpr___name(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_typing, 1016, LOCATE_typing___APlusExpr___name};
+  struct trace_t trace = {NULL, NULL, 1016, LOCATE_typing___APlusExpr___name};
   val_t variable0;
   static val_t once_value_variable0_103; static int once_bool_variable0_103;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_typing;
   if (once_bool_variable0_103) variable0 = once_value_variable0_103;
   else {
     variable0 = NEW_string___String___with_native(BOX_NativeString("+"), TAG_Int(1)); /*new String*/
@@ -2966,10 +3069,11 @@ val_t typing___APlusExpr___name(val_t  self) {
   return variable0;
 }
 val_t typing___AMinusExpr___name(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_typing, 1019, LOCATE_typing___AMinusExpr___name};
+  struct trace_t trace = {NULL, NULL, 1019, LOCATE_typing___AMinusExpr___name};
   val_t variable0;
   static val_t once_value_variable0_105; static int once_bool_variable0_105;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_typing;
   if (once_bool_variable0_105) variable0 = once_value_variable0_105;
   else {
     variable0 = NEW_string___String___with_native(BOX_NativeString("-"), TAG_Int(1)); /*new String*/
@@ -2983,10 +3087,11 @@ val_t typing___AMinusExpr___name(val_t  self) {
   return variable0;
 }
 val_t typing___AStarshipExpr___name(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_typing, 1022, LOCATE_typing___AStarshipExpr___name};
+  struct trace_t trace = {NULL, NULL, 1022, LOCATE_typing___AStarshipExpr___name};
   val_t variable0;
   static val_t once_value_variable0_107; static int once_bool_variable0_107;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_typing;
   if (once_bool_variable0_107) variable0 = once_value_variable0_107;
   else {
     variable0 = NEW_string___String___with_native(BOX_NativeString("<=>"), TAG_Int(3)); /*new String*/
@@ -3000,10 +3105,11 @@ val_t typing___AStarshipExpr___name(val_t  self) {
   return variable0;
 }
 val_t typing___AStarExpr___name(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_typing, 1025, LOCATE_typing___AStarExpr___name};
+  struct trace_t trace = {NULL, NULL, 1025, LOCATE_typing___AStarExpr___name};
   val_t variable0;
   static val_t once_value_variable0_109; static int once_bool_variable0_109;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_typing;
   if (once_bool_variable0_109) variable0 = once_value_variable0_109;
   else {
     variable0 = NEW_string___String___with_native(BOX_NativeString("*"), TAG_Int(1)); /*new String*/
@@ -3017,10 +3123,11 @@ val_t typing___AStarExpr___name(val_t  self) {
   return variable0;
 }
 val_t typing___ASlashExpr___name(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_typing, 1028, LOCATE_typing___ASlashExpr___name};
+  struct trace_t trace = {NULL, NULL, 1028, LOCATE_typing___ASlashExpr___name};
   val_t variable0;
   static val_t once_value_variable0_111; static int once_bool_variable0_111;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_typing;
   if (once_bool_variable0_111) variable0 = once_value_variable0_111;
   else {
     variable0 = NEW_string___String___with_native(BOX_NativeString("/"), TAG_Int(1)); /*new String*/
@@ -3034,10 +3141,11 @@ val_t typing___ASlashExpr___name(val_t  self) {
   return variable0;
 }
 val_t typing___APercentExpr___name(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_typing, 1031, LOCATE_typing___APercentExpr___name};
+  struct trace_t trace = {NULL, NULL, 1031, LOCATE_typing___APercentExpr___name};
   val_t variable0;
   static val_t once_value_variable0_113; static int once_bool_variable0_113;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_typing;
   if (once_bool_variable0_113) variable0 = once_value_variable0_113;
   else {
     variable0 = NEW_string___String___with_native(BOX_NativeString("%"), TAG_Int(1)); /*new String*/
@@ -3051,10 +3159,11 @@ val_t typing___APercentExpr___name(val_t  self) {
   return variable0;
 }
 val_t typing___AUminusExpr___name(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_typing, 1035, LOCATE_typing___AUminusExpr___name};
+  struct trace_t trace = {NULL, NULL, 1035, LOCATE_typing___AUminusExpr___name};
   val_t variable0;
   static val_t once_value_variable0_115; static int once_bool_variable0_115;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_typing;
   if (once_bool_variable0_115) variable0 = once_value_variable0_115;
   else {
     variable0 = NEW_string___String___with_native(BOX_NativeString("unary -"), TAG_Int(7)); /*new String*/
@@ -3068,9 +3177,10 @@ val_t typing___AUminusExpr___name(val_t  self) {
   return variable0;
 }
 val_t typing___AUminusExpr___raw_arguments(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_typing, 1036, LOCATE_typing___AUminusExpr___raw_arguments};
+  struct trace_t trace = {NULL, NULL, 1036, LOCATE_typing___AUminusExpr___raw_arguments};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_typing;
   variable0 =  NIT_NULL /*null*/;
   goto return_label116;
   return_label116: while(false);
@@ -3078,7 +3188,7 @@ val_t typing___AUminusExpr___raw_arguments(val_t  self) {
   return variable0;
 }
 void typing___ACallFormExpr___after_typing(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_typing, 1040, LOCATE_typing___ACallFormExpr___after_typing};
+  struct trace_t trace = {NULL, NULL, 1040, LOCATE_typing___ACallFormExpr___after_typing};
   val_t variable0;
   val_t variable1;
     val_t variable2;
@@ -3089,6 +3199,7 @@ void typing___ACallFormExpr___after_typing(val_t  self, val_t  param0) {
         val_t variable7;
         val_t variable8;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_typing;
   variable0 =  param0;
   variable1 = ((parser_nodes___ASendExpr___n_expr_t)CALL( self,COLOR_parser_nodes___ASendExpr___n_expr))( self) /*ASendExpr::n_expr*/;
   variable1 = ((typing___PExpr___is_implicit_self_t)CALL(variable1,COLOR_typing___PExpr___is_implicit_self))(variable1) /*PExpr::is_implicit_self*/;
@@ -3130,8 +3241,9 @@ void typing___ACallFormExpr___after_typing(val_t  self, val_t  param0) {
   return;
 }
 val_t typing___ACallFormExpr___variable_create(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_typing, 1059, LOCATE_typing___ACallFormExpr___variable_create};
+  struct trace_t trace = {NULL, NULL, 1059, LOCATE_typing___ACallFormExpr___variable_create};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_typing;
   fprintf(stderr, "Deferred method %s called");
   fprintf(stderr, " in %s (%s:%d)\n", LOCATE_typing___ACallFormExpr___after_typing, LOCATE_typing, 1059);
   nit_exit(1);
@@ -3139,11 +3251,12 @@ val_t typing___ACallFormExpr___variable_create(val_t  self, val_t  param0) {
   return NIT_NULL;
 }
 val_t typing___ACallExpr___variable_create(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_typing, 1064, LOCATE_typing___ACallExpr___variable_create};
+  struct trace_t trace = {NULL, NULL, 1064, LOCATE_typing___ACallExpr___variable_create};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_typing;
   variable0 =  param0;
   variable1 = ((parser_nodes___ACallFormExpr___n_id_t)CALL( self,COLOR_parser_nodes___ACallFormExpr___n_id))( self) /*ACallFormExpr::n_id*/;
   variable2 = NEW_parser_prod___AVarExpr___init_avarexpr(variable1); /*new AVarExpr*/
@@ -3154,9 +3267,10 @@ val_t typing___ACallExpr___variable_create(val_t  self, val_t  param0) {
   return variable1;
 }
 val_t typing___ACallExpr___name(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_typing, 1069, LOCATE_typing___ACallExpr___name};
+  struct trace_t trace = {NULL, NULL, 1069, LOCATE_typing___ACallExpr___name};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_typing;
   variable0 = ((parser_nodes___ACallFormExpr___n_id_t)CALL( self,COLOR_parser_nodes___ACallFormExpr___n_id))( self) /*ACallFormExpr::n_id*/;
   variable0 = ((syntax_base___Token___to_symbol_t)CALL(variable0,COLOR_syntax_base___Token___to_symbol))(variable0) /*Token::to_symbol*/;
   goto return_label119;
@@ -3165,9 +3279,10 @@ val_t typing___ACallExpr___name(val_t  self) {
   return variable0;
 }
 val_t typing___ACallExpr___raw_arguments(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_typing, 1070, LOCATE_typing___ACallExpr___raw_arguments};
+  struct trace_t trace = {NULL, NULL, 1070, LOCATE_typing___ACallExpr___raw_arguments};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_typing;
   variable0 = ((parser_nodes___ACallFormExpr___n_args_t)CALL( self,COLOR_parser_nodes___ACallFormExpr___n_args))( self) /*ACallFormExpr::n_args*/;
   variable0 = ((array___Collection___to_a_t)CALL(variable0,COLOR_array___Collection___to_a))(variable0) /*Collection::to_a*/;
   goto return_label120;
@@ -3176,13 +3291,14 @@ val_t typing___ACallExpr___raw_arguments(val_t  self) {
   return variable0;
 }
 val_t typing___ACallAssignExpr___variable_create(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_typing, 1074, LOCATE_typing___ACallAssignExpr___variable_create};
+  struct trace_t trace = {NULL, NULL, 1074, LOCATE_typing___ACallAssignExpr___variable_create};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   val_t variable3;
   val_t variable4;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_typing;
   variable0 =  param0;
   variable1 = ((parser_nodes___ACallFormExpr___n_id_t)CALL( self,COLOR_parser_nodes___ACallFormExpr___n_id))( self) /*ACallFormExpr::n_id*/;
   variable2 = ((parser_nodes___AAssignFormExpr___n_assign_t)CALL( self,COLOR_parser_nodes___AAssignFormExpr___n_assign))( self) /*AAssignFormExpr::n_assign*/;
@@ -3195,10 +3311,11 @@ val_t typing___ACallAssignExpr___variable_create(val_t  self, val_t  param0) {
   return variable1;
 }
 val_t typing___ACallAssignExpr___name(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_typing, 1079, LOCATE_typing___ACallAssignExpr___name};
+  struct trace_t trace = {NULL, NULL, 1079, LOCATE_typing___ACallAssignExpr___name};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_typing;
   variable0 = ((parser_nodes___ACallFormExpr___n_id_t)CALL( self,COLOR_parser_nodes___ACallFormExpr___n_id))( self) /*ACallFormExpr::n_id*/;
   variable0 = ((lexer___Token___text_t)CALL(variable0,COLOR_lexer___Token___text))(variable0) /*Token::text*/;
   variable1 = NEW_string___String___with_native(BOX_NativeString("="), TAG_Int(1)); /*new String*/
@@ -3210,10 +3327,11 @@ val_t typing___ACallAssignExpr___name(val_t  self) {
   return variable0;
 }
 val_t typing___ACallAssignExpr___raw_arguments(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_typing, 1080, LOCATE_typing___ACallAssignExpr___raw_arguments};
+  struct trace_t trace = {NULL, NULL, 1080, LOCATE_typing___ACallAssignExpr___raw_arguments};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_typing;
   variable1 = ((parser_nodes___ACallFormExpr___n_args_t)CALL( self,COLOR_parser_nodes___ACallFormExpr___n_args))( self) /*ACallFormExpr::n_args*/;
   variable1 = ((array___Collection___to_a_t)CALL(variable1,COLOR_array___Collection___to_a))(variable1) /*Collection::to_a*/;
   variable0 = variable1;
@@ -3226,13 +3344,14 @@ val_t typing___ACallAssignExpr___raw_arguments(val_t  self) {
   return variable0;
 }
 val_t typing___ACallReassignExpr___variable_create(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_typing, 1089, LOCATE_typing___ACallReassignExpr___variable_create};
+  struct trace_t trace = {NULL, NULL, 1089, LOCATE_typing___ACallReassignExpr___variable_create};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   val_t variable3;
   val_t variable4;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_typing;
   variable0 =  param0;
   variable1 = ((parser_nodes___ACallFormExpr___n_id_t)CALL( self,COLOR_parser_nodes___ACallFormExpr___n_id))( self) /*ACallFormExpr::n_id*/;
   variable2 = ((parser_nodes___AReassignFormExpr___n_assign_op_t)CALL( self,COLOR_parser_nodes___AReassignFormExpr___n_assign_op))( self) /*AReassignFormExpr::n_assign_op*/;
@@ -3245,9 +3364,10 @@ val_t typing___ACallReassignExpr___variable_create(val_t  self, val_t  param0) {
   return variable1;
 }
 val_t typing___ACallReassignExpr___name(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_typing, 1094, LOCATE_typing___ACallReassignExpr___name};
+  struct trace_t trace = {NULL, NULL, 1094, LOCATE_typing___ACallReassignExpr___name};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_typing;
   variable0 = ((parser_nodes___ACallFormExpr___n_id_t)CALL( self,COLOR_parser_nodes___ACallFormExpr___n_id))( self) /*ACallFormExpr::n_id*/;
   variable0 = ((syntax_base___Token___to_symbol_t)CALL(variable0,COLOR_syntax_base___Token___to_symbol))(variable0) /*Token::to_symbol*/;
   goto return_label125;
@@ -3256,9 +3376,10 @@ val_t typing___ACallReassignExpr___name(val_t  self) {
   return variable0;
 }
 val_t typing___ACallReassignExpr___raw_arguments(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_typing, 1095, LOCATE_typing___ACallReassignExpr___raw_arguments};
+  struct trace_t trace = {NULL, NULL, 1095, LOCATE_typing___ACallReassignExpr___raw_arguments};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_typing;
   variable0 = ((parser_nodes___ACallFormExpr___n_args_t)CALL( self,COLOR_parser_nodes___ACallFormExpr___n_args))( self) /*ACallFormExpr::n_args*/;
   variable0 = ((array___Collection___to_a_t)CALL(variable0,COLOR_array___Collection___to_a))(variable0) /*Collection::to_a*/;
   goto return_label126;
@@ -3267,10 +3388,11 @@ val_t typing___ACallReassignExpr___raw_arguments(val_t  self) {
   return variable0;
 }
 val_t typing___ABraExpr___name(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_typing, 1099, LOCATE_typing___ABraExpr___name};
+  struct trace_t trace = {NULL, NULL, 1099, LOCATE_typing___ABraExpr___name};
   val_t variable0;
   static val_t once_value_variable0_128; static int once_bool_variable0_128;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_typing;
   if (once_bool_variable0_128) variable0 = once_value_variable0_128;
   else {
     variable0 = NEW_string___String___with_native(BOX_NativeString("[]"), TAG_Int(2)); /*new String*/
@@ -3284,9 +3406,10 @@ val_t typing___ABraExpr___name(val_t  self) {
   return variable0;
 }
 val_t typing___ABraExpr___raw_arguments(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_typing, 1100, LOCATE_typing___ABraExpr___raw_arguments};
+  struct trace_t trace = {NULL, NULL, 1100, LOCATE_typing___ABraExpr___raw_arguments};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_typing;
   variable0 = ((parser_nodes___ABraFormExpr___n_args_t)CALL( self,COLOR_parser_nodes___ABraFormExpr___n_args))( self) /*ABraFormExpr::n_args*/;
   variable0 = ((array___Collection___to_a_t)CALL(variable0,COLOR_array___Collection___to_a))(variable0) /*Collection::to_a*/;
   goto return_label129;
@@ -3295,10 +3418,11 @@ val_t typing___ABraExpr___raw_arguments(val_t  self) {
   return variable0;
 }
 val_t typing___ABraAssignExpr___name(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_typing, 1104, LOCATE_typing___ABraAssignExpr___name};
+  struct trace_t trace = {NULL, NULL, 1104, LOCATE_typing___ABraAssignExpr___name};
   val_t variable0;
   static val_t once_value_variable0_131; static int once_bool_variable0_131;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_typing;
   if (once_bool_variable0_131) variable0 = once_value_variable0_131;
   else {
     variable0 = NEW_string___String___with_native(BOX_NativeString("[]="), TAG_Int(3)); /*new String*/
@@ -3312,10 +3436,11 @@ val_t typing___ABraAssignExpr___name(val_t  self) {
   return variable0;
 }
 val_t typing___ABraAssignExpr___raw_arguments(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_typing, 1105, LOCATE_typing___ABraAssignExpr___raw_arguments};
+  struct trace_t trace = {NULL, NULL, 1105, LOCATE_typing___ABraAssignExpr___raw_arguments};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_typing;
   variable1 = ((parser_nodes___ABraFormExpr___n_args_t)CALL( self,COLOR_parser_nodes___ABraFormExpr___n_args))( self) /*ABraFormExpr::n_args*/;
   variable1 = ((array___Collection___to_a_t)CALL(variable1,COLOR_array___Collection___to_a))(variable1) /*Collection::to_a*/;
   variable0 = variable1;
@@ -3328,10 +3453,11 @@ val_t typing___ABraAssignExpr___raw_arguments(val_t  self) {
   return variable0;
 }
 val_t typing___ABraReassignExpr___name(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_typing, 1114, LOCATE_typing___ABraReassignExpr___name};
+  struct trace_t trace = {NULL, NULL, 1114, LOCATE_typing___ABraReassignExpr___name};
   val_t variable0;
   static val_t once_value_variable0_134; static int once_bool_variable0_134;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_typing;
   if (once_bool_variable0_134) variable0 = once_value_variable0_134;
   else {
     variable0 = NEW_string___String___with_native(BOX_NativeString("[]"), TAG_Int(2)); /*new String*/
@@ -3345,9 +3471,10 @@ val_t typing___ABraReassignExpr___name(val_t  self) {
   return variable0;
 }
 val_t typing___ABraReassignExpr___raw_arguments(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_typing, 1115, LOCATE_typing___ABraReassignExpr___raw_arguments};
+  struct trace_t trace = {NULL, NULL, 1115, LOCATE_typing___ABraReassignExpr___raw_arguments};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_typing;
   variable0 = ((parser_nodes___ABraFormExpr___n_args_t)CALL( self,COLOR_parser_nodes___ABraFormExpr___n_args))( self) /*ABraFormExpr::n_args*/;
   variable0 = ((array___Collection___to_a_t)CALL(variable0,COLOR_array___Collection___to_a))(variable0) /*Collection::to_a*/;
   goto return_label135;
@@ -3356,10 +3483,11 @@ val_t typing___ABraReassignExpr___raw_arguments(val_t  self) {
   return variable0;
 }
 val_t typing___AInitExpr___name(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_typing, 1119, LOCATE_typing___AInitExpr___name};
+  struct trace_t trace = {NULL, NULL, 1119, LOCATE_typing___AInitExpr___name};
   val_t variable0;
   static val_t once_value_variable0_137; static int once_bool_variable0_137;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_typing;
   if (once_bool_variable0_137) variable0 = once_value_variable0_137;
   else {
     variable0 = NEW_string___String___with_native(BOX_NativeString("init"), TAG_Int(4)); /*new String*/
@@ -3373,9 +3501,10 @@ val_t typing___AInitExpr___name(val_t  self) {
   return variable0;
 }
 val_t typing___AInitExpr___raw_arguments(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_typing, 1120, LOCATE_typing___AInitExpr___raw_arguments};
+  struct trace_t trace = {NULL, NULL, 1120, LOCATE_typing___AInitExpr___raw_arguments};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_typing;
   variable0 = ((parser_nodes___AInitExpr___n_args_t)CALL( self,COLOR_parser_nodes___AInitExpr___n_args))( self) /*AInitExpr::n_args*/;
   variable0 = ((array___Collection___to_a_t)CALL(variable0,COLOR_array___Collection___to_a))(variable0) /*Collection::to_a*/;
   goto return_label138;
@@ -3384,13 +3513,14 @@ val_t typing___AInitExpr___raw_arguments(val_t  self) {
   return variable0;
 }
 void typing___AIsaExpr___after_typing(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_typing, 1124, LOCATE_typing___AIsaExpr___after_typing};
+  struct trace_t trace = {NULL, NULL, 1124, LOCATE_typing___AIsaExpr___after_typing};
   val_t variable0;
   val_t variable1;
     val_t variable2;
     val_t variable3;
     val_t variable4;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_typing;
   variable0 =  param0;
   variable1 = ((parser_nodes___AIsaExpr___n_expr_t)CALL( self,COLOR_parser_nodes___AIsaExpr___n_expr))( self) /*AIsaExpr::n_expr*/;
   variable1 = ((typing___PExpr___is_variable_t)CALL(variable1,COLOR_typing___PExpr___is_variable))(variable1) /*PExpr::is_variable*/;
@@ -3412,11 +3542,12 @@ void typing___AIsaExpr___after_typing(val_t  self, val_t  param0) {
   return;
 }
 void typing___AAsCastExpr___after_typing(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_typing, 1136, LOCATE_typing___AAsCastExpr___after_typing};
+  struct trace_t trace = {NULL, NULL, 1136, LOCATE_typing___AAsCastExpr___after_typing};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_typing;
   variable0 =  param0;
   variable1 = ((parser_nodes___AAsCastExpr___n_type_t)CALL( self,COLOR_parser_nodes___AAsCastExpr___n_type))( self) /*AAsCastExpr::n_type*/;
   variable1 = ((typing___PType___stype_t)CALL(variable1,COLOR_typing___PType___stype))(variable1) /*PType::stype*/;
@@ -3428,10 +3559,11 @@ void typing___AAsCastExpr___after_typing(val_t  self, val_t  param0) {
   return;
 }
 void typing___AProxyExpr___after_typing(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_typing, 1144, LOCATE_typing___AProxyExpr___after_typing};
+  struct trace_t trace = {NULL, NULL, 1144, LOCATE_typing___AProxyExpr___after_typing};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_typing;
   variable0 =  param0;
   variable1 = ((parser_nodes___AProxyExpr___n_expr_t)CALL( self,COLOR_parser_nodes___AProxyExpr___n_expr))( self) /*AProxyExpr::n_expr*/;
   variable1 = ((typing___PExpr___stype_t)CALL(variable1,COLOR_syntax_base___PExpr___stype))(variable1) /*PExpr::stype*/;
index 8262c6b..ee9bed4 100644 (file)
@@ -1,6 +1,6 @@
 /* This C header file is generated by NIT to compile modules and programs that requires typing. */
-#ifndef typing_2_sep
-#define typing_2_sep
+#ifndef typing_sep
+#define typing_sep
 #include "syntax_base._sep.h"
 #include <nit_common.h>
 
@@ -15,7 +15,7 @@ extern const classtable_elt_t VFT_AAbsSendExpr[];
 extern const classtable_elt_t VFT_ASuperInitCall[];
 
 extern const classtable_elt_t VFT_ASendReassignExpr[];
-#define LOCATE_typing "./syntax//typing.nit"
+extern const char *LOCATE_typing;
 extern const int SFT_typing[];
 #define COLOR_typing___MMSrcModule___do_typing SFT_typing[0]
 #define ID_TypingVisitor SFT_typing[1]
index 3295bb4..9e21c07 100644 (file)
@@ -1,7 +1,7 @@
 /* This C file is generated by NIT to compile module utils. */
 #include "utils._sep.h"
 val_t utils___Object___cmangle(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_utils, 21, LOCATE_utils___Object___cmangle};
+  struct trace_t trace = {NULL, NULL, 21, LOCATE_utils___Object___cmangle};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -17,6 +17,7 @@ val_t utils___Object___cmangle(val_t  self, val_t  param0) {
       val_t variable11;
         val_t variable12;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_utils;
   /* check if p<Array[Symbol] with p:Symbol */
   if (( param0!=NIT_NULL) && !VAL_ISA( param0, COLOR_Array, ID_Array)) { fprintf(stderr, "Cast failled"); fprintf(stderr, " (%s:%d)\n", LOCATE_utils, 22); nit_exit(1); } /*cast Array[Symbol]*/;
   variable0 =  param0;
@@ -119,10 +120,11 @@ val_t utils___Object___cmangle(val_t  self, val_t  param0) {
   return variable1;
 }
 val_t utils___Object___cmangle_table(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_utils, 58, LOCATE_utils___Object___cmangle_table};
+  struct trace_t trace = {NULL, NULL, 58, LOCATE_utils___Object___cmangle_table};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_utils;
   variable1 = NEW_hash___HashMap___init(); /*new HashMap[K, V]*/
   variable0 = variable1;
   variable1 = NEW_string___String___with_native(BOX_NativeString("plus"), TAG_Int(4)); /*new String*/
index e20c6d0..caa7b85 100644 (file)
@@ -1,9 +1,9 @@
 /* This C header file is generated by NIT to compile modules and programs that requires utils. */
-#ifndef utils_2_sep
-#define utils_2_sep
+#ifndef utils_sep
+#define utils_sep
 #include "standard._sep.h"
 #include <nit_common.h>
-#define LOCATE_utils "./utils.nit"
+extern const char *LOCATE_utils;
 extern const int SFT_utils[];
 #define COLOR_utils___Object___cmangle SFT_utils[0]
 #define COLOR_utils___Object___cmangle_table SFT_utils[1]
index 6865541..d123ec5 100644 (file)
@@ -1,22 +1,25 @@
 /* This C file is generated by NIT to compile module vararg. */
 #include "vararg._sep.h"
 val_t vararg___MMSignature___vararg_rank(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_vararg, 24, LOCATE_vararg___MMSignature___vararg_rank};
+  struct trace_t trace = {NULL, NULL, 24, LOCATE_vararg___MMSignature___vararg_rank};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_vararg;
   tracehead = trace.prev;
   return ATTR_vararg___MMSignature____vararg_rank( self) /*MMSignature::_vararg_rank*/;
 }
 void vararg___MMSignature___vararg_rank__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_vararg, 24, LOCATE_vararg___MMSignature___vararg_rank__eq};
+  struct trace_t trace = {NULL, NULL, 24, LOCATE_vararg___MMSignature___vararg_rank__eq};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_vararg;
   ATTR_vararg___MMSignature____vararg_rank( self) /*MMSignature::_vararg_rank*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t vararg___MMSignature___has_vararg(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_vararg, 27, LOCATE_vararg___MMSignature___has_vararg};
+  struct trace_t trace = {NULL, NULL, 27, LOCATE_vararg___MMSignature___has_vararg};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_vararg;
   variable0 = ATTR_vararg___MMSignature____vararg_rank( self) /*MMSignature::_vararg_rank*/;
   variable0 = TAG_Bool(UNTAG_Int(variable0)>=UNTAG_Int( TAG_Int(0)));
   goto return_label0;
@@ -25,11 +28,12 @@ val_t vararg___MMSignature___has_vararg(val_t  self) {
   return variable0;
 }
 val_t vararg___MMSignature___adaptation_to(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_vararg, 33, LOCATE_vararg___MMSignature___adaptation_to};
+  struct trace_t trace = {NULL, NULL, 33, LOCATE_vararg___MMSignature___adaptation_to};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_vararg;
   variable0 =  param0;
   variable2 = ((vararg___MMSignature___adaptation_to_t)CALL( self,COLOR_SUPER_vararg___MMSignature___adaptation_to))( self,  variable0 /*r*/) /*super MMSignature::adaptation_to*/;
   variable1 = variable2;
@@ -42,12 +46,13 @@ val_t vararg___MMSignature___adaptation_to(val_t  self, val_t  param0) {
   return variable1;
 }
 void vararg___MMSignature___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_vararg, 40, LOCATE_vararg___MMSignature___init};
+  struct trace_t trace = {NULL, NULL, 40, LOCATE_vararg___MMSignature___init};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   val_t variable3;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_vararg;
   variable0 =  param0;
   variable1 =  param1;
   variable2 =  param2;
index 63746ab..c79825d 100644 (file)
@@ -1,9 +1,9 @@
 /* This C header file is generated by NIT to compile modules and programs that requires vararg. */
-#ifndef vararg_2_sep
-#define vararg_2_sep
+#ifndef vararg_sep
+#define vararg_sep
 #include "genericity._sep.h"
 #include <nit_common.h>
-#define LOCATE_vararg "./metamodel//vararg.nit"
+extern const char *LOCATE_vararg;
 extern const int SFT_vararg[];
 #define COLOR_vararg___MMSignature____vararg_rank SFT_vararg[0]
 #define COLOR_vararg___MMSignature___vararg_rank SFT_vararg[1]
index ca00095..7bc0408 100644 (file)
@@ -1,9 +1,10 @@
 /* This C file is generated by NIT to compile module virtualtype. */
 #include "virtualtype._sep.h"
 val_t virtualtype___MMGlobalProperty___is_virtual_type(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_virtualtype, 24, LOCATE_virtualtype___MMGlobalProperty___is_virtual_type};
+  struct trace_t trace = {NULL, NULL, 24, LOCATE_virtualtype___MMGlobalProperty___is_virtual_type};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_virtualtype;
   variable0 = ((abstractmetamodel___MMGlobalProperty___intro_t)CALL( self,COLOR_abstractmetamodel___MMGlobalProperty___intro))( self) /*MMGlobalProperty::intro*/;
   variable0 = TAG_Bool((variable0==NIT_NULL) || VAL_ISA(variable0, COLOR_MMTypeProperty, ID_MMTypeProperty)) /*cast MMTypeProperty*/;
   goto return_label0;
@@ -12,12 +13,13 @@ val_t virtualtype___MMGlobalProperty___is_virtual_type(val_t  self) {
   return variable0;
 }
 val_t virtualtype___MMTypeProperty___stype_for(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_virtualtype, 31, LOCATE_virtualtype___MMTypeProperty___stype_for};
+  struct trace_t trace = {NULL, NULL, 31, LOCATE_virtualtype___MMTypeProperty___stype_for};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   val_t variable3;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_virtualtype;
   variable0 =  param0;
   variable2 = ((static_type___MMType___local_class_t)CALL( variable0 /*recv*/,COLOR_static_type___MMType___local_class))( variable0 /*recv*/) /*MMType::local_class*/;
   variable3 = ((abstractmetamodel___MMLocalProperty___global_t)CALL( self,COLOR_abstractmetamodel___MMLocalProperty___global))( self) /*MMLocalProperty::global*/;
@@ -33,11 +35,12 @@ val_t virtualtype___MMTypeProperty___stype_for(val_t  self, val_t  param0) {
   return variable1;
 }
 val_t virtualtype___MMTypeProperty___real_stype_for(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_virtualtype, 42, LOCATE_virtualtype___MMTypeProperty___real_stype_for};
+  struct trace_t trace = {NULL, NULL, 42, LOCATE_virtualtype___MMTypeProperty___real_stype_for};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_virtualtype;
   variable0 =  param0;
   variable1 = ((static_type___MMLocalProperty___signature_t)CALL( self,COLOR_static_type___MMLocalProperty___signature))( self) /*MMLocalProperty::signature*/;
   variable1 = TAG_Bool((variable1 ==  NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1,  NIT_NULL /*null*/) /*Object::==*/)))));
@@ -63,24 +66,27 @@ val_t virtualtype___MMTypeProperty___real_stype_for(val_t  self, val_t  param0)
   return variable1;
 }
 val_t virtualtype___MMVirtualType___property(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_virtualtype, 58, LOCATE_virtualtype___MMVirtualType___property};
+  struct trace_t trace = {NULL, NULL, 58, LOCATE_virtualtype___MMVirtualType___property};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_virtualtype;
   tracehead = trace.prev;
   return ATTR_virtualtype___MMVirtualType____property( self) /*MMVirtualType::_property*/;
 }
 val_t virtualtype___MMVirtualType___recv(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_virtualtype, 61, LOCATE_virtualtype___MMVirtualType___recv};
+  struct trace_t trace = {NULL, NULL, 61, LOCATE_virtualtype___MMVirtualType___recv};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_virtualtype;
   tracehead = trace.prev;
   return ATTR_virtualtype___MMVirtualType____recv( self) /*MMVirtualType::_recv*/;
 }
 void virtualtype___MMVirtualType___init(val_t  self, val_t  param0, val_t  param1, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_virtualtype, 64, LOCATE_virtualtype___MMVirtualType___init};
+  struct trace_t trace = {NULL, NULL, 64, LOCATE_virtualtype___MMVirtualType___init};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   val_t variable3;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_virtualtype;
   variable0 =  param0;
   variable1 =  param1;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_MMVirtualType].i]) return;
@@ -95,9 +101,10 @@ void virtualtype___MMVirtualType___init(val_t  self, val_t  param0, val_t  param
   return;
 }
 val_t virtualtype___MMVirtualType___module(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_virtualtype, 71, LOCATE_virtualtype___MMVirtualType___module};
+  struct trace_t trace = {NULL, NULL, 71, LOCATE_virtualtype___MMVirtualType___module};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_virtualtype;
   variable0 = ATTR_virtualtype___MMVirtualType____recv( self) /*MMVirtualType::_recv*/;
   variable0 = ((static_type___MMType___module_t)CALL(variable0,COLOR_static_type___MMType___module))(variable0) /*MMType::module*/;
   goto return_label4;
@@ -106,10 +113,11 @@ val_t virtualtype___MMVirtualType___module(val_t  self) {
   return variable0;
 }
 val_t virtualtype___MMVirtualType___for_module(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_virtualtype, 73, LOCATE_virtualtype___MMVirtualType___for_module};
+  struct trace_t trace = {NULL, NULL, 73, LOCATE_virtualtype___MMVirtualType___for_module};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_virtualtype;
   variable0 =  param0;
   variable1 = ((virtualtype___MMVirtualType___module_t)CALL( self,COLOR_static_type___MMType___module))( self) /*MMVirtualType::module*/;
   variable1 = TAG_Bool(( variable0 /*mod*/ == variable1) || (( variable0 /*mod*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*mod*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*mod*/,variable1)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*mod*/,COLOR_kernel___Object_____eqeq))( variable0 /*mod*/, variable1) /*Object::==*/)))));
@@ -126,9 +134,10 @@ val_t virtualtype___MMVirtualType___for_module(val_t  self, val_t  param0) {
   return variable1;
 }
 val_t virtualtype___MMVirtualType___not_for_self(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_virtualtype, 79, LOCATE_virtualtype___MMVirtualType___not_for_self};
+  struct trace_t trace = {NULL, NULL, 79, LOCATE_virtualtype___MMVirtualType___not_for_self};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_virtualtype;
   variable0 = ((type_formal___MMTypeFormal___bound_t)CALL( self,COLOR_type_formal___MMTypeFormal___bound))( self) /*MMTypeFormal::bound*/;
   variable0 = ((static_type___MMType___not_for_self_t)CALL(variable0,COLOR_static_type___MMType___not_for_self))(variable0) /*MMType::not_for_self*/;
   goto return_label6;
@@ -137,10 +146,11 @@ val_t virtualtype___MMVirtualType___not_for_self(val_t  self) {
   return variable0;
 }
 val_t virtualtype___MMVirtualType___adapt_to(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_virtualtype, 84, LOCATE_virtualtype___MMVirtualType___adapt_to};
+  struct trace_t trace = {NULL, NULL, 84, LOCATE_virtualtype___MMVirtualType___adapt_to};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_virtualtype;
   variable0 =  param0;
   variable1 = ((virtualtype___MMVirtualType___property_t)CALL( self,COLOR_virtualtype___MMVirtualType___property))( self) /*MMVirtualType::property*/;
   variable1 = ((virtualtype___MMTypeProperty___stype_for_t)CALL(variable1,COLOR_virtualtype___MMTypeProperty___stype_for))(variable1,  variable0 /*recv*/) /*MMTypeProperty::stype_for*/;
@@ -150,11 +160,12 @@ val_t virtualtype___MMVirtualType___adapt_to(val_t  self, val_t  param0) {
   return variable1;
 }
 val_t virtualtype___MMLocalClass___virtual_type(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_virtualtype, 91, LOCATE_virtualtype___MMLocalClass___virtual_type};
+  struct trace_t trace = {NULL, NULL, 91, LOCATE_virtualtype___MMLocalClass___virtual_type};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_virtualtype;
   variable0 =  param0;
   variable2 = ((abstractmetamodel___MMLocalClass___get_property_by_name_t)CALL( self,COLOR_abstractmetamodel___MMLocalClass___get_property_by_name))( self,  variable0 /*s*/) /*MMLocalClass::get_property_by_name*/;
   variable1 = variable2;
@@ -170,12 +181,13 @@ val_t virtualtype___MMLocalClass___virtual_type(val_t  self, val_t  param0) {
   return variable1;
 }
 val_t virtualtype___MMLocalClass___select_virtual_type(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_virtualtype, 100, LOCATE_virtualtype___MMLocalClass___select_virtual_type};
+  struct trace_t trace = {NULL, NULL, 100, LOCATE_virtualtype___MMLocalClass___select_virtual_type};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   val_t variable3;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_virtualtype;
   variable0 =  param0;
   variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*name*/ ==  NIT_NULL /*null*/) || (( variable0 /*name*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*name*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*name*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*name*/,COLOR_kernel___Object_____eqeq))( variable0 /*name*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (!UNTAG_Bool(variable1)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_virtualtype___MMLocalClass___select_virtual_type, LOCATE_virtualtype, 103); nit_exit(1);}
index 6693f9e..9f4f8db 100644 (file)
@@ -1,13 +1,13 @@
 /* This C header file is generated by NIT to compile modules and programs that requires virtualtype. */
-#ifndef virtualtype_2_sep
-#define virtualtype_2_sep
+#ifndef virtualtype_sep
+#define virtualtype_sep
 #include "type_formal._sep.h"
 #include <nit_common.h>
 
 extern const classtable_elt_t VFT_MMTypeProperty[];
 
 extern const classtable_elt_t VFT_MMVirtualType[];
-#define LOCATE_virtualtype "./metamodel//virtualtype.nit"
+extern const char *LOCATE_virtualtype;
 extern const int SFT_virtualtype[];
 #define COLOR_virtualtype___MMGlobalProperty___is_virtual_type SFT_virtualtype[0]
 #define ID_MMTypeProperty SFT_virtualtype[1]