c_src: update
[nit.git] / c_src / lexer._sep.c
index 603d0d6..20a6176 100644 (file)
@@ -1,5 +1,41 @@
 /* This C file is generated by NIT to compile module lexer. */
 #include "lexer._sep.h"
+val_t lexer___Token___text(val_t p0){
+  struct {struct stack_frame_t me;} fra;
+  val_t REGB0;
+  val_t tmp;
+  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+  fra.me.file = LOCATE_lexer;
+  fra.me.line = 9;
+  fra.me.meth = LOCATE_lexer___Token___text;
+  fra.me.has_broke = 0;
+  fra.me.REG_size = 1;
+  fra.me.REG[0] = NIT_NULL;
+  fra.me.REG[0] = p0;
+  /* ./parser//lexer.nit:9 */
+  REGB0 = TAG_Bool(ATTR_lexer___Token____text(fra.me.REG[0])!=NIT_NULL);
+  if (UNTAG_Bool(REGB0)) {
+  } else {
+    nit_abort("Uninitialized attribute %s", "_text", LOCATE_lexer, 9);
+  }
+  fra.me.REG[0] = ATTR_lexer___Token____text(fra.me.REG[0]);
+  stack_frame_head = fra.me.prev;
+  return fra.me.REG[0];
+}
+val_t lexer___Token___parser_index(val_t p0){
+  struct {struct stack_frame_t me;} fra;
+  val_t tmp;
+  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+  fra.me.file = LOCATE_lexer;
+  fra.me.line = 11;
+  fra.me.meth = LOCATE_lexer___Token___parser_index;
+  fra.me.has_broke = 0;
+  fra.me.REG_size = 0;
+  /* ./parser//lexer.nit:11 */
+  nit_abort("Deferred method called", NULL, LOCATE_lexer, 11);
+  stack_frame_head = fra.me.prev;
+  return NIT_NULL;
+}
 val_t lexer___Token___to_s(val_t p0){
   struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
   val_t REGB0;
@@ -8,7 +44,7 @@ val_t lexer___Token___to_s(val_t p0){
   static val_t once_value_2; /* Once value */
   fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
   fra.me.file = LOCATE_lexer;
-  fra.me.line = 12;
+  fra.me.line = 13;
   fra.me.meth = LOCATE_lexer___Token___to_s;
   fra.me.has_broke = 0;
   fra.me.REG_size = 3;
@@ -16,9 +52,9 @@ val_t lexer___Token___to_s(val_t p0){
   fra.me.REG[1] = NIT_NULL;
   fra.me.REG[2] = NIT_NULL;
   fra.me.REG[0] = p0;
+  /* ./parser//lexer.nit:14 */
   REGB0 = TAG_Int(3);
   fra.me.REG[1] = NEW_Array_array___Array___with_capacity(REGB0);
-  /* ./parser//lexer.nit:13 */
   if (!once_value_1) {
     fra.me.REG[2] = BOX_NativeString("'");
     REGB0 = TAG_Int(1);
@@ -26,16 +62,15 @@ val_t lexer___Token___to_s(val_t p0){
     once_value_1 = fra.me.REG[2];
     register_static_object(&once_value_1);
   } else fra.me.REG[2] = once_value_1;
-  array___Array___add(fra.me.REG[1], fra.me.REG[2]);
+  fra.me.REG[2] = fra.me.REG[2];
+  CALL_abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
   REGB0 = TAG_Bool(ATTR_lexer___Token____text(fra.me.REG[0])!=NIT_NULL);
   if (UNTAG_Bool(REGB0)) {
   } else {
-    fprintf(stderr, "Uninitialized attribute %s", "_text");
-    fprintf(stderr, " (%s:%d)\n", LOCATE_lexer, 13);
-    nit_exit(1);
+    nit_abort("Uninitialized attribute %s", "_text", LOCATE_lexer, 14);
   }
   fra.me.REG[0] = ATTR_lexer___Token____text(fra.me.REG[0]);
-  array___Array___add(fra.me.REG[1], fra.me.REG[0]);
+  CALL_abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
   if (!once_value_2) {
     fra.me.REG[0] = BOX_NativeString("'");
     REGB0 = TAG_Int(1);
@@ -43,85 +78,28 @@ val_t lexer___Token___to_s(val_t p0){
     once_value_2 = fra.me.REG[0];
     register_static_object(&once_value_2);
   } else fra.me.REG[0] = once_value_2;
-  array___Array___add(fra.me.REG[1], fra.me.REG[0]);
+  fra.me.REG[0] = fra.me.REG[0];
+  CALL_abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
   fra.me.REG[1] = CALL_string___Object___to_s(fra.me.REG[1])(fra.me.REG[1]);
   goto label3;
   label3: while(0);
   stack_frame_head = fra.me.prev;
   return fra.me.REG[1];
 }
-val_t lexer___Token___text(val_t p0){
-  struct {struct stack_frame_t me;} fra;
-  val_t REGB0;
-  val_t tmp;
-  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
-  fra.me.file = LOCATE_lexer;
-  fra.me.line = 8;
-  fra.me.meth = LOCATE_lexer___Token___text;
-  fra.me.has_broke = 0;
-  fra.me.REG_size = 1;
-  fra.me.REG[0] = NIT_NULL;
-  fra.me.REG[0] = p0;
-  REGB0 = TAG_Bool(ATTR_lexer___Token____text(fra.me.REG[0])!=NIT_NULL);
-  /* ./parser//lexer.nit:8 */
-  if (UNTAG_Bool(REGB0)) {
-  } else {
-    fprintf(stderr, "Uninitialized attribute %s", "_text");
-    fprintf(stderr, " (%s:%d)\n", LOCATE_lexer, 8);
-    nit_exit(1);
-  }
-  fra.me.REG[0] = ATTR_lexer___Token____text(fra.me.REG[0]);
-  stack_frame_head = fra.me.prev;
-  return fra.me.REG[0];
-}
-void lexer___Token___text__eq(val_t p0, val_t p1){
-  struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
-  val_t tmp;
-  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
-  fra.me.file = LOCATE_lexer;
-  fra.me.line = 8;
-  fra.me.meth = LOCATE_lexer___Token___text__eq;
-  fra.me.has_broke = 0;
-  fra.me.REG_size = 2;
-  fra.me.REG[0] = NIT_NULL;
-  fra.me.REG[1] = NIT_NULL;
-  fra.me.REG[0] = p0;
-  fra.me.REG[1] = p1;
-  /* ./parser//lexer.nit:8 */
-  ATTR_lexer___Token____text(fra.me.REG[0]) = fra.me.REG[1];
-  stack_frame_head = fra.me.prev;
-  return;
-}
-val_t lexer___Token___parser_index(val_t p0){
-  struct {struct stack_frame_t me;} fra;
-  val_t tmp;
-  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
-  fra.me.file = LOCATE_lexer;
-  fra.me.line = 10;
-  fra.me.meth = LOCATE_lexer___Token___parser_index;
-  fra.me.has_broke = 0;
-  fra.me.REG_size = 0;
-  /* ./parser//lexer.nit:10 */
-  fprintf(stderr, "Deferred method called");
-  fprintf(stderr, " (%s:%d)\n", LOCATE_lexer, 10);
-  nit_exit(1);
-  stack_frame_head = fra.me.prev;
-  return NIT_NULL;
-}
 val_t lexer___TEol___parser_index(val_t p0){
   struct {struct stack_frame_t me;} fra;
   val_t REGB0;
   val_t tmp;
   fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
   fra.me.file = LOCATE_lexer;
-  fra.me.line = 18;
+  fra.me.line = 19;
   fra.me.meth = LOCATE_lexer___TEol___parser_index;
   fra.me.has_broke = 0;
   fra.me.REG_size = 1;
   fra.me.REG[0] = NIT_NULL;
   fra.me.REG[0] = p0;
+  /* ./parser//lexer.nit:21 */
   REGB0 = TAG_Int(0);
-  /* ./parser//lexer.nit:20 */
   goto label1;
   label1: while(0);
   stack_frame_head = fra.me.prev;
@@ -134,7 +112,7 @@ void lexer___TEol___init_tk(val_t p0, val_t p1, val_t p2, int* init_table){
   if (init_table[itpos0]) return;
   fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
   fra.me.file = LOCATE_lexer;
-  fra.me.line = 23;
+  fra.me.line = 24;
   fra.me.meth = LOCATE_lexer___TEol___init_tk;
   fra.me.has_broke = 0;
   fra.me.REG_size = 3;
@@ -144,9 +122,9 @@ void lexer___TEol___init_tk(val_t p0, val_t p1, val_t p2, int* init_table){
   fra.me.REG[0] = p0;
   fra.me.REG[1] = p1;
   fra.me.REG[2] = p2;
-  /* ./parser//lexer.nit:25 */
-  ATTR_lexer___Token____text(fra.me.REG[0]) = fra.me.REG[1];
   /* ./parser//lexer.nit:26 */
+  ATTR_lexer___Token____text(fra.me.REG[0]) = fra.me.REG[1];
+  /* ./parser//lexer.nit:27 */
   ATTR_parser_nodes___ANode____location(fra.me.REG[0]) = fra.me.REG[2];
   stack_frame_head = fra.me.prev;
   init_table[itpos0] = 1;
@@ -158,14 +136,14 @@ val_t lexer___TComment___parser_index(val_t p0){
   val_t tmp;
   fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
   fra.me.file = LOCATE_lexer;
-  fra.me.line = 31;
+  fra.me.line = 32;
   fra.me.meth = LOCATE_lexer___TComment___parser_index;
   fra.me.has_broke = 0;
   fra.me.REG_size = 1;
   fra.me.REG[0] = NIT_NULL;
   fra.me.REG[0] = p0;
+  /* ./parser//lexer.nit:34 */
   REGB0 = TAG_Int(1);
-  /* ./parser//lexer.nit:33 */
   goto label1;
   label1: while(0);
   stack_frame_head = fra.me.prev;
@@ -178,7 +156,7 @@ void lexer___TComment___init_tk(val_t p0, val_t p1, val_t p2, int* init_table){
   if (init_table[itpos1]) return;
   fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
   fra.me.file = LOCATE_lexer;
-  fra.me.line = 36;
+  fra.me.line = 37;
   fra.me.meth = LOCATE_lexer___TComment___init_tk;
   fra.me.has_broke = 0;
   fra.me.REG_size = 3;
@@ -188,45 +166,42 @@ void lexer___TComment___init_tk(val_t p0, val_t p1, val_t p2, int* init_table){
   fra.me.REG[0] = p0;
   fra.me.REG[1] = p1;
   fra.me.REG[2] = p2;
-  /* ./parser//lexer.nit:38 */
-  ATTR_lexer___Token____text(fra.me.REG[0]) = fra.me.REG[1];
   /* ./parser//lexer.nit:39 */
+  ATTR_lexer___Token____text(fra.me.REG[0]) = fra.me.REG[1];
+  /* ./parser//lexer.nit:40 */
   ATTR_parser_nodes___ANode____location(fra.me.REG[0]) = fra.me.REG[2];
   stack_frame_head = fra.me.prev;
   init_table[itpos1] = 1;
   return;
 }
-val_t lexer___TKwpackage___parser_index(val_t p0){
+val_t lexer___TKwmodule___parser_index(val_t p0){
   struct {struct stack_frame_t me;} fra;
   val_t REGB0;
   val_t tmp;
   fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
   fra.me.file = LOCATE_lexer;
-  fra.me.line = 44;
-  fra.me.meth = LOCATE_lexer___TKwpackage___parser_index;
+  fra.me.line = 45;
+  fra.me.meth = LOCATE_lexer___TKwmodule___parser_index;
   fra.me.has_broke = 0;
   fra.me.REG_size = 1;
   fra.me.REG[0] = NIT_NULL;
   fra.me.REG[0] = p0;
+  /* ./parser//lexer.nit:47 */
   REGB0 = TAG_Int(2);
-  /* ./parser//lexer.nit:46 */
   goto label1;
   label1: while(0);
   stack_frame_head = fra.me.prev;
   return REGB0;
 }
-void lexer___TKwpackage___init_tk(val_t p0, val_t p1, int* init_table){
-  int itpos2 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_TKwpackage].i;
+void lexer___TKwmodule___init_tk(val_t p0, val_t p1, val_t p2, int* init_table){
+  int itpos2 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_TKwmodule].i;
   struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
-  val_t REGB0;
   val_t tmp;
-  static val_t once_value_1; /* Once value */
-    static val_t once_value_2; /* Once value */
   if (init_table[itpos2]) return;
   fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
   fra.me.file = LOCATE_lexer;
-  fra.me.line = 49;
-  fra.me.meth = LOCATE_lexer___TKwpackage___init_tk;
+  fra.me.line = 50;
+  fra.me.meth = LOCATE_lexer___TKwmodule___init_tk;
   fra.me.has_broke = 0;
   fra.me.REG_size = 3;
   fra.me.REG[0] = NIT_NULL;
@@ -234,21 +209,11 @@ void lexer___TKwpackage___init_tk(val_t p0, val_t p1, int* init_table){
   fra.me.REG[2] = NIT_NULL;
   fra.me.REG[0] = p0;
   fra.me.REG[1] = p1;
-  /* ./parser//lexer.nit:51 */
-  if (!once_value_1) {
-    if (!once_value_2) {
-      fra.me.REG[2] = BOX_NativeString("package");
-      REGB0 = TAG_Int(7);
-      fra.me.REG[2] = NEW_String_string___String___with_native(fra.me.REG[2], REGB0);
-      once_value_2 = fra.me.REG[2];
-      register_static_object(&once_value_2);
-    } else fra.me.REG[2] = once_value_2;
-    once_value_1 = fra.me.REG[2];
-    register_static_object(&once_value_1);
-  } else fra.me.REG[2] = once_value_1;
-  ATTR_lexer___Token____text(fra.me.REG[0]) = fra.me.REG[2];
+  fra.me.REG[2] = p2;
   /* ./parser//lexer.nit:52 */
-  ATTR_parser_nodes___ANode____location(fra.me.REG[0]) = fra.me.REG[1];
+  ATTR_lexer___Token____text(fra.me.REG[0]) = fra.me.REG[1];
+  /* ./parser//lexer.nit:53 */
+  ATTR_parser_nodes___ANode____location(fra.me.REG[0]) = fra.me.REG[2];
   stack_frame_head = fra.me.prev;
   init_table[itpos2] = 1;
   return;
@@ -259,14 +224,14 @@ val_t lexer___TKwimport___parser_index(val_t p0){
   val_t tmp;
   fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
   fra.me.file = LOCATE_lexer;
-  fra.me.line = 57;
+  fra.me.line = 58;
   fra.me.meth = LOCATE_lexer___TKwimport___parser_index;
   fra.me.has_broke = 0;
   fra.me.REG_size = 1;
   fra.me.REG[0] = NIT_NULL;
   fra.me.REG[0] = p0;
+  /* ./parser//lexer.nit:60 */
   REGB0 = TAG_Int(3);
-  /* ./parser//lexer.nit:59 */
   goto label1;
   label1: while(0);
   stack_frame_head = fra.me.prev;
@@ -282,7 +247,7 @@ void lexer___TKwimport___init_tk(val_t p0, val_t p1, int* init_table){
   if (init_table[itpos3]) return;
   fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
   fra.me.file = LOCATE_lexer;
-  fra.me.line = 62;
+  fra.me.line = 63;
   fra.me.meth = LOCATE_lexer___TKwimport___init_tk;
   fra.me.has_broke = 0;
   fra.me.REG_size = 3;
@@ -291,7 +256,7 @@ void lexer___TKwimport___init_tk(val_t p0, val_t p1, int* init_table){
   fra.me.REG[2] = NIT_NULL;
   fra.me.REG[0] = p0;
   fra.me.REG[1] = p1;
-  /* ./parser//lexer.nit:64 */
+  /* ./parser//lexer.nit:65 */
   if (!once_value_1) {
     if (!once_value_2) {
       fra.me.REG[2] = BOX_NativeString("import");
@@ -300,11 +265,13 @@ void lexer___TKwimport___init_tk(val_t p0, val_t p1, int* init_table){
       once_value_2 = fra.me.REG[2];
       register_static_object(&once_value_2);
     } else fra.me.REG[2] = once_value_2;
+    fra.me.REG[2] = fra.me.REG[2];
     once_value_1 = fra.me.REG[2];
     register_static_object(&once_value_1);
   } else fra.me.REG[2] = once_value_1;
+  fra.me.REG[2] = fra.me.REG[2];
   ATTR_lexer___Token____text(fra.me.REG[0]) = fra.me.REG[2];
-  /* ./parser//lexer.nit:65 */
+  /* ./parser//lexer.nit:66 */
   ATTR_parser_nodes___ANode____location(fra.me.REG[0]) = fra.me.REG[1];
   stack_frame_head = fra.me.prev;
   init_table[itpos3] = 1;
@@ -316,14 +283,14 @@ val_t lexer___TKwclass___parser_index(val_t p0){
   val_t tmp;
   fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
   fra.me.file = LOCATE_lexer;
-  fra.me.line = 70;
+  fra.me.line = 71;
   fra.me.meth = LOCATE_lexer___TKwclass___parser_index;
   fra.me.has_broke = 0;
   fra.me.REG_size = 1;
   fra.me.REG[0] = NIT_NULL;
   fra.me.REG[0] = p0;
+  /* ./parser//lexer.nit:73 */
   REGB0 = TAG_Int(4);
-  /* ./parser//lexer.nit:72 */
   goto label1;
   label1: while(0);
   stack_frame_head = fra.me.prev;
@@ -339,7 +306,7 @@ void lexer___TKwclass___init_tk(val_t p0, val_t p1, int* init_table){
   if (init_table[itpos4]) return;
   fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
   fra.me.file = LOCATE_lexer;
-  fra.me.line = 75;
+  fra.me.line = 76;
   fra.me.meth = LOCATE_lexer___TKwclass___init_tk;
   fra.me.has_broke = 0;
   fra.me.REG_size = 3;
@@ -348,7 +315,7 @@ void lexer___TKwclass___init_tk(val_t p0, val_t p1, int* init_table){
   fra.me.REG[2] = NIT_NULL;
   fra.me.REG[0] = p0;
   fra.me.REG[1] = p1;
-  /* ./parser//lexer.nit:77 */
+  /* ./parser//lexer.nit:78 */
   if (!once_value_1) {
     if (!once_value_2) {
       fra.me.REG[2] = BOX_NativeString("class");
@@ -357,11 +324,13 @@ void lexer___TKwclass___init_tk(val_t p0, val_t p1, int* init_table){
       once_value_2 = fra.me.REG[2];
       register_static_object(&once_value_2);
     } else fra.me.REG[2] = once_value_2;
+    fra.me.REG[2] = fra.me.REG[2];
     once_value_1 = fra.me.REG[2];
     register_static_object(&once_value_1);
   } else fra.me.REG[2] = once_value_1;
+  fra.me.REG[2] = fra.me.REG[2];
   ATTR_lexer___Token____text(fra.me.REG[0]) = fra.me.REG[2];
-  /* ./parser//lexer.nit:78 */
+  /* ./parser//lexer.nit:79 */
   ATTR_parser_nodes___ANode____location(fra.me.REG[0]) = fra.me.REG[1];
   stack_frame_head = fra.me.prev;
   init_table[itpos4] = 1;
@@ -373,14 +342,14 @@ val_t lexer___TKwabstract___parser_index(val_t p0){
   val_t tmp;
   fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
   fra.me.file = LOCATE_lexer;
-  fra.me.line = 83;
+  fra.me.line = 84;
   fra.me.meth = LOCATE_lexer___TKwabstract___parser_index;
   fra.me.has_broke = 0;
   fra.me.REG_size = 1;
   fra.me.REG[0] = NIT_NULL;
   fra.me.REG[0] = p0;
+  /* ./parser//lexer.nit:86 */
   REGB0 = TAG_Int(5);
-  /* ./parser//lexer.nit:85 */
   goto label1;
   label1: while(0);
   stack_frame_head = fra.me.prev;
@@ -396,7 +365,7 @@ void lexer___TKwabstract___init_tk(val_t p0, val_t p1, int* init_table){
   if (init_table[itpos5]) return;
   fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
   fra.me.file = LOCATE_lexer;
-  fra.me.line = 88;
+  fra.me.line = 89;
   fra.me.meth = LOCATE_lexer___TKwabstract___init_tk;
   fra.me.has_broke = 0;
   fra.me.REG_size = 3;
@@ -405,7 +374,7 @@ void lexer___TKwabstract___init_tk(val_t p0, val_t p1, int* init_table){
   fra.me.REG[2] = NIT_NULL;
   fra.me.REG[0] = p0;
   fra.me.REG[1] = p1;
-  /* ./parser//lexer.nit:90 */
+  /* ./parser//lexer.nit:91 */
   if (!once_value_1) {
     if (!once_value_2) {
       fra.me.REG[2] = BOX_NativeString("abstract");
@@ -414,11 +383,13 @@ void lexer___TKwabstract___init_tk(val_t p0, val_t p1, int* init_table){
       once_value_2 = fra.me.REG[2];
       register_static_object(&once_value_2);
     } else fra.me.REG[2] = once_value_2;
+    fra.me.REG[2] = fra.me.REG[2];
     once_value_1 = fra.me.REG[2];
     register_static_object(&once_value_1);
   } else fra.me.REG[2] = once_value_1;
+  fra.me.REG[2] = fra.me.REG[2];
   ATTR_lexer___Token____text(fra.me.REG[0]) = fra.me.REG[2];
-  /* ./parser//lexer.nit:91 */
+  /* ./parser//lexer.nit:92 */
   ATTR_parser_nodes___ANode____location(fra.me.REG[0]) = fra.me.REG[1];
   stack_frame_head = fra.me.prev;
   init_table[itpos5] = 1;
@@ -430,14 +401,14 @@ val_t lexer___TKwinterface___parser_index(val_t p0){
   val_t tmp;
   fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
   fra.me.file = LOCATE_lexer;
-  fra.me.line = 96;
+  fra.me.line = 97;
   fra.me.meth = LOCATE_lexer___TKwinterface___parser_index;
   fra.me.has_broke = 0;
   fra.me.REG_size = 1;
   fra.me.REG[0] = NIT_NULL;
   fra.me.REG[0] = p0;
+  /* ./parser//lexer.nit:99 */
   REGB0 = TAG_Int(6);
-  /* ./parser//lexer.nit:98 */
   goto label1;
   label1: while(0);
   stack_frame_head = fra.me.prev;
@@ -453,7 +424,7 @@ void lexer___TKwinterface___init_tk(val_t p0, val_t p1, int* init_table){
   if (init_table[itpos6]) return;
   fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
   fra.me.file = LOCATE_lexer;
-  fra.me.line = 101;
+  fra.me.line = 102;
   fra.me.meth = LOCATE_lexer___TKwinterface___init_tk;
   fra.me.has_broke = 0;
   fra.me.REG_size = 3;
@@ -462,7 +433,7 @@ void lexer___TKwinterface___init_tk(val_t p0, val_t p1, int* init_table){
   fra.me.REG[2] = NIT_NULL;
   fra.me.REG[0] = p0;
   fra.me.REG[1] = p1;
-  /* ./parser//lexer.nit:103 */
+  /* ./parser//lexer.nit:104 */
   if (!once_value_1) {
     if (!once_value_2) {
       fra.me.REG[2] = BOX_NativeString("interface");
@@ -471,11 +442,13 @@ void lexer___TKwinterface___init_tk(val_t p0, val_t p1, int* init_table){
       once_value_2 = fra.me.REG[2];
       register_static_object(&once_value_2);
     } else fra.me.REG[2] = once_value_2;
+    fra.me.REG[2] = fra.me.REG[2];
     once_value_1 = fra.me.REG[2];
     register_static_object(&once_value_1);
   } else fra.me.REG[2] = once_value_1;
+  fra.me.REG[2] = fra.me.REG[2];
   ATTR_lexer___Token____text(fra.me.REG[0]) = fra.me.REG[2];
-  /* ./parser//lexer.nit:104 */
+  /* ./parser//lexer.nit:105 */
   ATTR_parser_nodes___ANode____location(fra.me.REG[0]) = fra.me.REG[1];
   stack_frame_head = fra.me.prev;
   init_table[itpos6] = 1;
@@ -487,14 +460,14 @@ val_t lexer___TKwuniversal___parser_index(val_t p0){
   val_t tmp;
   fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
   fra.me.file = LOCATE_lexer;
-  fra.me.line = 109;
+  fra.me.line = 110;
   fra.me.meth = LOCATE_lexer___TKwuniversal___parser_index;
   fra.me.has_broke = 0;
   fra.me.REG_size = 1;
   fra.me.REG[0] = NIT_NULL;
   fra.me.REG[0] = p0;
+  /* ./parser//lexer.nit:112 */
   REGB0 = TAG_Int(7);
-  /* ./parser//lexer.nit:111 */
   goto label1;
   label1: while(0);
   stack_frame_head = fra.me.prev;
@@ -510,7 +483,7 @@ void lexer___TKwuniversal___init_tk(val_t p0, val_t p1, int* init_table){
   if (init_table[itpos7]) return;
   fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
   fra.me.file = LOCATE_lexer;
-  fra.me.line = 114;
+  fra.me.line = 115;
   fra.me.meth = LOCATE_lexer___TKwuniversal___init_tk;
   fra.me.has_broke = 0;
   fra.me.REG_size = 3;
@@ -519,7 +492,7 @@ void lexer___TKwuniversal___init_tk(val_t p0, val_t p1, int* init_table){
   fra.me.REG[2] = NIT_NULL;
   fra.me.REG[0] = p0;
   fra.me.REG[1] = p1;
-  /* ./parser//lexer.nit:116 */
+  /* ./parser//lexer.nit:117 */
   if (!once_value_1) {
     if (!once_value_2) {
       fra.me.REG[2] = BOX_NativeString("universal");
@@ -528,11 +501,13 @@ void lexer___TKwuniversal___init_tk(val_t p0, val_t p1, int* init_table){
       once_value_2 = fra.me.REG[2];
       register_static_object(&once_value_2);
     } else fra.me.REG[2] = once_value_2;
+    fra.me.REG[2] = fra.me.REG[2];
     once_value_1 = fra.me.REG[2];
     register_static_object(&once_value_1);
   } else fra.me.REG[2] = once_value_1;
+  fra.me.REG[2] = fra.me.REG[2];
   ATTR_lexer___Token____text(fra.me.REG[0]) = fra.me.REG[2];
-  /* ./parser//lexer.nit:117 */
+  /* ./parser//lexer.nit:118 */
   ATTR_parser_nodes___ANode____location(fra.me.REG[0]) = fra.me.REG[1];
   stack_frame_head = fra.me.prev;
   init_table[itpos7] = 1;
@@ -544,14 +519,14 @@ val_t lexer___TKwspecial___parser_index(val_t p0){
   val_t tmp;
   fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
   fra.me.file = LOCATE_lexer;
-  fra.me.line = 122;
+  fra.me.line = 123;
   fra.me.meth = LOCATE_lexer___TKwspecial___parser_index;
   fra.me.has_broke = 0;
   fra.me.REG_size = 1;
   fra.me.REG[0] = NIT_NULL;
   fra.me.REG[0] = p0;
+  /* ./parser//lexer.nit:125 */
   REGB0 = TAG_Int(8);
-  /* ./parser//lexer.nit:124 */
   goto label1;
   label1: while(0);
   stack_frame_head = fra.me.prev;
@@ -567,7 +542,7 @@ void lexer___TKwspecial___init_tk(val_t p0, val_t p1, int* init_table){
   if (init_table[itpos8]) return;
   fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
   fra.me.file = LOCATE_lexer;
-  fra.me.line = 127;
+  fra.me.line = 128;
   fra.me.meth = LOCATE_lexer___TKwspecial___init_tk;
   fra.me.has_broke = 0;
   fra.me.REG_size = 3;
@@ -576,7 +551,7 @@ void lexer___TKwspecial___init_tk(val_t p0, val_t p1, int* init_table){
   fra.me.REG[2] = NIT_NULL;
   fra.me.REG[0] = p0;
   fra.me.REG[1] = p1;
-  /* ./parser//lexer.nit:129 */
+  /* ./parser//lexer.nit:130 */
   if (!once_value_1) {
     if (!once_value_2) {
       fra.me.REG[2] = BOX_NativeString("special");
@@ -585,11 +560,13 @@ void lexer___TKwspecial___init_tk(val_t p0, val_t p1, int* init_table){
       once_value_2 = fra.me.REG[2];
       register_static_object(&once_value_2);
     } else fra.me.REG[2] = once_value_2;
+    fra.me.REG[2] = fra.me.REG[2];
     once_value_1 = fra.me.REG[2];
     register_static_object(&once_value_1);
   } else fra.me.REG[2] = once_value_1;
+  fra.me.REG[2] = fra.me.REG[2];
   ATTR_lexer___Token____text(fra.me.REG[0]) = fra.me.REG[2];
-  /* ./parser//lexer.nit:130 */
+  /* ./parser//lexer.nit:131 */
   ATTR_parser_nodes___ANode____location(fra.me.REG[0]) = fra.me.REG[1];
   stack_frame_head = fra.me.prev;
   init_table[itpos8] = 1;
@@ -601,14 +578,14 @@ val_t lexer___TKwend___parser_index(val_t p0){
   val_t tmp;
   fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
   fra.me.file = LOCATE_lexer;
-  fra.me.line = 135;
+  fra.me.line = 136;
   fra.me.meth = LOCATE_lexer___TKwend___parser_index;
   fra.me.has_broke = 0;
   fra.me.REG_size = 1;
   fra.me.REG[0] = NIT_NULL;
   fra.me.REG[0] = p0;
+  /* ./parser//lexer.nit:138 */
   REGB0 = TAG_Int(9);
-  /* ./parser//lexer.nit:137 */
   goto label1;
   label1: while(0);
   stack_frame_head = fra.me.prev;
@@ -624,7 +601,7 @@ void lexer___TKwend___init_tk(val_t p0, val_t p1, int* init_table){
   if (init_table[itpos9]) return;
   fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
   fra.me.file = LOCATE_lexer;
-  fra.me.line = 140;
+  fra.me.line = 141;
   fra.me.meth = LOCATE_lexer___TKwend___init_tk;
   fra.me.has_broke = 0;
   fra.me.REG_size = 3;
@@ -633,7 +610,7 @@ void lexer___TKwend___init_tk(val_t p0, val_t p1, int* init_table){
   fra.me.REG[2] = NIT_NULL;
   fra.me.REG[0] = p0;
   fra.me.REG[1] = p1;
-  /* ./parser//lexer.nit:142 */
+  /* ./parser//lexer.nit:143 */
   if (!once_value_1) {
     if (!once_value_2) {
       fra.me.REG[2] = BOX_NativeString("end");
@@ -642,11 +619,13 @@ void lexer___TKwend___init_tk(val_t p0, val_t p1, int* init_table){
       once_value_2 = fra.me.REG[2];
       register_static_object(&once_value_2);
     } else fra.me.REG[2] = once_value_2;
+    fra.me.REG[2] = fra.me.REG[2];
     once_value_1 = fra.me.REG[2];
     register_static_object(&once_value_1);
   } else fra.me.REG[2] = once_value_1;
+  fra.me.REG[2] = fra.me.REG[2];
   ATTR_lexer___Token____text(fra.me.REG[0]) = fra.me.REG[2];
-  /* ./parser//lexer.nit:143 */
+  /* ./parser//lexer.nit:144 */
   ATTR_parser_nodes___ANode____location(fra.me.REG[0]) = fra.me.REG[1];
   stack_frame_head = fra.me.prev;
   init_table[itpos9] = 1;
@@ -658,14 +637,14 @@ val_t lexer___TKwmeth___parser_index(val_t p0){
   val_t tmp;
   fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
   fra.me.file = LOCATE_lexer;
-  fra.me.line = 148;
+  fra.me.line = 149;
   fra.me.meth = LOCATE_lexer___TKwmeth___parser_index;
   fra.me.has_broke = 0;
   fra.me.REG_size = 1;
   fra.me.REG[0] = NIT_NULL;
   fra.me.REG[0] = p0;
+  /* ./parser//lexer.nit:151 */
   REGB0 = TAG_Int(10);
-  /* ./parser//lexer.nit:150 */
   goto label1;
   label1: while(0);
   stack_frame_head = fra.me.prev;
@@ -681,7 +660,7 @@ void lexer___TKwmeth___init_tk(val_t p0, val_t p1, int* init_table){
   if (init_table[itpos10]) return;
   fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
   fra.me.file = LOCATE_lexer;
-  fra.me.line = 153;
+  fra.me.line = 154;
   fra.me.meth = LOCATE_lexer___TKwmeth___init_tk;
   fra.me.has_broke = 0;
   fra.me.REG_size = 3;
@@ -690,7 +669,7 @@ void lexer___TKwmeth___init_tk(val_t p0, val_t p1, int* init_table){
   fra.me.REG[2] = NIT_NULL;
   fra.me.REG[0] = p0;
   fra.me.REG[1] = p1;
-  /* ./parser//lexer.nit:155 */
+  /* ./parser//lexer.nit:156 */
   if (!once_value_1) {
     if (!once_value_2) {
       fra.me.REG[2] = BOX_NativeString("fun");
@@ -699,11 +678,13 @@ void lexer___TKwmeth___init_tk(val_t p0, val_t p1, int* init_table){
       once_value_2 = fra.me.REG[2];
       register_static_object(&once_value_2);
     } else fra.me.REG[2] = once_value_2;
+    fra.me.REG[2] = fra.me.REG[2];
     once_value_1 = fra.me.REG[2];
     register_static_object(&once_value_1);
   } else fra.me.REG[2] = once_value_1;
+  fra.me.REG[2] = fra.me.REG[2];
   ATTR_lexer___Token____text(fra.me.REG[0]) = fra.me.REG[2];
-  /* ./parser//lexer.nit:156 */
+  /* ./parser//lexer.nit:157 */
   ATTR_parser_nodes___ANode____location(fra.me.REG[0]) = fra.me.REG[1];
   stack_frame_head = fra.me.prev;
   init_table[itpos10] = 1;
@@ -715,14 +696,14 @@ val_t lexer___TKwtype___parser_index(val_t p0){
   val_t tmp;
   fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
   fra.me.file = LOCATE_lexer;
-  fra.me.line = 161;
+  fra.me.line = 162;
   fra.me.meth = LOCATE_lexer___TKwtype___parser_index;
   fra.me.has_broke = 0;
   fra.me.REG_size = 1;
   fra.me.REG[0] = NIT_NULL;
   fra.me.REG[0] = p0;
+  /* ./parser//lexer.nit:164 */
   REGB0 = TAG_Int(11);
-  /* ./parser//lexer.nit:163 */
   goto label1;
   label1: while(0);
   stack_frame_head = fra.me.prev;
@@ -738,7 +719,7 @@ void lexer___TKwtype___init_tk(val_t p0, val_t p1, int* init_table){
   if (init_table[itpos11]) return;
   fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
   fra.me.file = LOCATE_lexer;
-  fra.me.line = 166;
+  fra.me.line = 167;
   fra.me.meth = LOCATE_lexer___TKwtype___init_tk;
   fra.me.has_broke = 0;
   fra.me.REG_size = 3;
@@ -747,7 +728,7 @@ void lexer___TKwtype___init_tk(val_t p0, val_t p1, int* init_table){
   fra.me.REG[2] = NIT_NULL;
   fra.me.REG[0] = p0;
   fra.me.REG[1] = p1;
-  /* ./parser//lexer.nit:168 */
+  /* ./parser//lexer.nit:169 */
   if (!once_value_1) {
     if (!once_value_2) {
       fra.me.REG[2] = BOX_NativeString("type");
@@ -756,11 +737,13 @@ void lexer___TKwtype___init_tk(val_t p0, val_t p1, int* init_table){
       once_value_2 = fra.me.REG[2];
       register_static_object(&once_value_2);
     } else fra.me.REG[2] = once_value_2;
+    fra.me.REG[2] = fra.me.REG[2];
     once_value_1 = fra.me.REG[2];
     register_static_object(&once_value_1);
   } else fra.me.REG[2] = once_value_1;
+  fra.me.REG[2] = fra.me.REG[2];
   ATTR_lexer___Token____text(fra.me.REG[0]) = fra.me.REG[2];
-  /* ./parser//lexer.nit:169 */
+  /* ./parser//lexer.nit:170 */
   ATTR_parser_nodes___ANode____location(fra.me.REG[0]) = fra.me.REG[1];
   stack_frame_head = fra.me.prev;
   init_table[itpos11] = 1;
@@ -772,14 +755,14 @@ val_t lexer___TKwinit___parser_index(val_t p0){
   val_t tmp;
   fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
   fra.me.file = LOCATE_lexer;
-  fra.me.line = 174;
+  fra.me.line = 175;
   fra.me.meth = LOCATE_lexer___TKwinit___parser_index;
   fra.me.has_broke = 0;
   fra.me.REG_size = 1;
   fra.me.REG[0] = NIT_NULL;
   fra.me.REG[0] = p0;
+  /* ./parser//lexer.nit:177 */
   REGB0 = TAG_Int(12);
-  /* ./parser//lexer.nit:176 */
   goto label1;
   label1: while(0);
   stack_frame_head = fra.me.prev;
@@ -795,7 +778,7 @@ void lexer___TKwinit___init_tk(val_t p0, val_t p1, int* init_table){
   if (init_table[itpos12]) return;
   fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
   fra.me.file = LOCATE_lexer;
-  fra.me.line = 179;
+  fra.me.line = 180;
   fra.me.meth = LOCATE_lexer___TKwinit___init_tk;
   fra.me.has_broke = 0;
   fra.me.REG_size = 3;
@@ -804,7 +787,7 @@ void lexer___TKwinit___init_tk(val_t p0, val_t p1, int* init_table){
   fra.me.REG[2] = NIT_NULL;
   fra.me.REG[0] = p0;
   fra.me.REG[1] = p1;
-  /* ./parser//lexer.nit:181 */
+  /* ./parser//lexer.nit:182 */
   if (!once_value_1) {
     if (!once_value_2) {
       fra.me.REG[2] = BOX_NativeString("init");
@@ -813,11 +796,13 @@ void lexer___TKwinit___init_tk(val_t p0, val_t p1, int* init_table){
       once_value_2 = fra.me.REG[2];
       register_static_object(&once_value_2);
     } else fra.me.REG[2] = once_value_2;
+    fra.me.REG[2] = fra.me.REG[2];
     once_value_1 = fra.me.REG[2];
     register_static_object(&once_value_1);
   } else fra.me.REG[2] = once_value_1;
+  fra.me.REG[2] = fra.me.REG[2];
   ATTR_lexer___Token____text(fra.me.REG[0]) = fra.me.REG[2];
-  /* ./parser//lexer.nit:182 */
+  /* ./parser//lexer.nit:183 */
   ATTR_parser_nodes___ANode____location(fra.me.REG[0]) = fra.me.REG[1];
   stack_frame_head = fra.me.prev;
   init_table[itpos12] = 1;
@@ -829,14 +814,14 @@ val_t lexer___TKwredef___parser_index(val_t p0){
   val_t tmp;
   fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
   fra.me.file = LOCATE_lexer;
-  fra.me.line = 187;
+  fra.me.line = 188;
   fra.me.meth = LOCATE_lexer___TKwredef___parser_index;
   fra.me.has_broke = 0;
   fra.me.REG_size = 1;
   fra.me.REG[0] = NIT_NULL;
   fra.me.REG[0] = p0;
+  /* ./parser//lexer.nit:190 */
   REGB0 = TAG_Int(13);
-  /* ./parser//lexer.nit:189 */
   goto label1;
   label1: while(0);
   stack_frame_head = fra.me.prev;
@@ -852,7 +837,7 @@ void lexer___TKwredef___init_tk(val_t p0, val_t p1, int* init_table){
   if (init_table[itpos13]) return;
   fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
   fra.me.file = LOCATE_lexer;
-  fra.me.line = 192;
+  fra.me.line = 193;
   fra.me.meth = LOCATE_lexer___TKwredef___init_tk;
   fra.me.has_broke = 0;
   fra.me.REG_size = 3;
@@ -861,7 +846,7 @@ void lexer___TKwredef___init_tk(val_t p0, val_t p1, int* init_table){
   fra.me.REG[2] = NIT_NULL;
   fra.me.REG[0] = p0;
   fra.me.REG[1] = p1;
-  /* ./parser//lexer.nit:194 */
+  /* ./parser//lexer.nit:195 */
   if (!once_value_1) {
     if (!once_value_2) {
       fra.me.REG[2] = BOX_NativeString("redef");
@@ -870,11 +855,13 @@ void lexer___TKwredef___init_tk(val_t p0, val_t p1, int* init_table){
       once_value_2 = fra.me.REG[2];
       register_static_object(&once_value_2);
     } else fra.me.REG[2] = once_value_2;
+    fra.me.REG[2] = fra.me.REG[2];
     once_value_1 = fra.me.REG[2];
     register_static_object(&once_value_1);
   } else fra.me.REG[2] = once_value_1;
+  fra.me.REG[2] = fra.me.REG[2];
   ATTR_lexer___Token____text(fra.me.REG[0]) = fra.me.REG[2];
-  /* ./parser//lexer.nit:195 */
+  /* ./parser//lexer.nit:196 */
   ATTR_parser_nodes___ANode____location(fra.me.REG[0]) = fra.me.REG[1];
   stack_frame_head = fra.me.prev;
   init_table[itpos13] = 1;
@@ -886,14 +873,14 @@ val_t lexer___TKwis___parser_index(val_t p0){
   val_t tmp;
   fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
   fra.me.file = LOCATE_lexer;
-  fra.me.line = 200;
+  fra.me.line = 201;
   fra.me.meth = LOCATE_lexer___TKwis___parser_index;
   fra.me.has_broke = 0;
   fra.me.REG_size = 1;
   fra.me.REG[0] = NIT_NULL;
   fra.me.REG[0] = p0;
+  /* ./parser//lexer.nit:203 */
   REGB0 = TAG_Int(14);
-  /* ./parser//lexer.nit:202 */
   goto label1;
   label1: while(0);
   stack_frame_head = fra.me.prev;
@@ -909,7 +896,7 @@ void lexer___TKwis___init_tk(val_t p0, val_t p1, int* init_table){
   if (init_table[itpos14]) return;
   fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
   fra.me.file = LOCATE_lexer;
-  fra.me.line = 205;
+  fra.me.line = 206;
   fra.me.meth = LOCATE_lexer___TKwis___init_tk;
   fra.me.has_broke = 0;
   fra.me.REG_size = 3;
@@ -918,7 +905,7 @@ void lexer___TKwis___init_tk(val_t p0, val_t p1, int* init_table){
   fra.me.REG[2] = NIT_NULL;
   fra.me.REG[0] = p0;
   fra.me.REG[1] = p1;
-  /* ./parser//lexer.nit:207 */
+  /* ./parser//lexer.nit:208 */
   if (!once_value_1) {
     if (!once_value_2) {
       fra.me.REG[2] = BOX_NativeString("is");
@@ -927,11 +914,13 @@ void lexer___TKwis___init_tk(val_t p0, val_t p1, int* init_table){
       once_value_2 = fra.me.REG[2];
       register_static_object(&once_value_2);
     } else fra.me.REG[2] = once_value_2;
+    fra.me.REG[2] = fra.me.REG[2];
     once_value_1 = fra.me.REG[2];
     register_static_object(&once_value_1);
   } else fra.me.REG[2] = once_value_1;
+  fra.me.REG[2] = fra.me.REG[2];
   ATTR_lexer___Token____text(fra.me.REG[0]) = fra.me.REG[2];
-  /* ./parser//lexer.nit:208 */
+  /* ./parser//lexer.nit:209 */
   ATTR_parser_nodes___ANode____location(fra.me.REG[0]) = fra.me.REG[1];
   stack_frame_head = fra.me.prev;
   init_table[itpos14] = 1;
@@ -943,14 +932,14 @@ val_t lexer___TKwdo___parser_index(val_t p0){
   val_t tmp;
   fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
   fra.me.file = LOCATE_lexer;
-  fra.me.line = 213;
+  fra.me.line = 214;
   fra.me.meth = LOCATE_lexer___TKwdo___parser_index;
   fra.me.has_broke = 0;
   fra.me.REG_size = 1;
   fra.me.REG[0] = NIT_NULL;
   fra.me.REG[0] = p0;
+  /* ./parser//lexer.nit:216 */
   REGB0 = TAG_Int(15);
-  /* ./parser//lexer.nit:215 */
   goto label1;
   label1: while(0);
   stack_frame_head = fra.me.prev;
@@ -966,7 +955,7 @@ void lexer___TKwdo___init_tk(val_t p0, val_t p1, int* init_table){
   if (init_table[itpos15]) return;
   fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
   fra.me.file = LOCATE_lexer;
-  fra.me.line = 218;
+  fra.me.line = 219;
   fra.me.meth = LOCATE_lexer___TKwdo___init_tk;
   fra.me.has_broke = 0;
   fra.me.REG_size = 3;
@@ -975,7 +964,7 @@ void lexer___TKwdo___init_tk(val_t p0, val_t p1, int* init_table){
   fra.me.REG[2] = NIT_NULL;
   fra.me.REG[0] = p0;
   fra.me.REG[1] = p1;
-  /* ./parser//lexer.nit:220 */
+  /* ./parser//lexer.nit:221 */
   if (!once_value_1) {
     if (!once_value_2) {
       fra.me.REG[2] = BOX_NativeString("do");
@@ -984,11 +973,13 @@ void lexer___TKwdo___init_tk(val_t p0, val_t p1, int* init_table){
       once_value_2 = fra.me.REG[2];
       register_static_object(&once_value_2);
     } else fra.me.REG[2] = once_value_2;
+    fra.me.REG[2] = fra.me.REG[2];
     once_value_1 = fra.me.REG[2];
     register_static_object(&once_value_1);
   } else fra.me.REG[2] = once_value_1;
+  fra.me.REG[2] = fra.me.REG[2];
   ATTR_lexer___Token____text(fra.me.REG[0]) = fra.me.REG[2];
-  /* ./parser//lexer.nit:221 */
+  /* ./parser//lexer.nit:222 */
   ATTR_parser_nodes___ANode____location(fra.me.REG[0]) = fra.me.REG[1];
   stack_frame_head = fra.me.prev;
   init_table[itpos15] = 1;
@@ -1000,14 +991,14 @@ val_t lexer___TKwreadable___parser_index(val_t p0){
   val_t tmp;
   fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
   fra.me.file = LOCATE_lexer;
-  fra.me.line = 226;
+  fra.me.line = 227;
   fra.me.meth = LOCATE_lexer___TKwreadable___parser_index;
   fra.me.has_broke = 0;
   fra.me.REG_size = 1;
   fra.me.REG[0] = NIT_NULL;
   fra.me.REG[0] = p0;
+  /* ./parser//lexer.nit:229 */
   REGB0 = TAG_Int(16);
-  /* ./parser//lexer.nit:228 */
   goto label1;
   label1: while(0);
   stack_frame_head = fra.me.prev;
@@ -1023,7 +1014,7 @@ void lexer___TKwreadable___init_tk(val_t p0, val_t p1, int* init_table){
   if (init_table[itpos16]) return;
   fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
   fra.me.file = LOCATE_lexer;
-  fra.me.line = 231;
+  fra.me.line = 232;
   fra.me.meth = LOCATE_lexer___TKwreadable___init_tk;
   fra.me.has_broke = 0;
   fra.me.REG_size = 3;
@@ -1032,7 +1023,7 @@ void lexer___TKwreadable___init_tk(val_t p0, val_t p1, int* init_table){
   fra.me.REG[2] = NIT_NULL;
   fra.me.REG[0] = p0;
   fra.me.REG[1] = p1;
-  /* ./parser//lexer.nit:233 */
+  /* ./parser//lexer.nit:234 */
   if (!once_value_1) {
     if (!once_value_2) {
       fra.me.REG[2] = BOX_NativeString("readable");
@@ -1041,11 +1032,13 @@ void lexer___TKwreadable___init_tk(val_t p0, val_t p1, int* init_table){
       once_value_2 = fra.me.REG[2];
       register_static_object(&once_value_2);
     } else fra.me.REG[2] = once_value_2;
+    fra.me.REG[2] = fra.me.REG[2];
     once_value_1 = fra.me.REG[2];
     register_static_object(&once_value_1);
   } else fra.me.REG[2] = once_value_1;
+  fra.me.REG[2] = fra.me.REG[2];
   ATTR_lexer___Token____text(fra.me.REG[0]) = fra.me.REG[2];
-  /* ./parser//lexer.nit:234 */
+  /* ./parser//lexer.nit:235 */
   ATTR_parser_nodes___ANode____location(fra.me.REG[0]) = fra.me.REG[1];
   stack_frame_head = fra.me.prev;
   init_table[itpos16] = 1;
@@ -1057,14 +1050,14 @@ val_t lexer___TKwwritable___parser_index(val_t p0){
   val_t tmp;
   fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
   fra.me.file = LOCATE_lexer;
-  fra.me.line = 239;
+  fra.me.line = 240;
   fra.me.meth = LOCATE_lexer___TKwwritable___parser_index;
   fra.me.has_broke = 0;
   fra.me.REG_size = 1;
   fra.me.REG[0] = NIT_NULL;
   fra.me.REG[0] = p0;
+  /* ./parser//lexer.nit:242 */
   REGB0 = TAG_Int(17);
-  /* ./parser//lexer.nit:241 */
   goto label1;
   label1: while(0);
   stack_frame_head = fra.me.prev;
@@ -1080,7 +1073,7 @@ void lexer___TKwwritable___init_tk(val_t p0, val_t p1, int* init_table){
   if (init_table[itpos17]) return;
   fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
   fra.me.file = LOCATE_lexer;
-  fra.me.line = 244;
+  fra.me.line = 245;
   fra.me.meth = LOCATE_lexer___TKwwritable___init_tk;
   fra.me.has_broke = 0;
   fra.me.REG_size = 3;
@@ -1089,7 +1082,7 @@ void lexer___TKwwritable___init_tk(val_t p0, val_t p1, int* init_table){
   fra.me.REG[2] = NIT_NULL;
   fra.me.REG[0] = p0;
   fra.me.REG[1] = p1;
-  /* ./parser//lexer.nit:246 */
+  /* ./parser//lexer.nit:247 */
   if (!once_value_1) {
     if (!once_value_2) {
       fra.me.REG[2] = BOX_NativeString("writable");
@@ -1098,11 +1091,13 @@ void lexer___TKwwritable___init_tk(val_t p0, val_t p1, int* init_table){
       once_value_2 = fra.me.REG[2];
       register_static_object(&once_value_2);
     } else fra.me.REG[2] = once_value_2;
+    fra.me.REG[2] = fra.me.REG[2];
     once_value_1 = fra.me.REG[2];
     register_static_object(&once_value_1);
   } else fra.me.REG[2] = once_value_1;
+  fra.me.REG[2] = fra.me.REG[2];
   ATTR_lexer___Token____text(fra.me.REG[0]) = fra.me.REG[2];
-  /* ./parser//lexer.nit:247 */
+  /* ./parser//lexer.nit:248 */
   ATTR_parser_nodes___ANode____location(fra.me.REG[0]) = fra.me.REG[1];
   stack_frame_head = fra.me.prev;
   init_table[itpos17] = 1;
@@ -1114,14 +1109,14 @@ val_t lexer___TKwvar___parser_index(val_t p0){
   val_t tmp;
   fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
   fra.me.file = LOCATE_lexer;
-  fra.me.line = 252;
+  fra.me.line = 253;
   fra.me.meth = LOCATE_lexer___TKwvar___parser_index;
   fra.me.has_broke = 0;
   fra.me.REG_size = 1;
   fra.me.REG[0] = NIT_NULL;
   fra.me.REG[0] = p0;
+  /* ./parser//lexer.nit:255 */
   REGB0 = TAG_Int(18);
-  /* ./parser//lexer.nit:254 */
   goto label1;
   label1: while(0);
   stack_frame_head = fra.me.prev;
@@ -1137,7 +1132,7 @@ void lexer___TKwvar___init_tk(val_t p0, val_t p1, int* init_table){
   if (init_table[itpos18]) return;
   fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
   fra.me.file = LOCATE_lexer;
-  fra.me.line = 257;
+  fra.me.line = 258;
   fra.me.meth = LOCATE_lexer___TKwvar___init_tk;
   fra.me.has_broke = 0;
   fra.me.REG_size = 3;
@@ -1146,7 +1141,7 @@ void lexer___TKwvar___init_tk(val_t p0, val_t p1, int* init_table){
   fra.me.REG[2] = NIT_NULL;
   fra.me.REG[0] = p0;
   fra.me.REG[1] = p1;
-  /* ./parser//lexer.nit:259 */
+  /* ./parser//lexer.nit:260 */
   if (!once_value_1) {
     if (!once_value_2) {
       fra.me.REG[2] = BOX_NativeString("var");
@@ -1155,11 +1150,13 @@ void lexer___TKwvar___init_tk(val_t p0, val_t p1, int* init_table){
       once_value_2 = fra.me.REG[2];
       register_static_object(&once_value_2);
     } else fra.me.REG[2] = once_value_2;
+    fra.me.REG[2] = fra.me.REG[2];
     once_value_1 = fra.me.REG[2];
     register_static_object(&once_value_1);
   } else fra.me.REG[2] = once_value_1;
+  fra.me.REG[2] = fra.me.REG[2];
   ATTR_lexer___Token____text(fra.me.REG[0]) = fra.me.REG[2];
-  /* ./parser//lexer.nit:260 */
+  /* ./parser//lexer.nit:261 */
   ATTR_parser_nodes___ANode____location(fra.me.REG[0]) = fra.me.REG[1];
   stack_frame_head = fra.me.prev;
   init_table[itpos18] = 1;
@@ -1171,14 +1168,14 @@ val_t lexer___TKwintern___parser_index(val_t p0){
   val_t tmp;
   fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
   fra.me.file = LOCATE_lexer;
-  fra.me.line = 265;
+  fra.me.line = 266;
   fra.me.meth = LOCATE_lexer___TKwintern___parser_index;
   fra.me.has_broke = 0;
   fra.me.REG_size = 1;
   fra.me.REG[0] = NIT_NULL;
   fra.me.REG[0] = p0;
+  /* ./parser//lexer.nit:268 */
   REGB0 = TAG_Int(19);
-  /* ./parser//lexer.nit:267 */
   goto label1;
   label1: while(0);
   stack_frame_head = fra.me.prev;
@@ -1194,7 +1191,7 @@ void lexer___TKwintern___init_tk(val_t p0, val_t p1, int* init_table){
   if (init_table[itpos19]) return;
   fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
   fra.me.file = LOCATE_lexer;
-  fra.me.line = 270;
+  fra.me.line = 271;
   fra.me.meth = LOCATE_lexer___TKwintern___init_tk;
   fra.me.has_broke = 0;
   fra.me.REG_size = 3;
@@ -1203,7 +1200,7 @@ void lexer___TKwintern___init_tk(val_t p0, val_t p1, int* init_table){
   fra.me.REG[2] = NIT_NULL;
   fra.me.REG[0] = p0;
   fra.me.REG[1] = p1;
-  /* ./parser//lexer.nit:272 */
+  /* ./parser//lexer.nit:273 */
   if (!once_value_1) {
     if (!once_value_2) {
       fra.me.REG[2] = BOX_NativeString("intern");
@@ -1212,11 +1209,13 @@ void lexer___TKwintern___init_tk(val_t p0, val_t p1, int* init_table){
       once_value_2 = fra.me.REG[2];
       register_static_object(&once_value_2);
     } else fra.me.REG[2] = once_value_2;
+    fra.me.REG[2] = fra.me.REG[2];
     once_value_1 = fra.me.REG[2];
     register_static_object(&once_value_1);
   } else fra.me.REG[2] = once_value_1;
+  fra.me.REG[2] = fra.me.REG[2];
   ATTR_lexer___Token____text(fra.me.REG[0]) = fra.me.REG[2];
-  /* ./parser//lexer.nit:273 */
+  /* ./parser//lexer.nit:274 */
   ATTR_parser_nodes___ANode____location(fra.me.REG[0]) = fra.me.REG[1];
   stack_frame_head = fra.me.prev;
   init_table[itpos19] = 1;
@@ -1228,14 +1227,14 @@ val_t lexer___TKwextern___parser_index(val_t p0){
   val_t tmp;
   fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
   fra.me.file = LOCATE_lexer;
-  fra.me.line = 278;
+  fra.me.line = 279;
   fra.me.meth = LOCATE_lexer___TKwextern___parser_index;
   fra.me.has_broke = 0;
   fra.me.REG_size = 1;
   fra.me.REG[0] = NIT_NULL;
   fra.me.REG[0] = p0;
+  /* ./parser//lexer.nit:281 */
   REGB0 = TAG_Int(20);
-  /* ./parser//lexer.nit:280 */
   goto label1;
   label1: while(0);
   stack_frame_head = fra.me.prev;
@@ -1251,7 +1250,7 @@ void lexer___TKwextern___init_tk(val_t p0, val_t p1, int* init_table){
   if (init_table[itpos20]) return;
   fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
   fra.me.file = LOCATE_lexer;
-  fra.me.line = 283;
+  fra.me.line = 284;
   fra.me.meth = LOCATE_lexer___TKwextern___init_tk;
   fra.me.has_broke = 0;
   fra.me.REG_size = 3;
@@ -1260,7 +1259,7 @@ void lexer___TKwextern___init_tk(val_t p0, val_t p1, int* init_table){
   fra.me.REG[2] = NIT_NULL;
   fra.me.REG[0] = p0;
   fra.me.REG[1] = p1;
-  /* ./parser//lexer.nit:285 */
+  /* ./parser//lexer.nit:286 */
   if (!once_value_1) {
     if (!once_value_2) {
       fra.me.REG[2] = BOX_NativeString("extern");
@@ -1269,11 +1268,13 @@ void lexer___TKwextern___init_tk(val_t p0, val_t p1, int* init_table){
       once_value_2 = fra.me.REG[2];
       register_static_object(&once_value_2);
     } else fra.me.REG[2] = once_value_2;
+    fra.me.REG[2] = fra.me.REG[2];
     once_value_1 = fra.me.REG[2];
     register_static_object(&once_value_1);
   } else fra.me.REG[2] = once_value_1;
+  fra.me.REG[2] = fra.me.REG[2];
   ATTR_lexer___Token____text(fra.me.REG[0]) = fra.me.REG[2];
-  /* ./parser//lexer.nit:286 */
+  /* ./parser//lexer.nit:287 */
   ATTR_parser_nodes___ANode____location(fra.me.REG[0]) = fra.me.REG[1];
   stack_frame_head = fra.me.prev;
   init_table[itpos20] = 1;
@@ -1285,14 +1286,14 @@ val_t lexer___TKwprotected___parser_index(val_t p0){
   val_t tmp;
   fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
   fra.me.file = LOCATE_lexer;
-  fra.me.line = 291;
+  fra.me.line = 292;
   fra.me.meth = LOCATE_lexer___TKwprotected___parser_index;
   fra.me.has_broke = 0;
   fra.me.REG_size = 1;
   fra.me.REG[0] = NIT_NULL;
   fra.me.REG[0] = p0;
+  /* ./parser//lexer.nit:294 */
   REGB0 = TAG_Int(21);
-  /* ./parser//lexer.nit:293 */
   goto label1;
   label1: while(0);
   stack_frame_head = fra.me.prev;
@@ -1308,7 +1309,7 @@ void lexer___TKwprotected___init_tk(val_t p0, val_t p1, int* init_table){
   if (init_table[itpos21]) return;
   fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
   fra.me.file = LOCATE_lexer;
-  fra.me.line = 296;
+  fra.me.line = 297;
   fra.me.meth = LOCATE_lexer___TKwprotected___init_tk;
   fra.me.has_broke = 0;
   fra.me.REG_size = 3;
@@ -1317,7 +1318,7 @@ void lexer___TKwprotected___init_tk(val_t p0, val_t p1, int* init_table){
   fra.me.REG[2] = NIT_NULL;
   fra.me.REG[0] = p0;
   fra.me.REG[1] = p1;
-  /* ./parser//lexer.nit:298 */
+  /* ./parser//lexer.nit:299 */
   if (!once_value_1) {
     if (!once_value_2) {
       fra.me.REG[2] = BOX_NativeString("protected");
@@ -1326,11 +1327,13 @@ void lexer___TKwprotected___init_tk(val_t p0, val_t p1, int* init_table){
       once_value_2 = fra.me.REG[2];
       register_static_object(&once_value_2);
     } else fra.me.REG[2] = once_value_2;
+    fra.me.REG[2] = fra.me.REG[2];
     once_value_1 = fra.me.REG[2];
     register_static_object(&once_value_1);
   } else fra.me.REG[2] = once_value_1;
+  fra.me.REG[2] = fra.me.REG[2];
   ATTR_lexer___Token____text(fra.me.REG[0]) = fra.me.REG[2];
-  /* ./parser//lexer.nit:299 */
+  /* ./parser//lexer.nit:300 */
   ATTR_parser_nodes___ANode____location(fra.me.REG[0]) = fra.me.REG[1];
   stack_frame_head = fra.me.prev;
   init_table[itpos21] = 1;
@@ -1342,14 +1345,14 @@ val_t lexer___TKwprivate___parser_index(val_t p0){
   val_t tmp;
   fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
   fra.me.file = LOCATE_lexer;
-  fra.me.line = 304;
+  fra.me.line = 305;
   fra.me.meth = LOCATE_lexer___TKwprivate___parser_index;
   fra.me.has_broke = 0;
   fra.me.REG_size = 1;
   fra.me.REG[0] = NIT_NULL;
   fra.me.REG[0] = p0;
+  /* ./parser//lexer.nit:307 */
   REGB0 = TAG_Int(22);
-  /* ./parser//lexer.nit:306 */
   goto label1;
   label1: while(0);
   stack_frame_head = fra.me.prev;
@@ -1365,7 +1368,7 @@ void lexer___TKwprivate___init_tk(val_t p0, val_t p1, int* init_table){
   if (init_table[itpos22]) return;
   fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
   fra.me.file = LOCATE_lexer;
-  fra.me.line = 309;
+  fra.me.line = 310;
   fra.me.meth = LOCATE_lexer___TKwprivate___init_tk;
   fra.me.has_broke = 0;
   fra.me.REG_size = 3;
@@ -1374,7 +1377,7 @@ void lexer___TKwprivate___init_tk(val_t p0, val_t p1, int* init_table){
   fra.me.REG[2] = NIT_NULL;
   fra.me.REG[0] = p0;
   fra.me.REG[1] = p1;
-  /* ./parser//lexer.nit:311 */
+  /* ./parser//lexer.nit:312 */
   if (!once_value_1) {
     if (!once_value_2) {
       fra.me.REG[2] = BOX_NativeString("private");
@@ -1383,11 +1386,13 @@ void lexer___TKwprivate___init_tk(val_t p0, val_t p1, int* init_table){
       once_value_2 = fra.me.REG[2];
       register_static_object(&once_value_2);
     } else fra.me.REG[2] = once_value_2;
+    fra.me.REG[2] = fra.me.REG[2];
     once_value_1 = fra.me.REG[2];
     register_static_object(&once_value_1);
   } else fra.me.REG[2] = once_value_1;
+  fra.me.REG[2] = fra.me.REG[2];
   ATTR_lexer___Token____text(fra.me.REG[0]) = fra.me.REG[2];
-  /* ./parser//lexer.nit:312 */
+  /* ./parser//lexer.nit:313 */
   ATTR_parser_nodes___ANode____location(fra.me.REG[0]) = fra.me.REG[1];
   stack_frame_head = fra.me.prev;
   init_table[itpos22] = 1;
@@ -1399,14 +1404,14 @@ val_t lexer___TKwintrude___parser_index(val_t p0){
   val_t tmp;
   fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
   fra.me.file = LOCATE_lexer;
-  fra.me.line = 317;
+  fra.me.line = 318;
   fra.me.meth = LOCATE_lexer___TKwintrude___parser_index;
   fra.me.has_broke = 0;
   fra.me.REG_size = 1;
   fra.me.REG[0] = NIT_NULL;
   fra.me.REG[0] = p0;
+  /* ./parser//lexer.nit:320 */
   REGB0 = TAG_Int(23);
-  /* ./parser//lexer.nit:319 */
   goto label1;
   label1: while(0);
   stack_frame_head = fra.me.prev;
@@ -1422,7 +1427,7 @@ void lexer___TKwintrude___init_tk(val_t p0, val_t p1, int* init_table){
   if (init_table[itpos23]) return;
   fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
   fra.me.file = LOCATE_lexer;
-  fra.me.line = 322;
+  fra.me.line = 323;
   fra.me.meth = LOCATE_lexer___TKwintrude___init_tk;
   fra.me.has_broke = 0;
   fra.me.REG_size = 3;
@@ -1431,7 +1436,7 @@ void lexer___TKwintrude___init_tk(val_t p0, val_t p1, int* init_table){
   fra.me.REG[2] = NIT_NULL;
   fra.me.REG[0] = p0;
   fra.me.REG[1] = p1;
-  /* ./parser//lexer.nit:324 */
+  /* ./parser//lexer.nit:325 */
   if (!once_value_1) {
     if (!once_value_2) {
       fra.me.REG[2] = BOX_NativeString("intrude");
@@ -1440,11 +1445,13 @@ void lexer___TKwintrude___init_tk(val_t p0, val_t p1, int* init_table){
       once_value_2 = fra.me.REG[2];
       register_static_object(&once_value_2);
     } else fra.me.REG[2] = once_value_2;
+    fra.me.REG[2] = fra.me.REG[2];
     once_value_1 = fra.me.REG[2];
     register_static_object(&once_value_1);
   } else fra.me.REG[2] = once_value_1;
+  fra.me.REG[2] = fra.me.REG[2];
   ATTR_lexer___Token____text(fra.me.REG[0]) = fra.me.REG[2];
-  /* ./parser//lexer.nit:325 */
+  /* ./parser//lexer.nit:326 */
   ATTR_parser_nodes___ANode____location(fra.me.REG[0]) = fra.me.REG[1];
   stack_frame_head = fra.me.prev;
   init_table[itpos23] = 1;
@@ -1456,14 +1463,14 @@ val_t lexer___TKwif___parser_index(val_t p0){
   val_t tmp;
   fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
   fra.me.file = LOCATE_lexer;
-  fra.me.line = 330;
+  fra.me.line = 331;
   fra.me.meth = LOCATE_lexer___TKwif___parser_index;
   fra.me.has_broke = 0;
   fra.me.REG_size = 1;
   fra.me.REG[0] = NIT_NULL;
   fra.me.REG[0] = p0;
+  /* ./parser//lexer.nit:333 */
   REGB0 = TAG_Int(24);
-  /* ./parser//lexer.nit:332 */
   goto label1;
   label1: while(0);
   stack_frame_head = fra.me.prev;
@@ -1479,7 +1486,7 @@ void lexer___TKwif___init_tk(val_t p0, val_t p1, int* init_table){
   if (init_table[itpos24]) return;
   fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
   fra.me.file = LOCATE_lexer;
-  fra.me.line = 335;
+  fra.me.line = 336;
   fra.me.meth = LOCATE_lexer___TKwif___init_tk;
   fra.me.has_broke = 0;
   fra.me.REG_size = 3;
@@ -1488,7 +1495,7 @@ void lexer___TKwif___init_tk(val_t p0, val_t p1, int* init_table){
   fra.me.REG[2] = NIT_NULL;
   fra.me.REG[0] = p0;
   fra.me.REG[1] = p1;
-  /* ./parser//lexer.nit:337 */
+  /* ./parser//lexer.nit:338 */
   if (!once_value_1) {
     if (!once_value_2) {
       fra.me.REG[2] = BOX_NativeString("if");
@@ -1497,11 +1504,13 @@ void lexer___TKwif___init_tk(val_t p0, val_t p1, int* init_table){
       once_value_2 = fra.me.REG[2];
       register_static_object(&once_value_2);
     } else fra.me.REG[2] = once_value_2;
+    fra.me.REG[2] = fra.me.REG[2];
     once_value_1 = fra.me.REG[2];
     register_static_object(&once_value_1);
   } else fra.me.REG[2] = once_value_1;
+  fra.me.REG[2] = fra.me.REG[2];
   ATTR_lexer___Token____text(fra.me.REG[0]) = fra.me.REG[2];
-  /* ./parser//lexer.nit:338 */
+  /* ./parser//lexer.nit:339 */
   ATTR_parser_nodes___ANode____location(fra.me.REG[0]) = fra.me.REG[1];
   stack_frame_head = fra.me.prev;
   init_table[itpos24] = 1;
@@ -1513,14 +1522,14 @@ val_t lexer___TKwthen___parser_index(val_t p0){
   val_t tmp;
   fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
   fra.me.file = LOCATE_lexer;
-  fra.me.line = 343;
+  fra.me.line = 344;
   fra.me.meth = LOCATE_lexer___TKwthen___parser_index;
   fra.me.has_broke = 0;
   fra.me.REG_size = 1;
   fra.me.REG[0] = NIT_NULL;
   fra.me.REG[0] = p0;
+  /* ./parser//lexer.nit:346 */
   REGB0 = TAG_Int(25);
-  /* ./parser//lexer.nit:345 */
   goto label1;
   label1: while(0);
   stack_frame_head = fra.me.prev;
@@ -1536,7 +1545,7 @@ void lexer___TKwthen___init_tk(val_t p0, val_t p1, int* init_table){
   if (init_table[itpos25]) return;
   fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
   fra.me.file = LOCATE_lexer;
-  fra.me.line = 348;
+  fra.me.line = 349;
   fra.me.meth = LOCATE_lexer___TKwthen___init_tk;
   fra.me.has_broke = 0;
   fra.me.REG_size = 3;
@@ -1545,7 +1554,7 @@ void lexer___TKwthen___init_tk(val_t p0, val_t p1, int* init_table){
   fra.me.REG[2] = NIT_NULL;
   fra.me.REG[0] = p0;
   fra.me.REG[1] = p1;
-  /* ./parser//lexer.nit:350 */
+  /* ./parser//lexer.nit:351 */
   if (!once_value_1) {
     if (!once_value_2) {
       fra.me.REG[2] = BOX_NativeString("then");
@@ -1554,11 +1563,13 @@ void lexer___TKwthen___init_tk(val_t p0, val_t p1, int* init_table){
       once_value_2 = fra.me.REG[2];
       register_static_object(&once_value_2);
     } else fra.me.REG[2] = once_value_2;
+    fra.me.REG[2] = fra.me.REG[2];
     once_value_1 = fra.me.REG[2];
     register_static_object(&once_value_1);
   } else fra.me.REG[2] = once_value_1;
+  fra.me.REG[2] = fra.me.REG[2];
   ATTR_lexer___Token____text(fra.me.REG[0]) = fra.me.REG[2];
-  /* ./parser//lexer.nit:351 */
+  /* ./parser//lexer.nit:352 */
   ATTR_parser_nodes___ANode____location(fra.me.REG[0]) = fra.me.REG[1];
   stack_frame_head = fra.me.prev;
   init_table[itpos25] = 1;
@@ -1570,14 +1581,14 @@ val_t lexer___TKwelse___parser_index(val_t p0){
   val_t tmp;
   fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
   fra.me.file = LOCATE_lexer;
-  fra.me.line = 356;
+  fra.me.line = 357;
   fra.me.meth = LOCATE_lexer___TKwelse___parser_index;
   fra.me.has_broke = 0;
   fra.me.REG_size = 1;
   fra.me.REG[0] = NIT_NULL;
   fra.me.REG[0] = p0;
+  /* ./parser//lexer.nit:359 */
   REGB0 = TAG_Int(26);
-  /* ./parser//lexer.nit:358 */
   goto label1;
   label1: while(0);
   stack_frame_head = fra.me.prev;
@@ -1593,7 +1604,7 @@ void lexer___TKwelse___init_tk(val_t p0, val_t p1, int* init_table){
   if (init_table[itpos26]) return;
   fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
   fra.me.file = LOCATE_lexer;
-  fra.me.line = 361;
+  fra.me.line = 362;
   fra.me.meth = LOCATE_lexer___TKwelse___init_tk;
   fra.me.has_broke = 0;
   fra.me.REG_size = 3;
@@ -1602,7 +1613,7 @@ void lexer___TKwelse___init_tk(val_t p0, val_t p1, int* init_table){
   fra.me.REG[2] = NIT_NULL;
   fra.me.REG[0] = p0;
   fra.me.REG[1] = p1;
-  /* ./parser//lexer.nit:363 */
+  /* ./parser//lexer.nit:364 */
   if (!once_value_1) {
     if (!once_value_2) {
       fra.me.REG[2] = BOX_NativeString("else");
@@ -1611,11 +1622,13 @@ void lexer___TKwelse___init_tk(val_t p0, val_t p1, int* init_table){
       once_value_2 = fra.me.REG[2];
       register_static_object(&once_value_2);
     } else fra.me.REG[2] = once_value_2;
+    fra.me.REG[2] = fra.me.REG[2];
     once_value_1 = fra.me.REG[2];
     register_static_object(&once_value_1);
   } else fra.me.REG[2] = once_value_1;
+  fra.me.REG[2] = fra.me.REG[2];
   ATTR_lexer___Token____text(fra.me.REG[0]) = fra.me.REG[2];
-  /* ./parser//lexer.nit:364 */
+  /* ./parser//lexer.nit:365 */
   ATTR_parser_nodes___ANode____location(fra.me.REG[0]) = fra.me.REG[1];
   stack_frame_head = fra.me.prev;
   init_table[itpos26] = 1;
@@ -1627,14 +1640,14 @@ val_t lexer___TKwwhile___parser_index(val_t p0){
   val_t tmp;
   fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
   fra.me.file = LOCATE_lexer;
-  fra.me.line = 369;
+  fra.me.line = 370;
   fra.me.meth = LOCATE_lexer___TKwwhile___parser_index;
   fra.me.has_broke = 0;
   fra.me.REG_size = 1;
   fra.me.REG[0] = NIT_NULL;
   fra.me.REG[0] = p0;
+  /* ./parser//lexer.nit:372 */
   REGB0 = TAG_Int(27);
-  /* ./parser//lexer.nit:371 */
   goto label1;
   label1: while(0);
   stack_frame_head = fra.me.prev;
@@ -1650,7 +1663,7 @@ void lexer___TKwwhile___init_tk(val_t p0, val_t p1, int* init_table){
   if (init_table[itpos27]) return;
   fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
   fra.me.file = LOCATE_lexer;
-  fra.me.line = 374;
+  fra.me.line = 375;
   fra.me.meth = LOCATE_lexer___TKwwhile___init_tk;
   fra.me.has_broke = 0;
   fra.me.REG_size = 3;
@@ -1659,7 +1672,7 @@ void lexer___TKwwhile___init_tk(val_t p0, val_t p1, int* init_table){
   fra.me.REG[2] = NIT_NULL;
   fra.me.REG[0] = p0;
   fra.me.REG[1] = p1;
-  /* ./parser//lexer.nit:376 */
+  /* ./parser//lexer.nit:377 */
   if (!once_value_1) {
     if (!once_value_2) {
       fra.me.REG[2] = BOX_NativeString("while");
@@ -1668,11 +1681,13 @@ void lexer___TKwwhile___init_tk(val_t p0, val_t p1, int* init_table){
       once_value_2 = fra.me.REG[2];
       register_static_object(&once_value_2);
     } else fra.me.REG[2] = once_value_2;
+    fra.me.REG[2] = fra.me.REG[2];
     once_value_1 = fra.me.REG[2];
     register_static_object(&once_value_1);
   } else fra.me.REG[2] = once_value_1;
+  fra.me.REG[2] = fra.me.REG[2];
   ATTR_lexer___Token____text(fra.me.REG[0]) = fra.me.REG[2];
-  /* ./parser//lexer.nit:377 */
+  /* ./parser//lexer.nit:378 */
   ATTR_parser_nodes___ANode____location(fra.me.REG[0]) = fra.me.REG[1];
   stack_frame_head = fra.me.prev;
   init_table[itpos27] = 1;
@@ -1684,14 +1699,14 @@ val_t lexer___TKwloop___parser_index(val_t p0){
   val_t tmp;
   fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
   fra.me.file = LOCATE_lexer;
-  fra.me.line = 382;
+  fra.me.line = 383;
   fra.me.meth = LOCATE_lexer___TKwloop___parser_index;
   fra.me.has_broke = 0;
   fra.me.REG_size = 1;
   fra.me.REG[0] = NIT_NULL;
   fra.me.REG[0] = p0;
+  /* ./parser//lexer.nit:385 */
   REGB0 = TAG_Int(28);
-  /* ./parser//lexer.nit:384 */
   goto label1;
   label1: while(0);
   stack_frame_head = fra.me.prev;
@@ -1707,7 +1722,7 @@ void lexer___TKwloop___init_tk(val_t p0, val_t p1, int* init_table){
   if (init_table[itpos28]) return;
   fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
   fra.me.file = LOCATE_lexer;
-  fra.me.line = 387;
+  fra.me.line = 388;
   fra.me.meth = LOCATE_lexer___TKwloop___init_tk;
   fra.me.has_broke = 0;
   fra.me.REG_size = 3;
@@ -1716,7 +1731,7 @@ void lexer___TKwloop___init_tk(val_t p0, val_t p1, int* init_table){
   fra.me.REG[2] = NIT_NULL;
   fra.me.REG[0] = p0;
   fra.me.REG[1] = p1;
-  /* ./parser//lexer.nit:389 */
+  /* ./parser//lexer.nit:390 */
   if (!once_value_1) {
     if (!once_value_2) {
       fra.me.REG[2] = BOX_NativeString("loop");
@@ -1725,11 +1740,13 @@ void lexer___TKwloop___init_tk(val_t p0, val_t p1, int* init_table){
       once_value_2 = fra.me.REG[2];
       register_static_object(&once_value_2);
     } else fra.me.REG[2] = once_value_2;
+    fra.me.REG[2] = fra.me.REG[2];
     once_value_1 = fra.me.REG[2];
     register_static_object(&once_value_1);
   } else fra.me.REG[2] = once_value_1;
+  fra.me.REG[2] = fra.me.REG[2];
   ATTR_lexer___Token____text(fra.me.REG[0]) = fra.me.REG[2];
-  /* ./parser//lexer.nit:390 */
+  /* ./parser//lexer.nit:391 */
   ATTR_parser_nodes___ANode____location(fra.me.REG[0]) = fra.me.REG[1];
   stack_frame_head = fra.me.prev;
   init_table[itpos28] = 1;
@@ -1741,14 +1758,14 @@ val_t lexer___TKwfor___parser_index(val_t p0){
   val_t tmp;
   fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
   fra.me.file = LOCATE_lexer;
-  fra.me.line = 395;
+  fra.me.line = 396;
   fra.me.meth = LOCATE_lexer___TKwfor___parser_index;
   fra.me.has_broke = 0;
   fra.me.REG_size = 1;
   fra.me.REG[0] = NIT_NULL;
   fra.me.REG[0] = p0;
+  /* ./parser//lexer.nit:398 */
   REGB0 = TAG_Int(29);
-  /* ./parser//lexer.nit:397 */
   goto label1;
   label1: while(0);
   stack_frame_head = fra.me.prev;
@@ -1764,7 +1781,7 @@ void lexer___TKwfor___init_tk(val_t p0, val_t p1, int* init_table){
   if (init_table[itpos29]) return;
   fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
   fra.me.file = LOCATE_lexer;
-  fra.me.line = 400;
+  fra.me.line = 401;
   fra.me.meth = LOCATE_lexer___TKwfor___init_tk;
   fra.me.has_broke = 0;
   fra.me.REG_size = 3;
@@ -1773,7 +1790,7 @@ void lexer___TKwfor___init_tk(val_t p0, val_t p1, int* init_table){
   fra.me.REG[2] = NIT_NULL;
   fra.me.REG[0] = p0;
   fra.me.REG[1] = p1;
-  /* ./parser//lexer.nit:402 */
+  /* ./parser//lexer.nit:403 */
   if (!once_value_1) {
     if (!once_value_2) {
       fra.me.REG[2] = BOX_NativeString("for");
@@ -1782,11 +1799,13 @@ void lexer___TKwfor___init_tk(val_t p0, val_t p1, int* init_table){
       once_value_2 = fra.me.REG[2];
       register_static_object(&once_value_2);
     } else fra.me.REG[2] = once_value_2;
+    fra.me.REG[2] = fra.me.REG[2];
     once_value_1 = fra.me.REG[2];
     register_static_object(&once_value_1);
   } else fra.me.REG[2] = once_value_1;
+  fra.me.REG[2] = fra.me.REG[2];
   ATTR_lexer___Token____text(fra.me.REG[0]) = fra.me.REG[2];
-  /* ./parser//lexer.nit:403 */
+  /* ./parser//lexer.nit:404 */
   ATTR_parser_nodes___ANode____location(fra.me.REG[0]) = fra.me.REG[1];
   stack_frame_head = fra.me.prev;
   init_table[itpos29] = 1;
@@ -1798,14 +1817,14 @@ val_t lexer___TKwin___parser_index(val_t p0){
   val_t tmp;
   fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
   fra.me.file = LOCATE_lexer;
-  fra.me.line = 408;
+  fra.me.line = 409;
   fra.me.meth = LOCATE_lexer___TKwin___parser_index;
   fra.me.has_broke = 0;
   fra.me.REG_size = 1;
   fra.me.REG[0] = NIT_NULL;
   fra.me.REG[0] = p0;
+  /* ./parser//lexer.nit:411 */
   REGB0 = TAG_Int(30);
-  /* ./parser//lexer.nit:410 */
   goto label1;
   label1: while(0);
   stack_frame_head = fra.me.prev;
@@ -1821,7 +1840,7 @@ void lexer___TKwin___init_tk(val_t p0, val_t p1, int* init_table){
   if (init_table[itpos30]) return;
   fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
   fra.me.file = LOCATE_lexer;
-  fra.me.line = 413;
+  fra.me.line = 414;
   fra.me.meth = LOCATE_lexer___TKwin___init_tk;
   fra.me.has_broke = 0;
   fra.me.REG_size = 3;
@@ -1830,7 +1849,7 @@ void lexer___TKwin___init_tk(val_t p0, val_t p1, int* init_table){
   fra.me.REG[2] = NIT_NULL;
   fra.me.REG[0] = p0;
   fra.me.REG[1] = p1;
-  /* ./parser//lexer.nit:415 */
+  /* ./parser//lexer.nit:416 */
   if (!once_value_1) {
     if (!once_value_2) {
       fra.me.REG[2] = BOX_NativeString("in");
@@ -1839,11 +1858,13 @@ void lexer___TKwin___init_tk(val_t p0, val_t p1, int* init_table){
       once_value_2 = fra.me.REG[2];
       register_static_object(&once_value_2);
     } else fra.me.REG[2] = once_value_2;
+    fra.me.REG[2] = fra.me.REG[2];
     once_value_1 = fra.me.REG[2];
     register_static_object(&once_value_1);
   } else fra.me.REG[2] = once_value_1;
+  fra.me.REG[2] = fra.me.REG[2];
   ATTR_lexer___Token____text(fra.me.REG[0]) = fra.me.REG[2];
-  /* ./parser//lexer.nit:416 */
+  /* ./parser//lexer.nit:417 */
   ATTR_parser_nodes___ANode____location(fra.me.REG[0]) = fra.me.REG[1];
   stack_frame_head = fra.me.prev;
   init_table[itpos30] = 1;
@@ -1855,14 +1876,14 @@ val_t lexer___TKwand___parser_index(val_t p0){
   val_t tmp;
   fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
   fra.me.file = LOCATE_lexer;
-  fra.me.line = 421;
+  fra.me.line = 422;
   fra.me.meth = LOCATE_lexer___TKwand___parser_index;
   fra.me.has_broke = 0;
   fra.me.REG_size = 1;
   fra.me.REG[0] = NIT_NULL;
   fra.me.REG[0] = p0;
+  /* ./parser//lexer.nit:424 */
   REGB0 = TAG_Int(31);
-  /* ./parser//lexer.nit:423 */
   goto label1;
   label1: while(0);
   stack_frame_head = fra.me.prev;
@@ -1878,7 +1899,7 @@ void lexer___TKwand___init_tk(val_t p0, val_t p1, int* init_table){
   if (init_table[itpos31]) return;
   fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
   fra.me.file = LOCATE_lexer;
-  fra.me.line = 426;
+  fra.me.line = 427;
   fra.me.meth = LOCATE_lexer___TKwand___init_tk;
   fra.me.has_broke = 0;
   fra.me.REG_size = 3;
@@ -1887,7 +1908,7 @@ void lexer___TKwand___init_tk(val_t p0, val_t p1, int* init_table){
   fra.me.REG[2] = NIT_NULL;
   fra.me.REG[0] = p0;
   fra.me.REG[1] = p1;
-  /* ./parser//lexer.nit:428 */
+  /* ./parser//lexer.nit:429 */
   if (!once_value_1) {
     if (!once_value_2) {
       fra.me.REG[2] = BOX_NativeString("and");
@@ -1896,11 +1917,13 @@ void lexer___TKwand___init_tk(val_t p0, val_t p1, int* init_table){
       once_value_2 = fra.me.REG[2];
       register_static_object(&once_value_2);
     } else fra.me.REG[2] = once_value_2;
+    fra.me.REG[2] = fra.me.REG[2];
     once_value_1 = fra.me.REG[2];
     register_static_object(&once_value_1);
   } else fra.me.REG[2] = once_value_1;
+  fra.me.REG[2] = fra.me.REG[2];
   ATTR_lexer___Token____text(fra.me.REG[0]) = fra.me.REG[2];
-  /* ./parser//lexer.nit:429 */
+  /* ./parser//lexer.nit:430 */
   ATTR_parser_nodes___ANode____location(fra.me.REG[0]) = fra.me.REG[1];
   stack_frame_head = fra.me.prev;
   init_table[itpos31] = 1;
@@ -1912,14 +1935,14 @@ val_t lexer___TKwor___parser_index(val_t p0){
   val_t tmp;
   fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
   fra.me.file = LOCATE_lexer;
-  fra.me.line = 434;
+  fra.me.line = 435;
   fra.me.meth = LOCATE_lexer___TKwor___parser_index;
   fra.me.has_broke = 0;
   fra.me.REG_size = 1;
   fra.me.REG[0] = NIT_NULL;
   fra.me.REG[0] = p0;
+  /* ./parser//lexer.nit:437 */
   REGB0 = TAG_Int(32);
-  /* ./parser//lexer.nit:436 */
   goto label1;
   label1: while(0);
   stack_frame_head = fra.me.prev;
@@ -1935,7 +1958,7 @@ void lexer___TKwor___init_tk(val_t p0, val_t p1, int* init_table){
   if (init_table[itpos32]) return;
   fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
   fra.me.file = LOCATE_lexer;
-  fra.me.line = 439;
+  fra.me.line = 440;
   fra.me.meth = LOCATE_lexer___TKwor___init_tk;
   fra.me.has_broke = 0;
   fra.me.REG_size = 3;
@@ -1944,7 +1967,7 @@ void lexer___TKwor___init_tk(val_t p0, val_t p1, int* init_table){
   fra.me.REG[2] = NIT_NULL;
   fra.me.REG[0] = p0;
   fra.me.REG[1] = p1;
-  /* ./parser//lexer.nit:441 */
+  /* ./parser//lexer.nit:442 */
   if (!once_value_1) {
     if (!once_value_2) {
       fra.me.REG[2] = BOX_NativeString("or");
@@ -1953,11 +1976,13 @@ void lexer___TKwor___init_tk(val_t p0, val_t p1, int* init_table){
       once_value_2 = fra.me.REG[2];
       register_static_object(&once_value_2);
     } else fra.me.REG[2] = once_value_2;
+    fra.me.REG[2] = fra.me.REG[2];
     once_value_1 = fra.me.REG[2];
     register_static_object(&once_value_1);
   } else fra.me.REG[2] = once_value_1;
+  fra.me.REG[2] = fra.me.REG[2];
   ATTR_lexer___Token____text(fra.me.REG[0]) = fra.me.REG[2];
-  /* ./parser//lexer.nit:442 */
+  /* ./parser//lexer.nit:443 */
   ATTR_parser_nodes___ANode____location(fra.me.REG[0]) = fra.me.REG[1];
   stack_frame_head = fra.me.prev;
   init_table[itpos32] = 1;
@@ -1969,14 +1994,14 @@ val_t lexer___TKwnot___parser_index(val_t p0){
   val_t tmp;
   fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
   fra.me.file = LOCATE_lexer;
-  fra.me.line = 447;
+  fra.me.line = 448;
   fra.me.meth = LOCATE_lexer___TKwnot___parser_index;
   fra.me.has_broke = 0;
   fra.me.REG_size = 1;
   fra.me.REG[0] = NIT_NULL;
   fra.me.REG[0] = p0;
+  /* ./parser//lexer.nit:450 */
   REGB0 = TAG_Int(33);
-  /* ./parser//lexer.nit:449 */
   goto label1;
   label1: while(0);
   stack_frame_head = fra.me.prev;
@@ -1992,7 +2017,7 @@ void lexer___TKwnot___init_tk(val_t p0, val_t p1, int* init_table){
   if (init_table[itpos33]) return;
   fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
   fra.me.file = LOCATE_lexer;
-  fra.me.line = 452;
+  fra.me.line = 453;
   fra.me.meth = LOCATE_lexer___TKwnot___init_tk;
   fra.me.has_broke = 0;
   fra.me.REG_size = 3;
@@ -2001,7 +2026,7 @@ void lexer___TKwnot___init_tk(val_t p0, val_t p1, int* init_table){
   fra.me.REG[2] = NIT_NULL;
   fra.me.REG[0] = p0;
   fra.me.REG[1] = p1;
-  /* ./parser//lexer.nit:454 */
+  /* ./parser//lexer.nit:455 */
   if (!once_value_1) {
     if (!once_value_2) {
       fra.me.REG[2] = BOX_NativeString("not");
@@ -2010,11 +2035,13 @@ void lexer___TKwnot___init_tk(val_t p0, val_t p1, int* init_table){
       once_value_2 = fra.me.REG[2];
       register_static_object(&once_value_2);
     } else fra.me.REG[2] = once_value_2;
+    fra.me.REG[2] = fra.me.REG[2];
     once_value_1 = fra.me.REG[2];
     register_static_object(&once_value_1);
   } else fra.me.REG[2] = once_value_1;
+  fra.me.REG[2] = fra.me.REG[2];
   ATTR_lexer___Token____text(fra.me.REG[0]) = fra.me.REG[2];
-  /* ./parser//lexer.nit:455 */
+  /* ./parser//lexer.nit:456 */
   ATTR_parser_nodes___ANode____location(fra.me.REG[0]) = fra.me.REG[1];
   stack_frame_head = fra.me.prev;
   init_table[itpos33] = 1;
@@ -2026,14 +2053,14 @@ val_t lexer___TKwreturn___parser_index(val_t p0){
   val_t tmp;
   fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
   fra.me.file = LOCATE_lexer;
-  fra.me.line = 460;
+  fra.me.line = 461;
   fra.me.meth = LOCATE_lexer___TKwreturn___parser_index;
   fra.me.has_broke = 0;
   fra.me.REG_size = 1;
   fra.me.REG[0] = NIT_NULL;
   fra.me.REG[0] = p0;
+  /* ./parser//lexer.nit:463 */
   REGB0 = TAG_Int(34);
-  /* ./parser//lexer.nit:462 */
   goto label1;
   label1: while(0);
   stack_frame_head = fra.me.prev;
@@ -2049,7 +2076,7 @@ void lexer___TKwreturn___init_tk(val_t p0, val_t p1, int* init_table){
   if (init_table[itpos34]) return;
   fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
   fra.me.file = LOCATE_lexer;
-  fra.me.line = 465;
+  fra.me.line = 466;
   fra.me.meth = LOCATE_lexer___TKwreturn___init_tk;
   fra.me.has_broke = 0;
   fra.me.REG_size = 3;
@@ -2058,7 +2085,7 @@ void lexer___TKwreturn___init_tk(val_t p0, val_t p1, int* init_table){
   fra.me.REG[2] = NIT_NULL;
   fra.me.REG[0] = p0;
   fra.me.REG[1] = p1;
-  /* ./parser//lexer.nit:467 */
+  /* ./parser//lexer.nit:468 */
   if (!once_value_1) {
     if (!once_value_2) {
       fra.me.REG[2] = BOX_NativeString("return");
@@ -2067,11 +2094,13 @@ void lexer___TKwreturn___init_tk(val_t p0, val_t p1, int* init_table){
       once_value_2 = fra.me.REG[2];
       register_static_object(&once_value_2);
     } else fra.me.REG[2] = once_value_2;
+    fra.me.REG[2] = fra.me.REG[2];
     once_value_1 = fra.me.REG[2];
     register_static_object(&once_value_1);
   } else fra.me.REG[2] = once_value_1;
+  fra.me.REG[2] = fra.me.REG[2];
   ATTR_lexer___Token____text(fra.me.REG[0]) = fra.me.REG[2];
-  /* ./parser//lexer.nit:468 */
+  /* ./parser//lexer.nit:469 */
   ATTR_parser_nodes___ANode____location(fra.me.REG[0]) = fra.me.REG[1];
   stack_frame_head = fra.me.prev;
   init_table[itpos34] = 1;
@@ -2083,14 +2112,14 @@ val_t lexer___TKwcontinue___parser_index(val_t p0){
   val_t tmp;
   fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
   fra.me.file = LOCATE_lexer;
-  fra.me.line = 473;
+  fra.me.line = 474;
   fra.me.meth = LOCATE_lexer___TKwcontinue___parser_index;
   fra.me.has_broke = 0;
   fra.me.REG_size = 1;
   fra.me.REG[0] = NIT_NULL;
   fra.me.REG[0] = p0;
+  /* ./parser//lexer.nit:476 */
   REGB0 = TAG_Int(35);
-  /* ./parser//lexer.nit:475 */
   goto label1;
   label1: while(0);
   stack_frame_head = fra.me.prev;
@@ -2106,7 +2135,7 @@ void lexer___TKwcontinue___init_tk(val_t p0, val_t p1, int* init_table){
   if (init_table[itpos35]) return;
   fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
   fra.me.file = LOCATE_lexer;
-  fra.me.line = 478;
+  fra.me.line = 479;
   fra.me.meth = LOCATE_lexer___TKwcontinue___init_tk;
   fra.me.has_broke = 0;
   fra.me.REG_size = 3;
@@ -2115,7 +2144,7 @@ void lexer___TKwcontinue___init_tk(val_t p0, val_t p1, int* init_table){
   fra.me.REG[2] = NIT_NULL;
   fra.me.REG[0] = p0;
   fra.me.REG[1] = p1;
-  /* ./parser//lexer.nit:480 */
+  /* ./parser//lexer.nit:481 */
   if (!once_value_1) {
     if (!once_value_2) {
       fra.me.REG[2] = BOX_NativeString("continue");
@@ -2124,11 +2153,13 @@ void lexer___TKwcontinue___init_tk(val_t p0, val_t p1, int* init_table){
       once_value_2 = fra.me.REG[2];
       register_static_object(&once_value_2);
     } else fra.me.REG[2] = once_value_2;
+    fra.me.REG[2] = fra.me.REG[2];
     once_value_1 = fra.me.REG[2];
     register_static_object(&once_value_1);
   } else fra.me.REG[2] = once_value_1;
+  fra.me.REG[2] = fra.me.REG[2];
   ATTR_lexer___Token____text(fra.me.REG[0]) = fra.me.REG[2];
-  /* ./parser//lexer.nit:481 */
+  /* ./parser//lexer.nit:482 */
   ATTR_parser_nodes___ANode____location(fra.me.REG[0]) = fra.me.REG[1];
   stack_frame_head = fra.me.prev;
   init_table[itpos35] = 1;
@@ -2140,14 +2171,14 @@ val_t lexer___TKwbreak___parser_index(val_t p0){
   val_t tmp;
   fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
   fra.me.file = LOCATE_lexer;
-  fra.me.line = 486;
+  fra.me.line = 487;
   fra.me.meth = LOCATE_lexer___TKwbreak___parser_index;
   fra.me.has_broke = 0;
   fra.me.REG_size = 1;
   fra.me.REG[0] = NIT_NULL;
   fra.me.REG[0] = p0;
+  /* ./parser//lexer.nit:489 */
   REGB0 = TAG_Int(36);
-  /* ./parser//lexer.nit:488 */
   goto label1;
   label1: while(0);
   stack_frame_head = fra.me.prev;
@@ -2163,7 +2194,7 @@ void lexer___TKwbreak___init_tk(val_t p0, val_t p1, int* init_table){
   if (init_table[itpos36]) return;
   fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
   fra.me.file = LOCATE_lexer;
-  fra.me.line = 491;
+  fra.me.line = 492;
   fra.me.meth = LOCATE_lexer___TKwbreak___init_tk;
   fra.me.has_broke = 0;
   fra.me.REG_size = 3;
@@ -2172,7 +2203,7 @@ void lexer___TKwbreak___init_tk(val_t p0, val_t p1, int* init_table){
   fra.me.REG[2] = NIT_NULL;
   fra.me.REG[0] = p0;
   fra.me.REG[1] = p1;
-  /* ./parser//lexer.nit:493 */
+  /* ./parser//lexer.nit:494 */
   if (!once_value_1) {
     if (!once_value_2) {
       fra.me.REG[2] = BOX_NativeString("break");
@@ -2181,11 +2212,13 @@ void lexer___TKwbreak___init_tk(val_t p0, val_t p1, int* init_table){
       once_value_2 = fra.me.REG[2];
       register_static_object(&once_value_2);
     } else fra.me.REG[2] = once_value_2;
+    fra.me.REG[2] = fra.me.REG[2];
     once_value_1 = fra.me.REG[2];
     register_static_object(&once_value_1);
   } else fra.me.REG[2] = once_value_1;
+  fra.me.REG[2] = fra.me.REG[2];
   ATTR_lexer___Token____text(fra.me.REG[0]) = fra.me.REG[2];
-  /* ./parser//lexer.nit:494 */
+  /* ./parser//lexer.nit:495 */
   ATTR_parser_nodes___ANode____location(fra.me.REG[0]) = fra.me.REG[1];
   stack_frame_head = fra.me.prev;
   init_table[itpos36] = 1;
@@ -2197,14 +2230,14 @@ val_t lexer___TKwabort___parser_index(val_t p0){
   val_t tmp;
   fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
   fra.me.file = LOCATE_lexer;
-  fra.me.line = 499;
+  fra.me.line = 500;
   fra.me.meth = LOCATE_lexer___TKwabort___parser_index;
   fra.me.has_broke = 0;
   fra.me.REG_size = 1;
   fra.me.REG[0] = NIT_NULL;
   fra.me.REG[0] = p0;
+  /* ./parser//lexer.nit:502 */
   REGB0 = TAG_Int(37);
-  /* ./parser//lexer.nit:501 */
   goto label1;
   label1: while(0);
   stack_frame_head = fra.me.prev;
@@ -2220,7 +2253,7 @@ void lexer___TKwabort___init_tk(val_t p0, val_t p1, int* init_table){
   if (init_table[itpos37]) return;
   fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
   fra.me.file = LOCATE_lexer;
-  fra.me.line = 504;
+  fra.me.line = 505;
   fra.me.meth = LOCATE_lexer___TKwabort___init_tk;
   fra.me.has_broke = 0;
   fra.me.REG_size = 3;
@@ -2229,7 +2262,7 @@ void lexer___TKwabort___init_tk(val_t p0, val_t p1, int* init_table){
   fra.me.REG[2] = NIT_NULL;
   fra.me.REG[0] = p0;
   fra.me.REG[1] = p1;
-  /* ./parser//lexer.nit:506 */
+  /* ./parser//lexer.nit:507 */
   if (!once_value_1) {
     if (!once_value_2) {
       fra.me.REG[2] = BOX_NativeString("abort");
@@ -2238,11 +2271,13 @@ void lexer___TKwabort___init_tk(val_t p0, val_t p1, int* init_table){
       once_value_2 = fra.me.REG[2];
       register_static_object(&once_value_2);
     } else fra.me.REG[2] = once_value_2;
+    fra.me.REG[2] = fra.me.REG[2];
     once_value_1 = fra.me.REG[2];
     register_static_object(&once_value_1);
   } else fra.me.REG[2] = once_value_1;
+  fra.me.REG[2] = fra.me.REG[2];
   ATTR_lexer___Token____text(fra.me.REG[0]) = fra.me.REG[2];
-  /* ./parser//lexer.nit:507 */
+  /* ./parser//lexer.nit:508 */
   ATTR_parser_nodes___ANode____location(fra.me.REG[0]) = fra.me.REG[1];
   stack_frame_head = fra.me.prev;
   init_table[itpos37] = 1;
@@ -2254,14 +2289,14 @@ val_t lexer___TKwassert___parser_index(val_t p0){
   val_t tmp;
   fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
   fra.me.file = LOCATE_lexer;
-  fra.me.line = 512;
+  fra.me.line = 513;
   fra.me.meth = LOCATE_lexer___TKwassert___parser_index;
   fra.me.has_broke = 0;
   fra.me.REG_size = 1;
   fra.me.REG[0] = NIT_NULL;
   fra.me.REG[0] = p0;
+  /* ./parser//lexer.nit:515 */
   REGB0 = TAG_Int(38);
-  /* ./parser//lexer.nit:514 */
   goto label1;
   label1: while(0);
   stack_frame_head = fra.me.prev;
@@ -2277,7 +2312,7 @@ void lexer___TKwassert___init_tk(val_t p0, val_t p1, int* init_table){
   if (init_table[itpos38]) return;
   fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
   fra.me.file = LOCATE_lexer;
-  fra.me.line = 517;
+  fra.me.line = 518;
   fra.me.meth = LOCATE_lexer___TKwassert___init_tk;
   fra.me.has_broke = 0;
   fra.me.REG_size = 3;
@@ -2286,7 +2321,7 @@ void lexer___TKwassert___init_tk(val_t p0, val_t p1, int* init_table){
   fra.me.REG[2] = NIT_NULL;
   fra.me.REG[0] = p0;
   fra.me.REG[1] = p1;
-  /* ./parser//lexer.nit:519 */
+  /* ./parser//lexer.nit:520 */
   if (!once_value_1) {
     if (!once_value_2) {
       fra.me.REG[2] = BOX_NativeString("assert");
@@ -2295,11 +2330,13 @@ void lexer___TKwassert___init_tk(val_t p0, val_t p1, int* init_table){
       once_value_2 = fra.me.REG[2];
       register_static_object(&once_value_2);
     } else fra.me.REG[2] = once_value_2;
+    fra.me.REG[2] = fra.me.REG[2];
     once_value_1 = fra.me.REG[2];
     register_static_object(&once_value_1);
   } else fra.me.REG[2] = once_value_1;
+  fra.me.REG[2] = fra.me.REG[2];
   ATTR_lexer___Token____text(fra.me.REG[0]) = fra.me.REG[2];
-  /* ./parser//lexer.nit:520 */
+  /* ./parser//lexer.nit:521 */
   ATTR_parser_nodes___ANode____location(fra.me.REG[0]) = fra.me.REG[1];
   stack_frame_head = fra.me.prev;
   init_table[itpos38] = 1;
@@ -2311,14 +2348,14 @@ val_t lexer___TKwnew___parser_index(val_t p0){
   val_t tmp;
   fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
   fra.me.file = LOCATE_lexer;
-  fra.me.line = 525;
+  fra.me.line = 526;
   fra.me.meth = LOCATE_lexer___TKwnew___parser_index;
   fra.me.has_broke = 0;
   fra.me.REG_size = 1;
   fra.me.REG[0] = NIT_NULL;
   fra.me.REG[0] = p0;
+  /* ./parser//lexer.nit:528 */
   REGB0 = TAG_Int(39);
-  /* ./parser//lexer.nit:527 */
   goto label1;
   label1: while(0);
   stack_frame_head = fra.me.prev;
@@ -2334,7 +2371,7 @@ void lexer___TKwnew___init_tk(val_t p0, val_t p1, int* init_table){
   if (init_table[itpos39]) return;
   fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
   fra.me.file = LOCATE_lexer;
-  fra.me.line = 530;
+  fra.me.line = 531;
   fra.me.meth = LOCATE_lexer___TKwnew___init_tk;
   fra.me.has_broke = 0;
   fra.me.REG_size = 3;
@@ -2343,7 +2380,7 @@ void lexer___TKwnew___init_tk(val_t p0, val_t p1, int* init_table){
   fra.me.REG[2] = NIT_NULL;
   fra.me.REG[0] = p0;
   fra.me.REG[1] = p1;
-  /* ./parser//lexer.nit:532 */
+  /* ./parser//lexer.nit:533 */
   if (!once_value_1) {
     if (!once_value_2) {
       fra.me.REG[2] = BOX_NativeString("new");
@@ -2352,11 +2389,13 @@ void lexer___TKwnew___init_tk(val_t p0, val_t p1, int* init_table){
       once_value_2 = fra.me.REG[2];
       register_static_object(&once_value_2);
     } else fra.me.REG[2] = once_value_2;
+    fra.me.REG[2] = fra.me.REG[2];
     once_value_1 = fra.me.REG[2];
     register_static_object(&once_value_1);
   } else fra.me.REG[2] = once_value_1;
+  fra.me.REG[2] = fra.me.REG[2];
   ATTR_lexer___Token____text(fra.me.REG[0]) = fra.me.REG[2];
-  /* ./parser//lexer.nit:533 */
+  /* ./parser//lexer.nit:534 */
   ATTR_parser_nodes___ANode____location(fra.me.REG[0]) = fra.me.REG[1];
   stack_frame_head = fra.me.prev;
   init_table[itpos39] = 1;
@@ -2368,14 +2407,14 @@ val_t lexer___TKwisa___parser_index(val_t p0){
   val_t tmp;
   fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
   fra.me.file = LOCATE_lexer;
-  fra.me.line = 538;
+  fra.me.line = 539;
   fra.me.meth = LOCATE_lexer___TKwisa___parser_index;
   fra.me.has_broke = 0;
   fra.me.REG_size = 1;
   fra.me.REG[0] = NIT_NULL;
   fra.me.REG[0] = p0;
+  /* ./parser//lexer.nit:541 */
   REGB0 = TAG_Int(40);
-  /* ./parser//lexer.nit:540 */
   goto label1;
   label1: while(0);
   stack_frame_head = fra.me.prev;
@@ -2391,7 +2430,7 @@ void lexer___TKwisa___init_tk(val_t p0, val_t p1, int* init_table){
   if (init_table[itpos40]) return;
   fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
   fra.me.file = LOCATE_lexer;
-  fra.me.line = 543;
+  fra.me.line = 544;
   fra.me.meth = LOCATE_lexer___TKwisa___init_tk;
   fra.me.has_broke = 0;
   fra.me.REG_size = 3;
@@ -2400,7 +2439,7 @@ void lexer___TKwisa___init_tk(val_t p0, val_t p1, int* init_table){
   fra.me.REG[2] = NIT_NULL;
   fra.me.REG[0] = p0;
   fra.me.REG[1] = p1;
-  /* ./parser//lexer.nit:545 */
+  /* ./parser//lexer.nit:546 */
   if (!once_value_1) {
     if (!once_value_2) {
       fra.me.REG[2] = BOX_NativeString("isa");
@@ -2409,11 +2448,13 @@ void lexer___TKwisa___init_tk(val_t p0, val_t p1, int* init_table){
       once_value_2 = fra.me.REG[2];
       register_static_object(&once_value_2);
     } else fra.me.REG[2] = once_value_2;
+    fra.me.REG[2] = fra.me.REG[2];
     once_value_1 = fra.me.REG[2];
     register_static_object(&once_value_1);
   } else fra.me.REG[2] = once_value_1;
+  fra.me.REG[2] = fra.me.REG[2];
   ATTR_lexer___Token____text(fra.me.REG[0]) = fra.me.REG[2];
-  /* ./parser//lexer.nit:546 */
+  /* ./parser//lexer.nit:547 */
   ATTR_parser_nodes___ANode____location(fra.me.REG[0]) = fra.me.REG[1];
   stack_frame_head = fra.me.prev;
   init_table[itpos40] = 1;
@@ -2425,14 +2466,14 @@ val_t lexer___TKwonce___parser_index(val_t p0){
   val_t tmp;
   fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
   fra.me.file = LOCATE_lexer;
-  fra.me.line = 551;
+  fra.me.line = 552;
   fra.me.meth = LOCATE_lexer___TKwonce___parser_index;
   fra.me.has_broke = 0;
   fra.me.REG_size = 1;
   fra.me.REG[0] = NIT_NULL;
   fra.me.REG[0] = p0;
+  /* ./parser//lexer.nit:554 */
   REGB0 = TAG_Int(41);
-  /* ./parser//lexer.nit:553 */
   goto label1;
   label1: while(0);
   stack_frame_head = fra.me.prev;
@@ -2448,7 +2489,7 @@ void lexer___TKwonce___init_tk(val_t p0, val_t p1, int* init_table){
   if (init_table[itpos41]) return;
   fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
   fra.me.file = LOCATE_lexer;
-  fra.me.line = 556;
+  fra.me.line = 557;
   fra.me.meth = LOCATE_lexer___TKwonce___init_tk;
   fra.me.has_broke = 0;
   fra.me.REG_size = 3;
@@ -2457,7 +2498,7 @@ void lexer___TKwonce___init_tk(val_t p0, val_t p1, int* init_table){
   fra.me.REG[2] = NIT_NULL;
   fra.me.REG[0] = p0;
   fra.me.REG[1] = p1;
-  /* ./parser//lexer.nit:558 */
+  /* ./parser//lexer.nit:559 */
   if (!once_value_1) {
     if (!once_value_2) {
       fra.me.REG[2] = BOX_NativeString("once");
@@ -2466,11 +2507,13 @@ void lexer___TKwonce___init_tk(val_t p0, val_t p1, int* init_table){
       once_value_2 = fra.me.REG[2];
       register_static_object(&once_value_2);
     } else fra.me.REG[2] = once_value_2;
+    fra.me.REG[2] = fra.me.REG[2];
     once_value_1 = fra.me.REG[2];
     register_static_object(&once_value_1);
   } else fra.me.REG[2] = once_value_1;
+  fra.me.REG[2] = fra.me.REG[2];
   ATTR_lexer___Token____text(fra.me.REG[0]) = fra.me.REG[2];
-  /* ./parser//lexer.nit:559 */
+  /* ./parser//lexer.nit:560 */
   ATTR_parser_nodes___ANode____location(fra.me.REG[0]) = fra.me.REG[1];
   stack_frame_head = fra.me.prev;
   init_table[itpos41] = 1;
@@ -2482,14 +2525,14 @@ val_t lexer___TKwsuper___parser_index(val_t p0){
   val_t tmp;
   fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
   fra.me.file = LOCATE_lexer;
-  fra.me.line = 564;
+  fra.me.line = 565;
   fra.me.meth = LOCATE_lexer___TKwsuper___parser_index;
   fra.me.has_broke = 0;
   fra.me.REG_size = 1;
   fra.me.REG[0] = NIT_NULL;
   fra.me.REG[0] = p0;
+  /* ./parser//lexer.nit:567 */
   REGB0 = TAG_Int(42);
-  /* ./parser//lexer.nit:566 */
   goto label1;
   label1: while(0);
   stack_frame_head = fra.me.prev;
@@ -2505,7 +2548,7 @@ void lexer___TKwsuper___init_tk(val_t p0, val_t p1, int* init_table){
   if (init_table[itpos42]) return;
   fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
   fra.me.file = LOCATE_lexer;
-  fra.me.line = 569;
+  fra.me.line = 570;
   fra.me.meth = LOCATE_lexer___TKwsuper___init_tk;
   fra.me.has_broke = 0;
   fra.me.REG_size = 3;
@@ -2514,7 +2557,7 @@ void lexer___TKwsuper___init_tk(val_t p0, val_t p1, int* init_table){
   fra.me.REG[2] = NIT_NULL;
   fra.me.REG[0] = p0;
   fra.me.REG[1] = p1;
-  /* ./parser//lexer.nit:571 */
+  /* ./parser//lexer.nit:572 */
   if (!once_value_1) {
     if (!once_value_2) {
       fra.me.REG[2] = BOX_NativeString("super");
@@ -2523,11 +2566,13 @@ void lexer___TKwsuper___init_tk(val_t p0, val_t p1, int* init_table){
       once_value_2 = fra.me.REG[2];
       register_static_object(&once_value_2);
     } else fra.me.REG[2] = once_value_2;
+    fra.me.REG[2] = fra.me.REG[2];
     once_value_1 = fra.me.REG[2];
     register_static_object(&once_value_1);
   } else fra.me.REG[2] = once_value_1;
+  fra.me.REG[2] = fra.me.REG[2];
   ATTR_lexer___Token____text(fra.me.REG[0]) = fra.me.REG[2];
-  /* ./parser//lexer.nit:572 */
+  /* ./parser//lexer.nit:573 */
   ATTR_parser_nodes___ANode____location(fra.me.REG[0]) = fra.me.REG[1];
   stack_frame_head = fra.me.prev;
   init_table[itpos42] = 1;
@@ -2539,14 +2584,14 @@ val_t lexer___TKwself___parser_index(val_t p0){
   val_t tmp;
   fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
   fra.me.file = LOCATE_lexer;
-  fra.me.line = 577;
+  fra.me.line = 578;
   fra.me.meth = LOCATE_lexer___TKwself___parser_index;
   fra.me.has_broke = 0;
   fra.me.REG_size = 1;
   fra.me.REG[0] = NIT_NULL;
   fra.me.REG[0] = p0;
+  /* ./parser//lexer.nit:580 */
   REGB0 = TAG_Int(43);
-  /* ./parser//lexer.nit:579 */
   goto label1;
   label1: while(0);
   stack_frame_head = fra.me.prev;
@@ -2562,7 +2607,7 @@ void lexer___TKwself___init_tk(val_t p0, val_t p1, int* init_table){
   if (init_table[itpos43]) return;
   fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
   fra.me.file = LOCATE_lexer;
-  fra.me.line = 582;
+  fra.me.line = 583;
   fra.me.meth = LOCATE_lexer___TKwself___init_tk;
   fra.me.has_broke = 0;
   fra.me.REG_size = 3;
@@ -2571,7 +2616,7 @@ void lexer___TKwself___init_tk(val_t p0, val_t p1, int* init_table){
   fra.me.REG[2] = NIT_NULL;
   fra.me.REG[0] = p0;
   fra.me.REG[1] = p1;
-  /* ./parser//lexer.nit:584 */
+  /* ./parser//lexer.nit:585 */
   if (!once_value_1) {
     if (!once_value_2) {
       fra.me.REG[2] = BOX_NativeString("self");
@@ -2580,11 +2625,13 @@ void lexer___TKwself___init_tk(val_t p0, val_t p1, int* init_table){
       once_value_2 = fra.me.REG[2];
       register_static_object(&once_value_2);
     } else fra.me.REG[2] = once_value_2;
+    fra.me.REG[2] = fra.me.REG[2];
     once_value_1 = fra.me.REG[2];
     register_static_object(&once_value_1);
   } else fra.me.REG[2] = once_value_1;
+  fra.me.REG[2] = fra.me.REG[2];
   ATTR_lexer___Token____text(fra.me.REG[0]) = fra.me.REG[2];
-  /* ./parser//lexer.nit:585 */
+  /* ./parser//lexer.nit:586 */
   ATTR_parser_nodes___ANode____location(fra.me.REG[0]) = fra.me.REG[1];
   stack_frame_head = fra.me.prev;
   init_table[itpos43] = 1;
@@ -2596,14 +2643,14 @@ val_t lexer___TKwtrue___parser_index(val_t p0){
   val_t tmp;
   fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
   fra.me.file = LOCATE_lexer;
-  fra.me.line = 590;
+  fra.me.line = 591;
   fra.me.meth = LOCATE_lexer___TKwtrue___parser_index;
   fra.me.has_broke = 0;
   fra.me.REG_size = 1;
   fra.me.REG[0] = NIT_NULL;
   fra.me.REG[0] = p0;
+  /* ./parser//lexer.nit:593 */
   REGB0 = TAG_Int(44);
-  /* ./parser//lexer.nit:592 */
   goto label1;
   label1: while(0);
   stack_frame_head = fra.me.prev;
@@ -2619,7 +2666,7 @@ void lexer___TKwtrue___init_tk(val_t p0, val_t p1, int* init_table){
   if (init_table[itpos44]) return;
   fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
   fra.me.file = LOCATE_lexer;
-  fra.me.line = 595;
+  fra.me.line = 596;
   fra.me.meth = LOCATE_lexer___TKwtrue___init_tk;
   fra.me.has_broke = 0;
   fra.me.REG_size = 3;
@@ -2628,7 +2675,7 @@ void lexer___TKwtrue___init_tk(val_t p0, val_t p1, int* init_table){
   fra.me.REG[2] = NIT_NULL;
   fra.me.REG[0] = p0;
   fra.me.REG[1] = p1;
-  /* ./parser//lexer.nit:597 */
+  /* ./parser//lexer.nit:598 */
   if (!once_value_1) {
     if (!once_value_2) {
       fra.me.REG[2] = BOX_NativeString("true");
@@ -2637,11 +2684,13 @@ void lexer___TKwtrue___init_tk(val_t p0, val_t p1, int* init_table){
       once_value_2 = fra.me.REG[2];
       register_static_object(&once_value_2);
     } else fra.me.REG[2] = once_value_2;
+    fra.me.REG[2] = fra.me.REG[2];
     once_value_1 = fra.me.REG[2];
     register_static_object(&once_value_1);
   } else fra.me.REG[2] = once_value_1;
+  fra.me.REG[2] = fra.me.REG[2];
   ATTR_lexer___Token____text(fra.me.REG[0]) = fra.me.REG[2];
-  /* ./parser//lexer.nit:598 */
+  /* ./parser//lexer.nit:599 */
   ATTR_parser_nodes___ANode____location(fra.me.REG[0]) = fra.me.REG[1];
   stack_frame_head = fra.me.prev;
   init_table[itpos44] = 1;
@@ -2653,14 +2702,14 @@ val_t lexer___TKwfalse___parser_index(val_t p0){
   val_t tmp;
   fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
   fra.me.file = LOCATE_lexer;
-  fra.me.line = 603;
+  fra.me.line = 604;
   fra.me.meth = LOCATE_lexer___TKwfalse___parser_index;
   fra.me.has_broke = 0;
   fra.me.REG_size = 1;
   fra.me.REG[0] = NIT_NULL;
   fra.me.REG[0] = p0;
+  /* ./parser//lexer.nit:606 */
   REGB0 = TAG_Int(45);
-  /* ./parser//lexer.nit:605 */
   goto label1;
   label1: while(0);
   stack_frame_head = fra.me.prev;
@@ -2676,7 +2725,7 @@ void lexer___TKwfalse___init_tk(val_t p0, val_t p1, int* init_table){
   if (init_table[itpos45]) return;
   fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
   fra.me.file = LOCATE_lexer;
-  fra.me.line = 608;
+  fra.me.line = 609;
   fra.me.meth = LOCATE_lexer___TKwfalse___init_tk;
   fra.me.has_broke = 0;
   fra.me.REG_size = 3;
@@ -2685,7 +2734,7 @@ void lexer___TKwfalse___init_tk(val_t p0, val_t p1, int* init_table){
   fra.me.REG[2] = NIT_NULL;
   fra.me.REG[0] = p0;
   fra.me.REG[1] = p1;
-  /* ./parser//lexer.nit:610 */
+  /* ./parser//lexer.nit:611 */
   if (!once_value_1) {
     if (!once_value_2) {
       fra.me.REG[2] = BOX_NativeString("false");
@@ -2694,11 +2743,13 @@ void lexer___TKwfalse___init_tk(val_t p0, val_t p1, int* init_table){
       once_value_2 = fra.me.REG[2];
       register_static_object(&once_value_2);
     } else fra.me.REG[2] = once_value_2;
+    fra.me.REG[2] = fra.me.REG[2];
     once_value_1 = fra.me.REG[2];
     register_static_object(&once_value_1);
   } else fra.me.REG[2] = once_value_1;
+  fra.me.REG[2] = fra.me.REG[2];
   ATTR_lexer___Token____text(fra.me.REG[0]) = fra.me.REG[2];
-  /* ./parser//lexer.nit:611 */
+  /* ./parser//lexer.nit:612 */
   ATTR_parser_nodes___ANode____location(fra.me.REG[0]) = fra.me.REG[1];
   stack_frame_head = fra.me.prev;
   init_table[itpos45] = 1;
@@ -2710,14 +2761,14 @@ val_t lexer___TKwnull___parser_index(val_t p0){
   val_t tmp;
   fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
   fra.me.file = LOCATE_lexer;
-  fra.me.line = 616;
+  fra.me.line = 617;
   fra.me.meth = LOCATE_lexer___TKwnull___parser_index;
   fra.me.has_broke = 0;
   fra.me.REG_size = 1;
   fra.me.REG[0] = NIT_NULL;
   fra.me.REG[0] = p0;
+  /* ./parser//lexer.nit:619 */
   REGB0 = TAG_Int(46);
-  /* ./parser//lexer.nit:618 */
   goto label1;
   label1: while(0);
   stack_frame_head = fra.me.prev;
@@ -2733,7 +2784,7 @@ void lexer___TKwnull___init_tk(val_t p0, val_t p1, int* init_table){
   if (init_table[itpos46]) return;
   fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
   fra.me.file = LOCATE_lexer;
-  fra.me.line = 621;
+  fra.me.line = 622;
   fra.me.meth = LOCATE_lexer___TKwnull___init_tk;
   fra.me.has_broke = 0;
   fra.me.REG_size = 3;
@@ -2742,7 +2793,7 @@ void lexer___TKwnull___init_tk(val_t p0, val_t p1, int* init_table){
   fra.me.REG[2] = NIT_NULL;
   fra.me.REG[0] = p0;
   fra.me.REG[1] = p1;
-  /* ./parser//lexer.nit:623 */
+  /* ./parser//lexer.nit:624 */
   if (!once_value_1) {
     if (!once_value_2) {
       fra.me.REG[2] = BOX_NativeString("null");
@@ -2751,11 +2802,13 @@ void lexer___TKwnull___init_tk(val_t p0, val_t p1, int* init_table){
       once_value_2 = fra.me.REG[2];
       register_static_object(&once_value_2);
     } else fra.me.REG[2] = once_value_2;
+    fra.me.REG[2] = fra.me.REG[2];
     once_value_1 = fra.me.REG[2];
     register_static_object(&once_value_1);
   } else fra.me.REG[2] = once_value_1;
+  fra.me.REG[2] = fra.me.REG[2];
   ATTR_lexer___Token____text(fra.me.REG[0]) = fra.me.REG[2];
-  /* ./parser//lexer.nit:624 */
+  /* ./parser//lexer.nit:625 */
   ATTR_parser_nodes___ANode____location(fra.me.REG[0]) = fra.me.REG[1];
   stack_frame_head = fra.me.prev;
   init_table[itpos46] = 1;
@@ -2767,14 +2820,14 @@ val_t lexer___TKwas___parser_index(val_t p0){
   val_t tmp;
   fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
   fra.me.file = LOCATE_lexer;
-  fra.me.line = 629;
+  fra.me.line = 630;
   fra.me.meth = LOCATE_lexer___TKwas___parser_index;
   fra.me.has_broke = 0;
   fra.me.REG_size = 1;
   fra.me.REG[0] = NIT_NULL;
   fra.me.REG[0] = p0;
+  /* ./parser//lexer.nit:632 */
   REGB0 = TAG_Int(47);
-  /* ./parser//lexer.nit:631 */
   goto label1;
   label1: while(0);
   stack_frame_head = fra.me.prev;
@@ -2790,7 +2843,7 @@ void lexer___TKwas___init_tk(val_t p0, val_t p1, int* init_table){
   if (init_table[itpos47]) return;
   fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
   fra.me.file = LOCATE_lexer;
-  fra.me.line = 634;
+  fra.me.line = 635;
   fra.me.meth = LOCATE_lexer___TKwas___init_tk;
   fra.me.has_broke = 0;
   fra.me.REG_size = 3;
@@ -2799,7 +2852,7 @@ void lexer___TKwas___init_tk(val_t p0, val_t p1, int* init_table){
   fra.me.REG[2] = NIT_NULL;
   fra.me.REG[0] = p0;
   fra.me.REG[1] = p1;
-  /* ./parser//lexer.nit:636 */
+  /* ./parser//lexer.nit:637 */
   if (!once_value_1) {
     if (!once_value_2) {
       fra.me.REG[2] = BOX_NativeString("as");
@@ -2808,11 +2861,13 @@ void lexer___TKwas___init_tk(val_t p0, val_t p1, int* init_table){
       once_value_2 = fra.me.REG[2];
       register_static_object(&once_value_2);
     } else fra.me.REG[2] = once_value_2;
+    fra.me.REG[2] = fra.me.REG[2];
     once_value_1 = fra.me.REG[2];
     register_static_object(&once_value_1);
   } else fra.me.REG[2] = once_value_1;
+  fra.me.REG[2] = fra.me.REG[2];
   ATTR_lexer___Token____text(fra.me.REG[0]) = fra.me.REG[2];
-  /* ./parser//lexer.nit:637 */
+  /* ./parser//lexer.nit:638 */
   ATTR_parser_nodes___ANode____location(fra.me.REG[0]) = fra.me.REG[1];
   stack_frame_head = fra.me.prev;
   init_table[itpos47] = 1;
@@ -2824,14 +2879,14 @@ val_t lexer___TKwnullable___parser_index(val_t p0){
   val_t tmp;
   fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
   fra.me.file = LOCATE_lexer;
-  fra.me.line = 642;
+  fra.me.line = 643;
   fra.me.meth = LOCATE_lexer___TKwnullable___parser_index;
   fra.me.has_broke = 0;
   fra.me.REG_size = 1;
   fra.me.REG[0] = NIT_NULL;
   fra.me.REG[0] = p0;
+  /* ./parser//lexer.nit:645 */
   REGB0 = TAG_Int(48);
-  /* ./parser//lexer.nit:644 */
   goto label1;
   label1: while(0);
   stack_frame_head = fra.me.prev;
@@ -2847,7 +2902,7 @@ void lexer___TKwnullable___init_tk(val_t p0, val_t p1, int* init_table){
   if (init_table[itpos48]) return;
   fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
   fra.me.file = LOCATE_lexer;
-  fra.me.line = 647;
+  fra.me.line = 648;
   fra.me.meth = LOCATE_lexer___TKwnullable___init_tk;
   fra.me.has_broke = 0;
   fra.me.REG_size = 3;
@@ -2856,7 +2911,7 @@ void lexer___TKwnullable___init_tk(val_t p0, val_t p1, int* init_table){
   fra.me.REG[2] = NIT_NULL;
   fra.me.REG[0] = p0;
   fra.me.REG[1] = p1;
-  /* ./parser//lexer.nit:649 */
+  /* ./parser//lexer.nit:650 */
   if (!once_value_1) {
     if (!once_value_2) {
       fra.me.REG[2] = BOX_NativeString("nullable");
@@ -2865,11 +2920,13 @@ void lexer___TKwnullable___init_tk(val_t p0, val_t p1, int* init_table){
       once_value_2 = fra.me.REG[2];
       register_static_object(&once_value_2);
     } else fra.me.REG[2] = once_value_2;
+    fra.me.REG[2] = fra.me.REG[2];
     once_value_1 = fra.me.REG[2];
     register_static_object(&once_value_1);
   } else fra.me.REG[2] = once_value_1;
+  fra.me.REG[2] = fra.me.REG[2];
   ATTR_lexer___Token____text(fra.me.REG[0]) = fra.me.REG[2];
-  /* ./parser//lexer.nit:650 */
+  /* ./parser//lexer.nit:651 */
   ATTR_parser_nodes___ANode____location(fra.me.REG[0]) = fra.me.REG[1];
   stack_frame_head = fra.me.prev;
   init_table[itpos48] = 1;
@@ -2881,14 +2938,14 @@ val_t lexer___TKwisset___parser_index(val_t p0){
   val_t tmp;
   fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
   fra.me.file = LOCATE_lexer;
-  fra.me.line = 655;
+  fra.me.line = 656;
   fra.me.meth = LOCATE_lexer___TKwisset___parser_index;
   fra.me.has_broke = 0;
   fra.me.REG_size = 1;
   fra.me.REG[0] = NIT_NULL;
   fra.me.REG[0] = p0;
+  /* ./parser//lexer.nit:658 */
   REGB0 = TAG_Int(49);
-  /* ./parser//lexer.nit:657 */
   goto label1;
   label1: while(0);
   stack_frame_head = fra.me.prev;
@@ -2904,7 +2961,7 @@ void lexer___TKwisset___init_tk(val_t p0, val_t p1, int* init_table){
   if (init_table[itpos49]) return;
   fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
   fra.me.file = LOCATE_lexer;
-  fra.me.line = 660;
+  fra.me.line = 661;
   fra.me.meth = LOCATE_lexer___TKwisset___init_tk;
   fra.me.has_broke = 0;
   fra.me.REG_size = 3;
@@ -2913,7 +2970,7 @@ void lexer___TKwisset___init_tk(val_t p0, val_t p1, int* init_table){
   fra.me.REG[2] = NIT_NULL;
   fra.me.REG[0] = p0;
   fra.me.REG[1] = p1;
-  /* ./parser//lexer.nit:662 */
+  /* ./parser//lexer.nit:663 */
   if (!once_value_1) {
     if (!once_value_2) {
       fra.me.REG[2] = BOX_NativeString("isset");
@@ -2922,11 +2979,13 @@ void lexer___TKwisset___init_tk(val_t p0, val_t p1, int* init_table){
       once_value_2 = fra.me.REG[2];
       register_static_object(&once_value_2);
     } else fra.me.REG[2] = once_value_2;
+    fra.me.REG[2] = fra.me.REG[2];
     once_value_1 = fra.me.REG[2];
     register_static_object(&once_value_1);
   } else fra.me.REG[2] = once_value_1;
+  fra.me.REG[2] = fra.me.REG[2];
   ATTR_lexer___Token____text(fra.me.REG[0]) = fra.me.REG[2];
-  /* ./parser//lexer.nit:663 */
+  /* ./parser//lexer.nit:664 */
   ATTR_parser_nodes___ANode____location(fra.me.REG[0]) = fra.me.REG[1];
   stack_frame_head = fra.me.prev;
   init_table[itpos49] = 1;
@@ -2938,14 +2997,14 @@ val_t lexer___TKwlabel___parser_index(val_t p0){
   val_t tmp;
   fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
   fra.me.file = LOCATE_lexer;
-  fra.me.line = 668;
+  fra.me.line = 669;
   fra.me.meth = LOCATE_lexer___TKwlabel___parser_index;
   fra.me.has_broke = 0;
   fra.me.REG_size = 1;
   fra.me.REG[0] = NIT_NULL;
   fra.me.REG[0] = p0;
+  /* ./parser//lexer.nit:671 */
   REGB0 = TAG_Int(50);
-  /* ./parser//lexer.nit:670 */
   goto label1;
   label1: while(0);
   stack_frame_head = fra.me.prev;
@@ -2961,7 +3020,7 @@ void lexer___TKwlabel___init_tk(val_t p0, val_t p1, int* init_table){
   if (init_table[itpos50]) return;
   fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
   fra.me.file = LOCATE_lexer;
-  fra.me.line = 673;
+  fra.me.line = 674;
   fra.me.meth = LOCATE_lexer___TKwlabel___init_tk;
   fra.me.has_broke = 0;
   fra.me.REG_size = 3;
@@ -2970,7 +3029,7 @@ void lexer___TKwlabel___init_tk(val_t p0, val_t p1, int* init_table){
   fra.me.REG[2] = NIT_NULL;
   fra.me.REG[0] = p0;
   fra.me.REG[1] = p1;
-  /* ./parser//lexer.nit:675 */
+  /* ./parser//lexer.nit:676 */
   if (!once_value_1) {
     if (!once_value_2) {
       fra.me.REG[2] = BOX_NativeString("label");
@@ -2979,11 +3038,13 @@ void lexer___TKwlabel___init_tk(val_t p0, val_t p1, int* init_table){
       once_value_2 = fra.me.REG[2];
       register_static_object(&once_value_2);
     } else fra.me.REG[2] = once_value_2;
+    fra.me.REG[2] = fra.me.REG[2];
     once_value_1 = fra.me.REG[2];
     register_static_object(&once_value_1);
   } else fra.me.REG[2] = once_value_1;
+  fra.me.REG[2] = fra.me.REG[2];
   ATTR_lexer___Token____text(fra.me.REG[0]) = fra.me.REG[2];
-  /* ./parser//lexer.nit:676 */
+  /* ./parser//lexer.nit:677 */
   ATTR_parser_nodes___ANode____location(fra.me.REG[0]) = fra.me.REG[1];
   stack_frame_head = fra.me.prev;
   init_table[itpos50] = 1;
@@ -2995,14 +3056,14 @@ val_t lexer___TOpar___parser_index(val_t p0){
   val_t tmp;
   fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
   fra.me.file = LOCATE_lexer;
-  fra.me.line = 681;
+  fra.me.line = 682;
   fra.me.meth = LOCATE_lexer___TOpar___parser_index;
   fra.me.has_broke = 0;
   fra.me.REG_size = 1;
   fra.me.REG[0] = NIT_NULL;
   fra.me.REG[0] = p0;
+  /* ./parser//lexer.nit:684 */
   REGB0 = TAG_Int(51);
-  /* ./parser//lexer.nit:683 */
   goto label1;
   label1: while(0);
   stack_frame_head = fra.me.prev;
@@ -3018,7 +3079,7 @@ void lexer___TOpar___init_tk(val_t p0, val_t p1, int* init_table){
   if (init_table[itpos51]) return;
   fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
   fra.me.file = LOCATE_lexer;
-  fra.me.line = 686;
+  fra.me.line = 687;
   fra.me.meth = LOCATE_lexer___TOpar___init_tk;
   fra.me.has_broke = 0;
   fra.me.REG_size = 3;
@@ -3027,7 +3088,7 @@ void lexer___TOpar___init_tk(val_t p0, val_t p1, int* init_table){
   fra.me.REG[2] = NIT_NULL;
   fra.me.REG[0] = p0;
   fra.me.REG[1] = p1;
-  /* ./parser//lexer.nit:688 */
+  /* ./parser//lexer.nit:689 */
   if (!once_value_1) {
     if (!once_value_2) {
       fra.me.REG[2] = BOX_NativeString("(");
@@ -3036,11 +3097,13 @@ void lexer___TOpar___init_tk(val_t p0, val_t p1, int* init_table){
       once_value_2 = fra.me.REG[2];
       register_static_object(&once_value_2);
     } else fra.me.REG[2] = once_value_2;
+    fra.me.REG[2] = fra.me.REG[2];
     once_value_1 = fra.me.REG[2];
     register_static_object(&once_value_1);
   } else fra.me.REG[2] = once_value_1;
+  fra.me.REG[2] = fra.me.REG[2];
   ATTR_lexer___Token____text(fra.me.REG[0]) = fra.me.REG[2];
-  /* ./parser//lexer.nit:689 */
+  /* ./parser//lexer.nit:690 */
   ATTR_parser_nodes___ANode____location(fra.me.REG[0]) = fra.me.REG[1];
   stack_frame_head = fra.me.prev;
   init_table[itpos51] = 1;
@@ -3052,14 +3115,14 @@ val_t lexer___TCpar___parser_index(val_t p0){
   val_t tmp;
   fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
   fra.me.file = LOCATE_lexer;
-  fra.me.line = 694;
+  fra.me.line = 695;
   fra.me.meth = LOCATE_lexer___TCpar___parser_index;
   fra.me.has_broke = 0;
   fra.me.REG_size = 1;
   fra.me.REG[0] = NIT_NULL;
   fra.me.REG[0] = p0;
+  /* ./parser//lexer.nit:697 */
   REGB0 = TAG_Int(52);
-  /* ./parser//lexer.nit:696 */
   goto label1;
   label1: while(0);
   stack_frame_head = fra.me.prev;
@@ -3075,7 +3138,7 @@ void lexer___TCpar___init_tk(val_t p0, val_t p1, int* init_table){
   if (init_table[itpos52]) return;
   fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
   fra.me.file = LOCATE_lexer;
-  fra.me.line = 699;
+  fra.me.line = 700;
   fra.me.meth = LOCATE_lexer___TCpar___init_tk;
   fra.me.has_broke = 0;
   fra.me.REG_size = 3;
@@ -3084,7 +3147,7 @@ void lexer___TCpar___init_tk(val_t p0, val_t p1, int* init_table){
   fra.me.REG[2] = NIT_NULL;
   fra.me.REG[0] = p0;
   fra.me.REG[1] = p1;
-  /* ./parser//lexer.nit:701 */
+  /* ./parser//lexer.nit:702 */
   if (!once_value_1) {
     if (!once_value_2) {
       fra.me.REG[2] = BOX_NativeString(")");
@@ -3093,11 +3156,13 @@ void lexer___TCpar___init_tk(val_t p0, val_t p1, int* init_table){
       once_value_2 = fra.me.REG[2];
       register_static_object(&once_value_2);
     } else fra.me.REG[2] = once_value_2;
+    fra.me.REG[2] = fra.me.REG[2];
     once_value_1 = fra.me.REG[2];
     register_static_object(&once_value_1);
   } else fra.me.REG[2] = once_value_1;
+  fra.me.REG[2] = fra.me.REG[2];
   ATTR_lexer___Token____text(fra.me.REG[0]) = fra.me.REG[2];
-  /* ./parser//lexer.nit:702 */
+  /* ./parser//lexer.nit:703 */
   ATTR_parser_nodes___ANode____location(fra.me.REG[0]) = fra.me.REG[1];
   stack_frame_head = fra.me.prev;
   init_table[itpos52] = 1;
@@ -3109,14 +3174,14 @@ val_t lexer___TObra___parser_index(val_t p0){
   val_t tmp;
   fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
   fra.me.file = LOCATE_lexer;
-  fra.me.line = 707;
+  fra.me.line = 708;
   fra.me.meth = LOCATE_lexer___TObra___parser_index;
   fra.me.has_broke = 0;
   fra.me.REG_size = 1;
   fra.me.REG[0] = NIT_NULL;
   fra.me.REG[0] = p0;
+  /* ./parser//lexer.nit:710 */
   REGB0 = TAG_Int(53);
-  /* ./parser//lexer.nit:709 */
   goto label1;
   label1: while(0);
   stack_frame_head = fra.me.prev;
@@ -3132,7 +3197,7 @@ void lexer___TObra___init_tk(val_t p0, val_t p1, int* init_table){
   if (init_table[itpos53]) return;
   fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
   fra.me.file = LOCATE_lexer;
-  fra.me.line = 712;
+  fra.me.line = 713;
   fra.me.meth = LOCATE_lexer___TObra___init_tk;
   fra.me.has_broke = 0;
   fra.me.REG_size = 3;
@@ -3141,7 +3206,7 @@ void lexer___TObra___init_tk(val_t p0, val_t p1, int* init_table){
   fra.me.REG[2] = NIT_NULL;
   fra.me.REG[0] = p0;
   fra.me.REG[1] = p1;
-  /* ./parser//lexer.nit:714 */
+  /* ./parser//lexer.nit:715 */
   if (!once_value_1) {
     if (!once_value_2) {
       fra.me.REG[2] = BOX_NativeString("[");
@@ -3150,11 +3215,13 @@ void lexer___TObra___init_tk(val_t p0, val_t p1, int* init_table){
       once_value_2 = fra.me.REG[2];
       register_static_object(&once_value_2);
     } else fra.me.REG[2] = once_value_2;
+    fra.me.REG[2] = fra.me.REG[2];
     once_value_1 = fra.me.REG[2];
     register_static_object(&once_value_1);
   } else fra.me.REG[2] = once_value_1;
+  fra.me.REG[2] = fra.me.REG[2];
   ATTR_lexer___Token____text(fra.me.REG[0]) = fra.me.REG[2];
-  /* ./parser//lexer.nit:715 */
+  /* ./parser//lexer.nit:716 */
   ATTR_parser_nodes___ANode____location(fra.me.REG[0]) = fra.me.REG[1];
   stack_frame_head = fra.me.prev;
   init_table[itpos53] = 1;
@@ -3166,14 +3233,14 @@ val_t lexer___TCbra___parser_index(val_t p0){
   val_t tmp;
   fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
   fra.me.file = LOCATE_lexer;
-  fra.me.line = 720;
+  fra.me.line = 721;
   fra.me.meth = LOCATE_lexer___TCbra___parser_index;
   fra.me.has_broke = 0;
   fra.me.REG_size = 1;
   fra.me.REG[0] = NIT_NULL;
   fra.me.REG[0] = p0;
+  /* ./parser//lexer.nit:723 */
   REGB0 = TAG_Int(54);
-  /* ./parser//lexer.nit:722 */
   goto label1;
   label1: while(0);
   stack_frame_head = fra.me.prev;
@@ -3189,7 +3256,7 @@ void lexer___TCbra___init_tk(val_t p0, val_t p1, int* init_table){
   if (init_table[itpos54]) return;
   fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
   fra.me.file = LOCATE_lexer;
-  fra.me.line = 725;
+  fra.me.line = 726;
   fra.me.meth = LOCATE_lexer___TCbra___init_tk;
   fra.me.has_broke = 0;
   fra.me.REG_size = 3;
@@ -3198,7 +3265,7 @@ void lexer___TCbra___init_tk(val_t p0, val_t p1, int* init_table){
   fra.me.REG[2] = NIT_NULL;
   fra.me.REG[0] = p0;
   fra.me.REG[1] = p1;
-  /* ./parser//lexer.nit:727 */
+  /* ./parser//lexer.nit:728 */
   if (!once_value_1) {
     if (!once_value_2) {
       fra.me.REG[2] = BOX_NativeString("]");
@@ -3207,11 +3274,13 @@ void lexer___TCbra___init_tk(val_t p0, val_t p1, int* init_table){
       once_value_2 = fra.me.REG[2];
       register_static_object(&once_value_2);
     } else fra.me.REG[2] = once_value_2;
+    fra.me.REG[2] = fra.me.REG[2];
     once_value_1 = fra.me.REG[2];
     register_static_object(&once_value_1);
   } else fra.me.REG[2] = once_value_1;
+  fra.me.REG[2] = fra.me.REG[2];
   ATTR_lexer___Token____text(fra.me.REG[0]) = fra.me.REG[2];
-  /* ./parser//lexer.nit:728 */
+  /* ./parser//lexer.nit:729 */
   ATTR_parser_nodes___ANode____location(fra.me.REG[0]) = fra.me.REG[1];
   stack_frame_head = fra.me.prev;
   init_table[itpos54] = 1;
@@ -3223,14 +3292,14 @@ val_t lexer___TComma___parser_index(val_t p0){
   val_t tmp;
   fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
   fra.me.file = LOCATE_lexer;
-  fra.me.line = 733;
+  fra.me.line = 734;
   fra.me.meth = LOCATE_lexer___TComma___parser_index;
   fra.me.has_broke = 0;
   fra.me.REG_size = 1;
   fra.me.REG[0] = NIT_NULL;
   fra.me.REG[0] = p0;
+  /* ./parser//lexer.nit:736 */
   REGB0 = TAG_Int(55);
-  /* ./parser//lexer.nit:735 */
   goto label1;
   label1: while(0);
   stack_frame_head = fra.me.prev;
@@ -3246,7 +3315,7 @@ void lexer___TComma___init_tk(val_t p0, val_t p1, int* init_table){
   if (init_table[itpos55]) return;
   fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
   fra.me.file = LOCATE_lexer;
-  fra.me.line = 738;
+  fra.me.line = 739;
   fra.me.meth = LOCATE_lexer___TComma___init_tk;
   fra.me.has_broke = 0;
   fra.me.REG_size = 3;
@@ -3255,7 +3324,7 @@ void lexer___TComma___init_tk(val_t p0, val_t p1, int* init_table){
   fra.me.REG[2] = NIT_NULL;
   fra.me.REG[0] = p0;
   fra.me.REG[1] = p1;
-  /* ./parser//lexer.nit:740 */
+  /* ./parser//lexer.nit:741 */
   if (!once_value_1) {
     if (!once_value_2) {
       fra.me.REG[2] = BOX_NativeString(",");
@@ -3264,11 +3333,13 @@ void lexer___TComma___init_tk(val_t p0, val_t p1, int* init_table){
       once_value_2 = fra.me.REG[2];
       register_static_object(&once_value_2);
     } else fra.me.REG[2] = once_value_2;
+    fra.me.REG[2] = fra.me.REG[2];
     once_value_1 = fra.me.REG[2];
     register_static_object(&once_value_1);
   } else fra.me.REG[2] = once_value_1;
+  fra.me.REG[2] = fra.me.REG[2];
   ATTR_lexer___Token____text(fra.me.REG[0]) = fra.me.REG[2];
-  /* ./parser//lexer.nit:741 */
+  /* ./parser//lexer.nit:742 */
   ATTR_parser_nodes___ANode____location(fra.me.REG[0]) = fra.me.REG[1];
   stack_frame_head = fra.me.prev;
   init_table[itpos55] = 1;
@@ -3280,14 +3351,14 @@ val_t lexer___TColumn___parser_index(val_t p0){
   val_t tmp;
   fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
   fra.me.file = LOCATE_lexer;
-  fra.me.line = 746;
+  fra.me.line = 747;
   fra.me.meth = LOCATE_lexer___TColumn___parser_index;
   fra.me.has_broke = 0;
   fra.me.REG_size = 1;
   fra.me.REG[0] = NIT_NULL;
   fra.me.REG[0] = p0;
+  /* ./parser//lexer.nit:749 */
   REGB0 = TAG_Int(56);
-  /* ./parser//lexer.nit:748 */
   goto label1;
   label1: while(0);
   stack_frame_head = fra.me.prev;
@@ -3303,7 +3374,7 @@ void lexer___TColumn___init_tk(val_t p0, val_t p1, int* init_table){
   if (init_table[itpos56]) return;
   fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
   fra.me.file = LOCATE_lexer;
-  fra.me.line = 751;
+  fra.me.line = 752;
   fra.me.meth = LOCATE_lexer___TColumn___init_tk;
   fra.me.has_broke = 0;
   fra.me.REG_size = 3;
@@ -3312,7 +3383,7 @@ void lexer___TColumn___init_tk(val_t p0, val_t p1, int* init_table){
   fra.me.REG[2] = NIT_NULL;
   fra.me.REG[0] = p0;
   fra.me.REG[1] = p1;
-  /* ./parser//lexer.nit:753 */
+  /* ./parser//lexer.nit:754 */
   if (!once_value_1) {
     if (!once_value_2) {
       fra.me.REG[2] = BOX_NativeString(":");
@@ -3321,11 +3392,13 @@ void lexer___TColumn___init_tk(val_t p0, val_t p1, int* init_table){
       once_value_2 = fra.me.REG[2];
       register_static_object(&once_value_2);
     } else fra.me.REG[2] = once_value_2;
+    fra.me.REG[2] = fra.me.REG[2];
     once_value_1 = fra.me.REG[2];
     register_static_object(&once_value_1);
   } else fra.me.REG[2] = once_value_1;
+  fra.me.REG[2] = fra.me.REG[2];
   ATTR_lexer___Token____text(fra.me.REG[0]) = fra.me.REG[2];
-  /* ./parser//lexer.nit:754 */
+  /* ./parser//lexer.nit:755 */
   ATTR_parser_nodes___ANode____location(fra.me.REG[0]) = fra.me.REG[1];
   stack_frame_head = fra.me.prev;
   init_table[itpos56] = 1;
@@ -3337,14 +3410,14 @@ val_t lexer___TQuad___parser_index(val_t p0){
   val_t tmp;
   fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
   fra.me.file = LOCATE_lexer;
-  fra.me.line = 759;
+  fra.me.line = 760;
   fra.me.meth = LOCATE_lexer___TQuad___parser_index;
   fra.me.has_broke = 0;
   fra.me.REG_size = 1;
   fra.me.REG[0] = NIT_NULL;
   fra.me.REG[0] = p0;
+  /* ./parser//lexer.nit:762 */
   REGB0 = TAG_Int(57);
-  /* ./parser//lexer.nit:761 */
   goto label1;
   label1: while(0);
   stack_frame_head = fra.me.prev;
@@ -3360,7 +3433,7 @@ void lexer___TQuad___init_tk(val_t p0, val_t p1, int* init_table){
   if (init_table[itpos57]) return;
   fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
   fra.me.file = LOCATE_lexer;
-  fra.me.line = 764;
+  fra.me.line = 765;
   fra.me.meth = LOCATE_lexer___TQuad___init_tk;
   fra.me.has_broke = 0;
   fra.me.REG_size = 3;
@@ -3369,7 +3442,7 @@ void lexer___TQuad___init_tk(val_t p0, val_t p1, int* init_table){
   fra.me.REG[2] = NIT_NULL;
   fra.me.REG[0] = p0;
   fra.me.REG[1] = p1;
-  /* ./parser//lexer.nit:766 */
+  /* ./parser//lexer.nit:767 */
   if (!once_value_1) {
     if (!once_value_2) {
       fra.me.REG[2] = BOX_NativeString("::");
@@ -3378,11 +3451,13 @@ void lexer___TQuad___init_tk(val_t p0, val_t p1, int* init_table){
       once_value_2 = fra.me.REG[2];
       register_static_object(&once_value_2);
     } else fra.me.REG[2] = once_value_2;
+    fra.me.REG[2] = fra.me.REG[2];
     once_value_1 = fra.me.REG[2];
     register_static_object(&once_value_1);
   } else fra.me.REG[2] = once_value_1;
+  fra.me.REG[2] = fra.me.REG[2];
   ATTR_lexer___Token____text(fra.me.REG[0]) = fra.me.REG[2];
-  /* ./parser//lexer.nit:767 */
+  /* ./parser//lexer.nit:768 */
   ATTR_parser_nodes___ANode____location(fra.me.REG[0]) = fra.me.REG[1];
   stack_frame_head = fra.me.prev;
   init_table[itpos57] = 1;
@@ -3394,14 +3469,14 @@ val_t lexer___TAssign___parser_index(val_t p0){
   val_t tmp;
   fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
   fra.me.file = LOCATE_lexer;
-  fra.me.line = 772;
+  fra.me.line = 773;
   fra.me.meth = LOCATE_lexer___TAssign___parser_index;
   fra.me.has_broke = 0;
   fra.me.REG_size = 1;
   fra.me.REG[0] = NIT_NULL;
   fra.me.REG[0] = p0;
+  /* ./parser//lexer.nit:775 */
   REGB0 = TAG_Int(58);
-  /* ./parser//lexer.nit:774 */
   goto label1;
   label1: while(0);
   stack_frame_head = fra.me.prev;
@@ -3417,7 +3492,7 @@ void lexer___TAssign___init_tk(val_t p0, val_t p1, int* init_table){
   if (init_table[itpos58]) return;
   fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
   fra.me.file = LOCATE_lexer;
-  fra.me.line = 777;
+  fra.me.line = 778;
   fra.me.meth = LOCATE_lexer___TAssign___init_tk;
   fra.me.has_broke = 0;
   fra.me.REG_size = 3;
@@ -3426,7 +3501,7 @@ void lexer___TAssign___init_tk(val_t p0, val_t p1, int* init_table){
   fra.me.REG[2] = NIT_NULL;
   fra.me.REG[0] = p0;
   fra.me.REG[1] = p1;
-  /* ./parser//lexer.nit:779 */
+  /* ./parser//lexer.nit:780 */
   if (!once_value_1) {
     if (!once_value_2) {
       fra.me.REG[2] = BOX_NativeString("=");
@@ -3435,11 +3510,13 @@ void lexer___TAssign___init_tk(val_t p0, val_t p1, int* init_table){
       once_value_2 = fra.me.REG[2];
       register_static_object(&once_value_2);
     } else fra.me.REG[2] = once_value_2;
+    fra.me.REG[2] = fra.me.REG[2];
     once_value_1 = fra.me.REG[2];
     register_static_object(&once_value_1);
   } else fra.me.REG[2] = once_value_1;
+  fra.me.REG[2] = fra.me.REG[2];
   ATTR_lexer___Token____text(fra.me.REG[0]) = fra.me.REG[2];
-  /* ./parser//lexer.nit:780 */
+  /* ./parser//lexer.nit:781 */
   ATTR_parser_nodes___ANode____location(fra.me.REG[0]) = fra.me.REG[1];
   stack_frame_head = fra.me.prev;
   init_table[itpos58] = 1;
@@ -3451,14 +3528,14 @@ val_t lexer___TPluseq___parser_index(val_t p0){
   val_t tmp;
   fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
   fra.me.file = LOCATE_lexer;
-  fra.me.line = 785;
+  fra.me.line = 786;
   fra.me.meth = LOCATE_lexer___TPluseq___parser_index;
   fra.me.has_broke = 0;
   fra.me.REG_size = 1;
   fra.me.REG[0] = NIT_NULL;
   fra.me.REG[0] = p0;
+  /* ./parser//lexer.nit:788 */
   REGB0 = TAG_Int(59);
-  /* ./parser//lexer.nit:787 */
   goto label1;
   label1: while(0);
   stack_frame_head = fra.me.prev;
@@ -3474,7 +3551,7 @@ void lexer___TPluseq___init_tk(val_t p0, val_t p1, int* init_table){
   if (init_table[itpos59]) return;
   fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
   fra.me.file = LOCATE_lexer;
-  fra.me.line = 790;
+  fra.me.line = 791;
   fra.me.meth = LOCATE_lexer___TPluseq___init_tk;
   fra.me.has_broke = 0;
   fra.me.REG_size = 3;
@@ -3483,7 +3560,7 @@ void lexer___TPluseq___init_tk(val_t p0, val_t p1, int* init_table){
   fra.me.REG[2] = NIT_NULL;
   fra.me.REG[0] = p0;
   fra.me.REG[1] = p1;
-  /* ./parser//lexer.nit:792 */
+  /* ./parser//lexer.nit:793 */
   if (!once_value_1) {
     if (!once_value_2) {
       fra.me.REG[2] = BOX_NativeString("+=");
@@ -3492,11 +3569,13 @@ void lexer___TPluseq___init_tk(val_t p0, val_t p1, int* init_table){
       once_value_2 = fra.me.REG[2];
       register_static_object(&once_value_2);
     } else fra.me.REG[2] = once_value_2;
+    fra.me.REG[2] = fra.me.REG[2];
     once_value_1 = fra.me.REG[2];
     register_static_object(&once_value_1);
   } else fra.me.REG[2] = once_value_1;
+  fra.me.REG[2] = fra.me.REG[2];
   ATTR_lexer___Token____text(fra.me.REG[0]) = fra.me.REG[2];
-  /* ./parser//lexer.nit:793 */
+  /* ./parser//lexer.nit:794 */
   ATTR_parser_nodes___ANode____location(fra.me.REG[0]) = fra.me.REG[1];
   stack_frame_head = fra.me.prev;
   init_table[itpos59] = 1;
@@ -3508,14 +3587,14 @@ val_t lexer___TMinuseq___parser_index(val_t p0){
   val_t tmp;
   fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
   fra.me.file = LOCATE_lexer;
-  fra.me.line = 798;
+  fra.me.line = 799;
   fra.me.meth = LOCATE_lexer___TMinuseq___parser_index;
   fra.me.has_broke = 0;
   fra.me.REG_size = 1;
   fra.me.REG[0] = NIT_NULL;
   fra.me.REG[0] = p0;
+  /* ./parser//lexer.nit:801 */
   REGB0 = TAG_Int(60);
-  /* ./parser//lexer.nit:800 */
   goto label1;
   label1: while(0);
   stack_frame_head = fra.me.prev;
@@ -3531,7 +3610,7 @@ void lexer___TMinuseq___init_tk(val_t p0, val_t p1, int* init_table){
   if (init_table[itpos60]) return;
   fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
   fra.me.file = LOCATE_lexer;
-  fra.me.line = 803;
+  fra.me.line = 804;
   fra.me.meth = LOCATE_lexer___TMinuseq___init_tk;
   fra.me.has_broke = 0;
   fra.me.REG_size = 3;
@@ -3540,7 +3619,7 @@ void lexer___TMinuseq___init_tk(val_t p0, val_t p1, int* init_table){
   fra.me.REG[2] = NIT_NULL;
   fra.me.REG[0] = p0;
   fra.me.REG[1] = p1;
-  /* ./parser//lexer.nit:805 */
+  /* ./parser//lexer.nit:806 */
   if (!once_value_1) {
     if (!once_value_2) {
       fra.me.REG[2] = BOX_NativeString("-=");
@@ -3549,11 +3628,13 @@ void lexer___TMinuseq___init_tk(val_t p0, val_t p1, int* init_table){
       once_value_2 = fra.me.REG[2];
       register_static_object(&once_value_2);
     } else fra.me.REG[2] = once_value_2;
+    fra.me.REG[2] = fra.me.REG[2];
     once_value_1 = fra.me.REG[2];
     register_static_object(&once_value_1);
   } else fra.me.REG[2] = once_value_1;
+  fra.me.REG[2] = fra.me.REG[2];
   ATTR_lexer___Token____text(fra.me.REG[0]) = fra.me.REG[2];
-  /* ./parser//lexer.nit:806 */
+  /* ./parser//lexer.nit:807 */
   ATTR_parser_nodes___ANode____location(fra.me.REG[0]) = fra.me.REG[1];
   stack_frame_head = fra.me.prev;
   init_table[itpos60] = 1;
@@ -3565,14 +3646,14 @@ val_t lexer___TDotdotdot___parser_index(val_t p0){
   val_t tmp;
   fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
   fra.me.file = LOCATE_lexer;
-  fra.me.line = 811;
+  fra.me.line = 812;
   fra.me.meth = LOCATE_lexer___TDotdotdot___parser_index;
   fra.me.has_broke = 0;
   fra.me.REG_size = 1;
   fra.me.REG[0] = NIT_NULL;
   fra.me.REG[0] = p0;
+  /* ./parser//lexer.nit:814 */
   REGB0 = TAG_Int(61);
-  /* ./parser//lexer.nit:813 */
   goto label1;
   label1: while(0);
   stack_frame_head = fra.me.prev;
@@ -3588,7 +3669,7 @@ void lexer___TDotdotdot___init_tk(val_t p0, val_t p1, int* init_table){
   if (init_table[itpos61]) return;
   fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
   fra.me.file = LOCATE_lexer;
-  fra.me.line = 816;
+  fra.me.line = 817;
   fra.me.meth = LOCATE_lexer___TDotdotdot___init_tk;
   fra.me.has_broke = 0;
   fra.me.REG_size = 3;
@@ -3597,7 +3678,7 @@ void lexer___TDotdotdot___init_tk(val_t p0, val_t p1, int* init_table){
   fra.me.REG[2] = NIT_NULL;
   fra.me.REG[0] = p0;
   fra.me.REG[1] = p1;
-  /* ./parser//lexer.nit:818 */
+  /* ./parser//lexer.nit:819 */
   if (!once_value_1) {
     if (!once_value_2) {
       fra.me.REG[2] = BOX_NativeString("...");
@@ -3606,11 +3687,13 @@ void lexer___TDotdotdot___init_tk(val_t p0, val_t p1, int* init_table){
       once_value_2 = fra.me.REG[2];
       register_static_object(&once_value_2);
     } else fra.me.REG[2] = once_value_2;
+    fra.me.REG[2] = fra.me.REG[2];
     once_value_1 = fra.me.REG[2];
     register_static_object(&once_value_1);
   } else fra.me.REG[2] = once_value_1;
+  fra.me.REG[2] = fra.me.REG[2];
   ATTR_lexer___Token____text(fra.me.REG[0]) = fra.me.REG[2];
-  /* ./parser//lexer.nit:819 */
+  /* ./parser//lexer.nit:820 */
   ATTR_parser_nodes___ANode____location(fra.me.REG[0]) = fra.me.REG[1];
   stack_frame_head = fra.me.prev;
   init_table[itpos61] = 1;
@@ -3622,14 +3705,14 @@ val_t lexer___TDotdot___parser_index(val_t p0){
   val_t tmp;
   fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
   fra.me.file = LOCATE_lexer;
-  fra.me.line = 824;
+  fra.me.line = 825;
   fra.me.meth = LOCATE_lexer___TDotdot___parser_index;
   fra.me.has_broke = 0;
   fra.me.REG_size = 1;
   fra.me.REG[0] = NIT_NULL;
   fra.me.REG[0] = p0;
+  /* ./parser//lexer.nit:827 */
   REGB0 = TAG_Int(62);
-  /* ./parser//lexer.nit:826 */
   goto label1;
   label1: while(0);
   stack_frame_head = fra.me.prev;
@@ -3645,7 +3728,7 @@ void lexer___TDotdot___init_tk(val_t p0, val_t p1, int* init_table){
   if (init_table[itpos62]) return;
   fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
   fra.me.file = LOCATE_lexer;
-  fra.me.line = 829;
+  fra.me.line = 830;
   fra.me.meth = LOCATE_lexer___TDotdot___init_tk;
   fra.me.has_broke = 0;
   fra.me.REG_size = 3;
@@ -3654,7 +3737,7 @@ void lexer___TDotdot___init_tk(val_t p0, val_t p1, int* init_table){
   fra.me.REG[2] = NIT_NULL;
   fra.me.REG[0] = p0;
   fra.me.REG[1] = p1;
-  /* ./parser//lexer.nit:831 */
+  /* ./parser//lexer.nit:832 */
   if (!once_value_1) {
     if (!once_value_2) {
       fra.me.REG[2] = BOX_NativeString("..");
@@ -3663,11 +3746,13 @@ void lexer___TDotdot___init_tk(val_t p0, val_t p1, int* init_table){
       once_value_2 = fra.me.REG[2];
       register_static_object(&once_value_2);
     } else fra.me.REG[2] = once_value_2;
+    fra.me.REG[2] = fra.me.REG[2];
     once_value_1 = fra.me.REG[2];
     register_static_object(&once_value_1);
   } else fra.me.REG[2] = once_value_1;
+  fra.me.REG[2] = fra.me.REG[2];
   ATTR_lexer___Token____text(fra.me.REG[0]) = fra.me.REG[2];
-  /* ./parser//lexer.nit:832 */
+  /* ./parser//lexer.nit:833 */
   ATTR_parser_nodes___ANode____location(fra.me.REG[0]) = fra.me.REG[1];
   stack_frame_head = fra.me.prev;
   init_table[itpos62] = 1;
@@ -3679,14 +3764,14 @@ val_t lexer___TDot___parser_index(val_t p0){
   val_t tmp;
   fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
   fra.me.file = LOCATE_lexer;
-  fra.me.line = 837;
+  fra.me.line = 838;
   fra.me.meth = LOCATE_lexer___TDot___parser_index;
   fra.me.has_broke = 0;
   fra.me.REG_size = 1;
   fra.me.REG[0] = NIT_NULL;
   fra.me.REG[0] = p0;
+  /* ./parser//lexer.nit:840 */
   REGB0 = TAG_Int(63);
-  /* ./parser//lexer.nit:839 */
   goto label1;
   label1: while(0);
   stack_frame_head = fra.me.prev;
@@ -3702,7 +3787,7 @@ void lexer___TDot___init_tk(val_t p0, val_t p1, int* init_table){
   if (init_table[itpos63]) return;
   fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
   fra.me.file = LOCATE_lexer;
-  fra.me.line = 842;
+  fra.me.line = 843;
   fra.me.meth = LOCATE_lexer___TDot___init_tk;
   fra.me.has_broke = 0;
   fra.me.REG_size = 3;
@@ -3711,7 +3796,7 @@ void lexer___TDot___init_tk(val_t p0, val_t p1, int* init_table){
   fra.me.REG[2] = NIT_NULL;
   fra.me.REG[0] = p0;
   fra.me.REG[1] = p1;
-  /* ./parser//lexer.nit:844 */
+  /* ./parser//lexer.nit:845 */
   if (!once_value_1) {
     if (!once_value_2) {
       fra.me.REG[2] = BOX_NativeString(".");
@@ -3720,11 +3805,13 @@ void lexer___TDot___init_tk(val_t p0, val_t p1, int* init_table){
       once_value_2 = fra.me.REG[2];
       register_static_object(&once_value_2);
     } else fra.me.REG[2] = once_value_2;
+    fra.me.REG[2] = fra.me.REG[2];
     once_value_1 = fra.me.REG[2];
     register_static_object(&once_value_1);
   } else fra.me.REG[2] = once_value_1;
+  fra.me.REG[2] = fra.me.REG[2];
   ATTR_lexer___Token____text(fra.me.REG[0]) = fra.me.REG[2];
-  /* ./parser//lexer.nit:845 */
+  /* ./parser//lexer.nit:846 */
   ATTR_parser_nodes___ANode____location(fra.me.REG[0]) = fra.me.REG[1];
   stack_frame_head = fra.me.prev;
   init_table[itpos63] = 1;
@@ -3736,14 +3823,14 @@ val_t lexer___TPlus___parser_index(val_t p0){
   val_t tmp;
   fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
   fra.me.file = LOCATE_lexer;
-  fra.me.line = 850;
+  fra.me.line = 851;
   fra.me.meth = LOCATE_lexer___TPlus___parser_index;
   fra.me.has_broke = 0;
   fra.me.REG_size = 1;
   fra.me.REG[0] = NIT_NULL;
   fra.me.REG[0] = p0;
+  /* ./parser//lexer.nit:853 */
   REGB0 = TAG_Int(64);
-  /* ./parser//lexer.nit:852 */
   goto label1;
   label1: while(0);
   stack_frame_head = fra.me.prev;
@@ -3759,7 +3846,7 @@ void lexer___TPlus___init_tk(val_t p0, val_t p1, int* init_table){
   if (init_table[itpos64]) return;
   fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
   fra.me.file = LOCATE_lexer;
-  fra.me.line = 855;
+  fra.me.line = 856;
   fra.me.meth = LOCATE_lexer___TPlus___init_tk;
   fra.me.has_broke = 0;
   fra.me.REG_size = 3;
@@ -3768,7 +3855,7 @@ void lexer___TPlus___init_tk(val_t p0, val_t p1, int* init_table){
   fra.me.REG[2] = NIT_NULL;
   fra.me.REG[0] = p0;
   fra.me.REG[1] = p1;
-  /* ./parser//lexer.nit:857 */
+  /* ./parser//lexer.nit:858 */
   if (!once_value_1) {
     if (!once_value_2) {
       fra.me.REG[2] = BOX_NativeString("+");
@@ -3777,11 +3864,13 @@ void lexer___TPlus___init_tk(val_t p0, val_t p1, int* init_table){
       once_value_2 = fra.me.REG[2];
       register_static_object(&once_value_2);
     } else fra.me.REG[2] = once_value_2;
+    fra.me.REG[2] = fra.me.REG[2];
     once_value_1 = fra.me.REG[2];
     register_static_object(&once_value_1);
   } else fra.me.REG[2] = once_value_1;
+  fra.me.REG[2] = fra.me.REG[2];
   ATTR_lexer___Token____text(fra.me.REG[0]) = fra.me.REG[2];
-  /* ./parser//lexer.nit:858 */
+  /* ./parser//lexer.nit:859 */
   ATTR_parser_nodes___ANode____location(fra.me.REG[0]) = fra.me.REG[1];
   stack_frame_head = fra.me.prev;
   init_table[itpos64] = 1;
@@ -3793,14 +3882,14 @@ val_t lexer___TMinus___parser_index(val_t p0){
   val_t tmp;
   fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
   fra.me.file = LOCATE_lexer;
-  fra.me.line = 863;
+  fra.me.line = 864;
   fra.me.meth = LOCATE_lexer___TMinus___parser_index;
   fra.me.has_broke = 0;
   fra.me.REG_size = 1;
   fra.me.REG[0] = NIT_NULL;
   fra.me.REG[0] = p0;
+  /* ./parser//lexer.nit:866 */
   REGB0 = TAG_Int(65);
-  /* ./parser//lexer.nit:865 */
   goto label1;
   label1: while(0);
   stack_frame_head = fra.me.prev;
@@ -3816,7 +3905,7 @@ void lexer___TMinus___init_tk(val_t p0, val_t p1, int* init_table){
   if (init_table[itpos65]) return;
   fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
   fra.me.file = LOCATE_lexer;
-  fra.me.line = 868;
+  fra.me.line = 869;
   fra.me.meth = LOCATE_lexer___TMinus___init_tk;
   fra.me.has_broke = 0;
   fra.me.REG_size = 3;
@@ -3825,7 +3914,7 @@ void lexer___TMinus___init_tk(val_t p0, val_t p1, int* init_table){
   fra.me.REG[2] = NIT_NULL;
   fra.me.REG[0] = p0;
   fra.me.REG[1] = p1;
-  /* ./parser//lexer.nit:870 */
+  /* ./parser//lexer.nit:871 */
   if (!once_value_1) {
     if (!once_value_2) {
       fra.me.REG[2] = BOX_NativeString("-");
@@ -3834,11 +3923,13 @@ void lexer___TMinus___init_tk(val_t p0, val_t p1, int* init_table){
       once_value_2 = fra.me.REG[2];
       register_static_object(&once_value_2);
     } else fra.me.REG[2] = once_value_2;
+    fra.me.REG[2] = fra.me.REG[2];
     once_value_1 = fra.me.REG[2];
     register_static_object(&once_value_1);
   } else fra.me.REG[2] = once_value_1;
+  fra.me.REG[2] = fra.me.REG[2];
   ATTR_lexer___Token____text(fra.me.REG[0]) = fra.me.REG[2];
-  /* ./parser//lexer.nit:871 */
+  /* ./parser//lexer.nit:872 */
   ATTR_parser_nodes___ANode____location(fra.me.REG[0]) = fra.me.REG[1];
   stack_frame_head = fra.me.prev;
   init_table[itpos65] = 1;
@@ -3850,14 +3941,14 @@ val_t lexer___TStar___parser_index(val_t p0){
   val_t tmp;
   fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
   fra.me.file = LOCATE_lexer;
-  fra.me.line = 876;
+  fra.me.line = 877;
   fra.me.meth = LOCATE_lexer___TStar___parser_index;
   fra.me.has_broke = 0;
   fra.me.REG_size = 1;
   fra.me.REG[0] = NIT_NULL;
   fra.me.REG[0] = p0;
+  /* ./parser//lexer.nit:879 */
   REGB0 = TAG_Int(66);
-  /* ./parser//lexer.nit:878 */
   goto label1;
   label1: while(0);
   stack_frame_head = fra.me.prev;
@@ -3873,7 +3964,7 @@ void lexer___TStar___init_tk(val_t p0, val_t p1, int* init_table){
   if (init_table[itpos66]) return;
   fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
   fra.me.file = LOCATE_lexer;
-  fra.me.line = 881;
+  fra.me.line = 882;
   fra.me.meth = LOCATE_lexer___TStar___init_tk;
   fra.me.has_broke = 0;
   fra.me.REG_size = 3;
@@ -3882,7 +3973,7 @@ void lexer___TStar___init_tk(val_t p0, val_t p1, int* init_table){
   fra.me.REG[2] = NIT_NULL;
   fra.me.REG[0] = p0;
   fra.me.REG[1] = p1;
-  /* ./parser//lexer.nit:883 */
+  /* ./parser//lexer.nit:884 */
   if (!once_value_1) {
     if (!once_value_2) {
       fra.me.REG[2] = BOX_NativeString("*");
@@ -3891,11 +3982,13 @@ void lexer___TStar___init_tk(val_t p0, val_t p1, int* init_table){
       once_value_2 = fra.me.REG[2];
       register_static_object(&once_value_2);
     } else fra.me.REG[2] = once_value_2;
+    fra.me.REG[2] = fra.me.REG[2];
     once_value_1 = fra.me.REG[2];
     register_static_object(&once_value_1);
   } else fra.me.REG[2] = once_value_1;
+  fra.me.REG[2] = fra.me.REG[2];
   ATTR_lexer___Token____text(fra.me.REG[0]) = fra.me.REG[2];
-  /* ./parser//lexer.nit:884 */
+  /* ./parser//lexer.nit:885 */
   ATTR_parser_nodes___ANode____location(fra.me.REG[0]) = fra.me.REG[1];
   stack_frame_head = fra.me.prev;
   init_table[itpos66] = 1;
@@ -3907,14 +4000,14 @@ val_t lexer___TSlash___parser_index(val_t p0){
   val_t tmp;
   fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
   fra.me.file = LOCATE_lexer;
-  fra.me.line = 889;
+  fra.me.line = 890;
   fra.me.meth = LOCATE_lexer___TSlash___parser_index;
   fra.me.has_broke = 0;
   fra.me.REG_size = 1;
   fra.me.REG[0] = NIT_NULL;
   fra.me.REG[0] = p0;
+  /* ./parser//lexer.nit:892 */
   REGB0 = TAG_Int(67);
-  /* ./parser//lexer.nit:891 */
   goto label1;
   label1: while(0);
   stack_frame_head = fra.me.prev;
@@ -3930,7 +4023,7 @@ void lexer___TSlash___init_tk(val_t p0, val_t p1, int* init_table){
   if (init_table[itpos67]) return;
   fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
   fra.me.file = LOCATE_lexer;
-  fra.me.line = 894;
+  fra.me.line = 895;
   fra.me.meth = LOCATE_lexer___TSlash___init_tk;
   fra.me.has_broke = 0;
   fra.me.REG_size = 3;
@@ -3939,7 +4032,7 @@ void lexer___TSlash___init_tk(val_t p0, val_t p1, int* init_table){
   fra.me.REG[2] = NIT_NULL;
   fra.me.REG[0] = p0;
   fra.me.REG[1] = p1;
-  /* ./parser//lexer.nit:896 */
+  /* ./parser//lexer.nit:897 */
   if (!once_value_1) {
     if (!once_value_2) {
       fra.me.REG[2] = BOX_NativeString("/");
@@ -3948,11 +4041,13 @@ void lexer___TSlash___init_tk(val_t p0, val_t p1, int* init_table){
       once_value_2 = fra.me.REG[2];
       register_static_object(&once_value_2);
     } else fra.me.REG[2] = once_value_2;
+    fra.me.REG[2] = fra.me.REG[2];
     once_value_1 = fra.me.REG[2];
     register_static_object(&once_value_1);
   } else fra.me.REG[2] = once_value_1;
+  fra.me.REG[2] = fra.me.REG[2];
   ATTR_lexer___Token____text(fra.me.REG[0]) = fra.me.REG[2];
-  /* ./parser//lexer.nit:897 */
+  /* ./parser//lexer.nit:898 */
   ATTR_parser_nodes___ANode____location(fra.me.REG[0]) = fra.me.REG[1];
   stack_frame_head = fra.me.prev;
   init_table[itpos67] = 1;
@@ -3964,14 +4059,14 @@ val_t lexer___TPercent___parser_index(val_t p0){
   val_t tmp;
   fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
   fra.me.file = LOCATE_lexer;
-  fra.me.line = 902;
+  fra.me.line = 903;
   fra.me.meth = LOCATE_lexer___TPercent___parser_index;
   fra.me.has_broke = 0;
   fra.me.REG_size = 1;
   fra.me.REG[0] = NIT_NULL;
   fra.me.REG[0] = p0;
+  /* ./parser//lexer.nit:905 */
   REGB0 = TAG_Int(68);
-  /* ./parser//lexer.nit:904 */
   goto label1;
   label1: while(0);
   stack_frame_head = fra.me.prev;
@@ -3987,7 +4082,7 @@ void lexer___TPercent___init_tk(val_t p0, val_t p1, int* init_table){
   if (init_table[itpos68]) return;
   fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
   fra.me.file = LOCATE_lexer;
-  fra.me.line = 907;
+  fra.me.line = 908;
   fra.me.meth = LOCATE_lexer___TPercent___init_tk;
   fra.me.has_broke = 0;
   fra.me.REG_size = 3;
@@ -3996,7 +4091,7 @@ void lexer___TPercent___init_tk(val_t p0, val_t p1, int* init_table){
   fra.me.REG[2] = NIT_NULL;
   fra.me.REG[0] = p0;
   fra.me.REG[1] = p1;
-  /* ./parser//lexer.nit:909 */
+  /* ./parser//lexer.nit:910 */
   if (!once_value_1) {
     if (!once_value_2) {
       fra.me.REG[2] = BOX_NativeString("%");
@@ -4005,11 +4100,13 @@ void lexer___TPercent___init_tk(val_t p0, val_t p1, int* init_table){
       once_value_2 = fra.me.REG[2];
       register_static_object(&once_value_2);
     } else fra.me.REG[2] = once_value_2;
+    fra.me.REG[2] = fra.me.REG[2];
     once_value_1 = fra.me.REG[2];
     register_static_object(&once_value_1);
   } else fra.me.REG[2] = once_value_1;
+  fra.me.REG[2] = fra.me.REG[2];
   ATTR_lexer___Token____text(fra.me.REG[0]) = fra.me.REG[2];
-  /* ./parser//lexer.nit:910 */
+  /* ./parser//lexer.nit:911 */
   ATTR_parser_nodes___ANode____location(fra.me.REG[0]) = fra.me.REG[1];
   stack_frame_head = fra.me.prev;
   init_table[itpos68] = 1;
@@ -4021,14 +4118,14 @@ val_t lexer___TEq___parser_index(val_t p0){
   val_t tmp;
   fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
   fra.me.file = LOCATE_lexer;
-  fra.me.line = 915;
+  fra.me.line = 916;
   fra.me.meth = LOCATE_lexer___TEq___parser_index;
   fra.me.has_broke = 0;
   fra.me.REG_size = 1;
   fra.me.REG[0] = NIT_NULL;
   fra.me.REG[0] = p0;
+  /* ./parser//lexer.nit:918 */
   REGB0 = TAG_Int(69);
-  /* ./parser//lexer.nit:917 */
   goto label1;
   label1: while(0);
   stack_frame_head = fra.me.prev;
@@ -4044,7 +4141,7 @@ void lexer___TEq___init_tk(val_t p0, val_t p1, int* init_table){
   if (init_table[itpos69]) return;
   fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
   fra.me.file = LOCATE_lexer;
-  fra.me.line = 920;
+  fra.me.line = 921;
   fra.me.meth = LOCATE_lexer___TEq___init_tk;
   fra.me.has_broke = 0;
   fra.me.REG_size = 3;
@@ -4053,7 +4150,7 @@ void lexer___TEq___init_tk(val_t p0, val_t p1, int* init_table){
   fra.me.REG[2] = NIT_NULL;
   fra.me.REG[0] = p0;
   fra.me.REG[1] = p1;
-  /* ./parser//lexer.nit:922 */
+  /* ./parser//lexer.nit:923 */
   if (!once_value_1) {
     if (!once_value_2) {
       fra.me.REG[2] = BOX_NativeString("==");
@@ -4062,11 +4159,13 @@ void lexer___TEq___init_tk(val_t p0, val_t p1, int* init_table){
       once_value_2 = fra.me.REG[2];
       register_static_object(&once_value_2);
     } else fra.me.REG[2] = once_value_2;
+    fra.me.REG[2] = fra.me.REG[2];
     once_value_1 = fra.me.REG[2];
     register_static_object(&once_value_1);
   } else fra.me.REG[2] = once_value_1;
+  fra.me.REG[2] = fra.me.REG[2];
   ATTR_lexer___Token____text(fra.me.REG[0]) = fra.me.REG[2];
-  /* ./parser//lexer.nit:923 */
+  /* ./parser//lexer.nit:924 */
   ATTR_parser_nodes___ANode____location(fra.me.REG[0]) = fra.me.REG[1];
   stack_frame_head = fra.me.prev;
   init_table[itpos69] = 1;
@@ -4078,14 +4177,14 @@ val_t lexer___TNe___parser_index(val_t p0){
   val_t tmp;
   fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
   fra.me.file = LOCATE_lexer;
-  fra.me.line = 928;
+  fra.me.line = 929;
   fra.me.meth = LOCATE_lexer___TNe___parser_index;
   fra.me.has_broke = 0;
   fra.me.REG_size = 1;
   fra.me.REG[0] = NIT_NULL;
   fra.me.REG[0] = p0;
+  /* ./parser//lexer.nit:931 */
   REGB0 = TAG_Int(70);
-  /* ./parser//lexer.nit:930 */
   goto label1;
   label1: while(0);
   stack_frame_head = fra.me.prev;
@@ -4101,7 +4200,7 @@ void lexer___TNe___init_tk(val_t p0, val_t p1, int* init_table){
   if (init_table[itpos70]) return;
   fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
   fra.me.file = LOCATE_lexer;
-  fra.me.line = 933;
+  fra.me.line = 934;
   fra.me.meth = LOCATE_lexer___TNe___init_tk;
   fra.me.has_broke = 0;
   fra.me.REG_size = 3;
@@ -4110,7 +4209,7 @@ void lexer___TNe___init_tk(val_t p0, val_t p1, int* init_table){
   fra.me.REG[2] = NIT_NULL;
   fra.me.REG[0] = p0;
   fra.me.REG[1] = p1;
-  /* ./parser//lexer.nit:935 */
+  /* ./parser//lexer.nit:936 */
   if (!once_value_1) {
     if (!once_value_2) {
       fra.me.REG[2] = BOX_NativeString("!=");
@@ -4119,11 +4218,13 @@ void lexer___TNe___init_tk(val_t p0, val_t p1, int* init_table){
       once_value_2 = fra.me.REG[2];
       register_static_object(&once_value_2);
     } else fra.me.REG[2] = once_value_2;
+    fra.me.REG[2] = fra.me.REG[2];
     once_value_1 = fra.me.REG[2];
     register_static_object(&once_value_1);
   } else fra.me.REG[2] = once_value_1;
+  fra.me.REG[2] = fra.me.REG[2];
   ATTR_lexer___Token____text(fra.me.REG[0]) = fra.me.REG[2];
-  /* ./parser//lexer.nit:936 */
+  /* ./parser//lexer.nit:937 */
   ATTR_parser_nodes___ANode____location(fra.me.REG[0]) = fra.me.REG[1];
   stack_frame_head = fra.me.prev;
   init_table[itpos70] = 1;
@@ -4135,14 +4236,14 @@ val_t lexer___TLt___parser_index(val_t p0){
   val_t tmp;
   fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
   fra.me.file = LOCATE_lexer;
-  fra.me.line = 941;
+  fra.me.line = 942;
   fra.me.meth = LOCATE_lexer___TLt___parser_index;
   fra.me.has_broke = 0;
   fra.me.REG_size = 1;
   fra.me.REG[0] = NIT_NULL;
   fra.me.REG[0] = p0;
+  /* ./parser//lexer.nit:944 */
   REGB0 = TAG_Int(71);
-  /* ./parser//lexer.nit:943 */
   goto label1;
   label1: while(0);
   stack_frame_head = fra.me.prev;
@@ -4158,7 +4259,7 @@ void lexer___TLt___init_tk(val_t p0, val_t p1, int* init_table){
   if (init_table[itpos71]) return;
   fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
   fra.me.file = LOCATE_lexer;
-  fra.me.line = 946;
+  fra.me.line = 947;
   fra.me.meth = LOCATE_lexer___TLt___init_tk;
   fra.me.has_broke = 0;
   fra.me.REG_size = 3;
@@ -4167,7 +4268,7 @@ void lexer___TLt___init_tk(val_t p0, val_t p1, int* init_table){
   fra.me.REG[2] = NIT_NULL;
   fra.me.REG[0] = p0;
   fra.me.REG[1] = p1;
-  /* ./parser//lexer.nit:948 */
+  /* ./parser//lexer.nit:949 */
   if (!once_value_1) {
     if (!once_value_2) {
       fra.me.REG[2] = BOX_NativeString("<");
@@ -4176,11 +4277,13 @@ void lexer___TLt___init_tk(val_t p0, val_t p1, int* init_table){
       once_value_2 = fra.me.REG[2];
       register_static_object(&once_value_2);
     } else fra.me.REG[2] = once_value_2;
+    fra.me.REG[2] = fra.me.REG[2];
     once_value_1 = fra.me.REG[2];
     register_static_object(&once_value_1);
   } else fra.me.REG[2] = once_value_1;
+  fra.me.REG[2] = fra.me.REG[2];
   ATTR_lexer___Token____text(fra.me.REG[0]) = fra.me.REG[2];
-  /* ./parser//lexer.nit:949 */
+  /* ./parser//lexer.nit:950 */
   ATTR_parser_nodes___ANode____location(fra.me.REG[0]) = fra.me.REG[1];
   stack_frame_head = fra.me.prev;
   init_table[itpos71] = 1;
@@ -4192,14 +4295,14 @@ val_t lexer___TLe___parser_index(val_t p0){
   val_t tmp;
   fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
   fra.me.file = LOCATE_lexer;
-  fra.me.line = 954;
+  fra.me.line = 955;
   fra.me.meth = LOCATE_lexer___TLe___parser_index;
   fra.me.has_broke = 0;
   fra.me.REG_size = 1;
   fra.me.REG[0] = NIT_NULL;
   fra.me.REG[0] = p0;
+  /* ./parser//lexer.nit:957 */
   REGB0 = TAG_Int(72);
-  /* ./parser//lexer.nit:956 */
   goto label1;
   label1: while(0);
   stack_frame_head = fra.me.prev;
@@ -4215,7 +4318,7 @@ void lexer___TLe___init_tk(val_t p0, val_t p1, int* init_table){
   if (init_table[itpos72]) return;
   fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
   fra.me.file = LOCATE_lexer;
-  fra.me.line = 959;
+  fra.me.line = 960;
   fra.me.meth = LOCATE_lexer___TLe___init_tk;
   fra.me.has_broke = 0;
   fra.me.REG_size = 3;
@@ -4224,7 +4327,7 @@ void lexer___TLe___init_tk(val_t p0, val_t p1, int* init_table){
   fra.me.REG[2] = NIT_NULL;
   fra.me.REG[0] = p0;
   fra.me.REG[1] = p1;
-  /* ./parser//lexer.nit:961 */
+  /* ./parser//lexer.nit:962 */
   if (!once_value_1) {
     if (!once_value_2) {
       fra.me.REG[2] = BOX_NativeString("<=");
@@ -4233,37 +4336,39 @@ void lexer___TLe___init_tk(val_t p0, val_t p1, int* init_table){
       once_value_2 = fra.me.REG[2];
       register_static_object(&once_value_2);
     } else fra.me.REG[2] = once_value_2;
+    fra.me.REG[2] = fra.me.REG[2];
     once_value_1 = fra.me.REG[2];
     register_static_object(&once_value_1);
   } else fra.me.REG[2] = once_value_1;
+  fra.me.REG[2] = fra.me.REG[2];
   ATTR_lexer___Token____text(fra.me.REG[0]) = fra.me.REG[2];
-  /* ./parser//lexer.nit:962 */
+  /* ./parser//lexer.nit:963 */
   ATTR_parser_nodes___ANode____location(fra.me.REG[0]) = fra.me.REG[1];
   stack_frame_head = fra.me.prev;
   init_table[itpos72] = 1;
   return;
 }
-val_t lexer___TGt___parser_index(val_t p0){
+val_t lexer___TLl___parser_index(val_t p0){
   struct {struct stack_frame_t me;} fra;
   val_t REGB0;
   val_t tmp;
   fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
   fra.me.file = LOCATE_lexer;
-  fra.me.line = 967;
-  fra.me.meth = LOCATE_lexer___TGt___parser_index;
+  fra.me.line = 968;
+  fra.me.meth = LOCATE_lexer___TLl___parser_index;
   fra.me.has_broke = 0;
   fra.me.REG_size = 1;
   fra.me.REG[0] = NIT_NULL;
   fra.me.REG[0] = p0;
+  /* ./parser//lexer.nit:970 */
   REGB0 = TAG_Int(73);
-  /* ./parser//lexer.nit:969 */
   goto label1;
   label1: while(0);
   stack_frame_head = fra.me.prev;
   return REGB0;
 }
-void lexer___TGt___init_tk(val_t p0, val_t p1, int* init_table){
-  int itpos73 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_TGt].i;
+void lexer___TLl___init_tk(val_t p0, val_t p1, int* init_table){
+  int itpos73 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_TLl].i;
   struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
   val_t REGB0;
   val_t tmp;
@@ -4272,8 +4377,8 @@ void lexer___TGt___init_tk(val_t p0, val_t p1, int* init_table){
   if (init_table[itpos73]) return;
   fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
   fra.me.file = LOCATE_lexer;
-  fra.me.line = 972;
-  fra.me.meth = LOCATE_lexer___TGt___init_tk;
+  fra.me.line = 973;
+  fra.me.meth = LOCATE_lexer___TLl___init_tk;
   fra.me.has_broke = 0;
   fra.me.REG_size = 3;
   fra.me.REG[0] = NIT_NULL;
@@ -4281,46 +4386,48 @@ void lexer___TGt___init_tk(val_t p0, val_t p1, int* init_table){
   fra.me.REG[2] = NIT_NULL;
   fra.me.REG[0] = p0;
   fra.me.REG[1] = p1;
-  /* ./parser//lexer.nit:974 */
+  /* ./parser//lexer.nit:975 */
   if (!once_value_1) {
     if (!once_value_2) {
-      fra.me.REG[2] = BOX_NativeString(">");
-      REGB0 = TAG_Int(1);
+      fra.me.REG[2] = BOX_NativeString("<<");
+      REGB0 = TAG_Int(2);
       fra.me.REG[2] = NEW_String_string___String___with_native(fra.me.REG[2], REGB0);
       once_value_2 = fra.me.REG[2];
       register_static_object(&once_value_2);
     } else fra.me.REG[2] = once_value_2;
+    fra.me.REG[2] = fra.me.REG[2];
     once_value_1 = fra.me.REG[2];
     register_static_object(&once_value_1);
   } else fra.me.REG[2] = once_value_1;
+  fra.me.REG[2] = fra.me.REG[2];
   ATTR_lexer___Token____text(fra.me.REG[0]) = fra.me.REG[2];
-  /* ./parser//lexer.nit:975 */
+  /* ./parser//lexer.nit:976 */
   ATTR_parser_nodes___ANode____location(fra.me.REG[0]) = fra.me.REG[1];
   stack_frame_head = fra.me.prev;
   init_table[itpos73] = 1;
   return;
 }
-val_t lexer___TGe___parser_index(val_t p0){
+val_t lexer___TGt___parser_index(val_t p0){
   struct {struct stack_frame_t me;} fra;
   val_t REGB0;
   val_t tmp;
   fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
   fra.me.file = LOCATE_lexer;
-  fra.me.line = 980;
-  fra.me.meth = LOCATE_lexer___TGe___parser_index;
+  fra.me.line = 981;
+  fra.me.meth = LOCATE_lexer___TGt___parser_index;
   fra.me.has_broke = 0;
   fra.me.REG_size = 1;
   fra.me.REG[0] = NIT_NULL;
   fra.me.REG[0] = p0;
+  /* ./parser//lexer.nit:983 */
   REGB0 = TAG_Int(74);
-  /* ./parser//lexer.nit:982 */
   goto label1;
   label1: while(0);
   stack_frame_head = fra.me.prev;
   return REGB0;
 }
-void lexer___TGe___init_tk(val_t p0, val_t p1, int* init_table){
-  int itpos74 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_TGe].i;
+void lexer___TGt___init_tk(val_t p0, val_t p1, int* init_table){
+  int itpos74 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_TGt].i;
   struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
   val_t REGB0;
   val_t tmp;
@@ -4329,8 +4436,8 @@ void lexer___TGe___init_tk(val_t p0, val_t p1, int* init_table){
   if (init_table[itpos74]) return;
   fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
   fra.me.file = LOCATE_lexer;
-  fra.me.line = 985;
-  fra.me.meth = LOCATE_lexer___TGe___init_tk;
+  fra.me.line = 986;
+  fra.me.meth = LOCATE_lexer___TGt___init_tk;
   fra.me.has_broke = 0;
   fra.me.REG_size = 3;
   fra.me.REG[0] = NIT_NULL;
@@ -4338,55 +4445,175 @@ void lexer___TGe___init_tk(val_t p0, val_t p1, int* init_table){
   fra.me.REG[2] = NIT_NULL;
   fra.me.REG[0] = p0;
   fra.me.REG[1] = p1;
-  /* ./parser//lexer.nit:987 */
+  /* ./parser//lexer.nit:988 */
   if (!once_value_1) {
     if (!once_value_2) {
-      fra.me.REG[2] = BOX_NativeString(">=");
-      REGB0 = TAG_Int(2);
+      fra.me.REG[2] = BOX_NativeString(">");
+      REGB0 = TAG_Int(1);
       fra.me.REG[2] = NEW_String_string___String___with_native(fra.me.REG[2], REGB0);
       once_value_2 = fra.me.REG[2];
       register_static_object(&once_value_2);
     } else fra.me.REG[2] = once_value_2;
+    fra.me.REG[2] = fra.me.REG[2];
     once_value_1 = fra.me.REG[2];
     register_static_object(&once_value_1);
   } else fra.me.REG[2] = once_value_1;
+  fra.me.REG[2] = fra.me.REG[2];
   ATTR_lexer___Token____text(fra.me.REG[0]) = fra.me.REG[2];
-  /* ./parser//lexer.nit:988 */
+  /* ./parser//lexer.nit:989 */
   ATTR_parser_nodes___ANode____location(fra.me.REG[0]) = fra.me.REG[1];
   stack_frame_head = fra.me.prev;
   init_table[itpos74] = 1;
   return;
 }
+val_t lexer___TGe___parser_index(val_t p0){
+  struct {struct stack_frame_t me;} fra;
+  val_t REGB0;
+  val_t tmp;
+  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+  fra.me.file = LOCATE_lexer;
+  fra.me.line = 994;
+  fra.me.meth = LOCATE_lexer___TGe___parser_index;
+  fra.me.has_broke = 0;
+  fra.me.REG_size = 1;
+  fra.me.REG[0] = NIT_NULL;
+  fra.me.REG[0] = p0;
+  /* ./parser//lexer.nit:996 */
+  REGB0 = TAG_Int(75);
+  goto label1;
+  label1: while(0);
+  stack_frame_head = fra.me.prev;
+  return REGB0;
+}
+void lexer___TGe___init_tk(val_t p0, val_t p1, int* init_table){
+  int itpos75 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_TGe].i;
+  struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
+  val_t REGB0;
+  val_t tmp;
+  static val_t once_value_1; /* Once value */
+    static val_t once_value_2; /* Once value */
+  if (init_table[itpos75]) return;
+  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+  fra.me.file = LOCATE_lexer;
+  fra.me.line = 999;
+  fra.me.meth = LOCATE_lexer___TGe___init_tk;
+  fra.me.has_broke = 0;
+  fra.me.REG_size = 3;
+  fra.me.REG[0] = NIT_NULL;
+  fra.me.REG[1] = NIT_NULL;
+  fra.me.REG[2] = NIT_NULL;
+  fra.me.REG[0] = p0;
+  fra.me.REG[1] = p1;
+  /* ./parser//lexer.nit:1001 */
+  if (!once_value_1) {
+    if (!once_value_2) {
+      fra.me.REG[2] = BOX_NativeString(">=");
+      REGB0 = TAG_Int(2);
+      fra.me.REG[2] = NEW_String_string___String___with_native(fra.me.REG[2], REGB0);
+      once_value_2 = fra.me.REG[2];
+      register_static_object(&once_value_2);
+    } else fra.me.REG[2] = once_value_2;
+    fra.me.REG[2] = fra.me.REG[2];
+    once_value_1 = fra.me.REG[2];
+    register_static_object(&once_value_1);
+  } else fra.me.REG[2] = once_value_1;
+  fra.me.REG[2] = fra.me.REG[2];
+  ATTR_lexer___Token____text(fra.me.REG[0]) = fra.me.REG[2];
+  /* ./parser//lexer.nit:1002 */
+  ATTR_parser_nodes___ANode____location(fra.me.REG[0]) = fra.me.REG[1];
+  stack_frame_head = fra.me.prev;
+  init_table[itpos75] = 1;
+  return;
+}
+val_t lexer___TGg___parser_index(val_t p0){
+  struct {struct stack_frame_t me;} fra;
+  val_t REGB0;
+  val_t tmp;
+  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+  fra.me.file = LOCATE_lexer;
+  fra.me.line = 1007;
+  fra.me.meth = LOCATE_lexer___TGg___parser_index;
+  fra.me.has_broke = 0;
+  fra.me.REG_size = 1;
+  fra.me.REG[0] = NIT_NULL;
+  fra.me.REG[0] = p0;
+  /* ./parser//lexer.nit:1009 */
+  REGB0 = TAG_Int(76);
+  goto label1;
+  label1: while(0);
+  stack_frame_head = fra.me.prev;
+  return REGB0;
+}
+void lexer___TGg___init_tk(val_t p0, val_t p1, int* init_table){
+  int itpos76 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_TGg].i;
+  struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
+  val_t REGB0;
+  val_t tmp;
+  static val_t once_value_1; /* Once value */
+    static val_t once_value_2; /* Once value */
+  if (init_table[itpos76]) return;
+  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+  fra.me.file = LOCATE_lexer;
+  fra.me.line = 1012;
+  fra.me.meth = LOCATE_lexer___TGg___init_tk;
+  fra.me.has_broke = 0;
+  fra.me.REG_size = 3;
+  fra.me.REG[0] = NIT_NULL;
+  fra.me.REG[1] = NIT_NULL;
+  fra.me.REG[2] = NIT_NULL;
+  fra.me.REG[0] = p0;
+  fra.me.REG[1] = p1;
+  /* ./parser//lexer.nit:1014 */
+  if (!once_value_1) {
+    if (!once_value_2) {
+      fra.me.REG[2] = BOX_NativeString(">>");
+      REGB0 = TAG_Int(2);
+      fra.me.REG[2] = NEW_String_string___String___with_native(fra.me.REG[2], REGB0);
+      once_value_2 = fra.me.REG[2];
+      register_static_object(&once_value_2);
+    } else fra.me.REG[2] = once_value_2;
+    fra.me.REG[2] = fra.me.REG[2];
+    once_value_1 = fra.me.REG[2];
+    register_static_object(&once_value_1);
+  } else fra.me.REG[2] = once_value_1;
+  fra.me.REG[2] = fra.me.REG[2];
+  ATTR_lexer___Token____text(fra.me.REG[0]) = fra.me.REG[2];
+  /* ./parser//lexer.nit:1015 */
+  ATTR_parser_nodes___ANode____location(fra.me.REG[0]) = fra.me.REG[1];
+  stack_frame_head = fra.me.prev;
+  init_table[itpos76] = 1;
+  return;
+}
 val_t lexer___TStarship___parser_index(val_t p0){
   struct {struct stack_frame_t me;} fra;
   val_t REGB0;
   val_t tmp;
   fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
   fra.me.file = LOCATE_lexer;
-  fra.me.line = 993;
+  fra.me.line = 1020;
   fra.me.meth = LOCATE_lexer___TStarship___parser_index;
   fra.me.has_broke = 0;
   fra.me.REG_size = 1;
   fra.me.REG[0] = NIT_NULL;
   fra.me.REG[0] = p0;
-  REGB0 = TAG_Int(75);
-  /* ./parser//lexer.nit:995 */
+  /* ./parser//lexer.nit:1022 */
+  REGB0 = TAG_Int(77);
   goto label1;
   label1: while(0);
   stack_frame_head = fra.me.prev;
   return REGB0;
 }
 void lexer___TStarship___init_tk(val_t p0, val_t p1, int* init_table){
-  int itpos75 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_TStarship].i;
+  int itpos77 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_TStarship].i;
   struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
   val_t REGB0;
   val_t tmp;
   static val_t once_value_1; /* Once value */
     static val_t once_value_2; /* Once value */
-  if (init_table[itpos75]) return;
+  if (init_table[itpos77]) return;
   fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
   fra.me.file = LOCATE_lexer;
-  fra.me.line = 998;
+  fra.me.line = 1025;
   fra.me.meth = LOCATE_lexer___TStarship___init_tk;
   fra.me.has_broke = 0;
   fra.me.REG_size = 3;
@@ -4395,7 +4622,7 @@ void lexer___TStarship___init_tk(val_t p0, val_t p1, int* init_table){
   fra.me.REG[2] = NIT_NULL;
   fra.me.REG[0] = p0;
   fra.me.REG[1] = p1;
-  /* ./parser//lexer.nit:1000 */
+  /* ./parser//lexer.nit:1027 */
   if (!once_value_1) {
     if (!once_value_2) {
       fra.me.REG[2] = BOX_NativeString("<=>");
@@ -4404,14 +4631,16 @@ void lexer___TStarship___init_tk(val_t p0, val_t p1, int* init_table){
       once_value_2 = fra.me.REG[2];
       register_static_object(&once_value_2);
     } else fra.me.REG[2] = once_value_2;
+    fra.me.REG[2] = fra.me.REG[2];
     once_value_1 = fra.me.REG[2];
     register_static_object(&once_value_1);
   } else fra.me.REG[2] = once_value_1;
+  fra.me.REG[2] = fra.me.REG[2];
   ATTR_lexer___Token____text(fra.me.REG[0]) = fra.me.REG[2];
-  /* ./parser//lexer.nit:1001 */
+  /* ./parser//lexer.nit:1028 */
   ATTR_parser_nodes___ANode____location(fra.me.REG[0]) = fra.me.REG[1];
   stack_frame_head = fra.me.prev;
-  init_table[itpos75] = 1;
+  init_table[itpos77] = 1;
   return;
 }
 val_t lexer___TBang___parser_index(val_t p0){
@@ -4420,30 +4649,30 @@ val_t lexer___TBang___parser_index(val_t p0){
   val_t tmp;
   fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
   fra.me.file = LOCATE_lexer;
-  fra.me.line = 1006;
+  fra.me.line = 1033;
   fra.me.meth = LOCATE_lexer___TBang___parser_index;
   fra.me.has_broke = 0;
   fra.me.REG_size = 1;
   fra.me.REG[0] = NIT_NULL;
   fra.me.REG[0] = p0;
-  REGB0 = TAG_Int(76);
-  /* ./parser//lexer.nit:1008 */
+  /* ./parser//lexer.nit:1035 */
+  REGB0 = TAG_Int(78);
   goto label1;
   label1: while(0);
   stack_frame_head = fra.me.prev;
   return REGB0;
 }
 void lexer___TBang___init_tk(val_t p0, val_t p1, int* init_table){
-  int itpos76 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_TBang].i;
+  int itpos78 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_TBang].i;
   struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
   val_t REGB0;
   val_t tmp;
   static val_t once_value_1; /* Once value */
     static val_t once_value_2; /* Once value */
-  if (init_table[itpos76]) return;
+  if (init_table[itpos78]) return;
   fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
   fra.me.file = LOCATE_lexer;
-  fra.me.line = 1011;
+  fra.me.line = 1038;
   fra.me.meth = LOCATE_lexer___TBang___init_tk;
   fra.me.has_broke = 0;
   fra.me.REG_size = 3;
@@ -4452,7 +4681,7 @@ void lexer___TBang___init_tk(val_t p0, val_t p1, int* init_table){
   fra.me.REG[2] = NIT_NULL;
   fra.me.REG[0] = p0;
   fra.me.REG[1] = p1;
-  /* ./parser//lexer.nit:1013 */
+  /* ./parser//lexer.nit:1040 */
   if (!once_value_1) {
     if (!once_value_2) {
       fra.me.REG[2] = BOX_NativeString("!");
@@ -4461,14 +4690,16 @@ void lexer___TBang___init_tk(val_t p0, val_t p1, int* init_table){
       once_value_2 = fra.me.REG[2];
       register_static_object(&once_value_2);
     } else fra.me.REG[2] = once_value_2;
+    fra.me.REG[2] = fra.me.REG[2];
     once_value_1 = fra.me.REG[2];
     register_static_object(&once_value_1);
   } else fra.me.REG[2] = once_value_1;
+  fra.me.REG[2] = fra.me.REG[2];
   ATTR_lexer___Token____text(fra.me.REG[0]) = fra.me.REG[2];
-  /* ./parser//lexer.nit:1014 */
+  /* ./parser//lexer.nit:1041 */
   ATTR_parser_nodes___ANode____location(fra.me.REG[0]) = fra.me.REG[1];
   stack_frame_head = fra.me.prev;
-  init_table[itpos76] = 1;
+  init_table[itpos78] = 1;
   return;
 }
 val_t lexer___TClassid___parser_index(val_t p0){
@@ -4477,27 +4708,27 @@ val_t lexer___TClassid___parser_index(val_t p0){
   val_t tmp;
   fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
   fra.me.file = LOCATE_lexer;
-  fra.me.line = 1019;
+  fra.me.line = 1046;
   fra.me.meth = LOCATE_lexer___TClassid___parser_index;
   fra.me.has_broke = 0;
   fra.me.REG_size = 1;
   fra.me.REG[0] = NIT_NULL;
   fra.me.REG[0] = p0;
-  REGB0 = TAG_Int(77);
-  /* ./parser//lexer.nit:1021 */
+  /* ./parser//lexer.nit:1048 */
+  REGB0 = TAG_Int(79);
   goto label1;
   label1: while(0);
   stack_frame_head = fra.me.prev;
   return REGB0;
 }
 void lexer___TClassid___init_tk(val_t p0, val_t p1, val_t p2, int* init_table){
-  int itpos77 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_TClassid].i;
+  int itpos79 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_TClassid].i;
   struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
   val_t tmp;
-  if (init_table[itpos77]) return;
+  if (init_table[itpos79]) return;
   fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
   fra.me.file = LOCATE_lexer;
-  fra.me.line = 1024;
+  fra.me.line = 1051;
   fra.me.meth = LOCATE_lexer___TClassid___init_tk;
   fra.me.has_broke = 0;
   fra.me.REG_size = 3;
@@ -4507,12 +4738,12 @@ void lexer___TClassid___init_tk(val_t p0, val_t p1, val_t p2, int* init_table){
   fra.me.REG[0] = p0;
   fra.me.REG[1] = p1;
   fra.me.REG[2] = p2;
-  /* ./parser//lexer.nit:1026 */
+  /* ./parser//lexer.nit:1053 */
   ATTR_lexer___Token____text(fra.me.REG[0]) = fra.me.REG[1];
-  /* ./parser//lexer.nit:1027 */
+  /* ./parser//lexer.nit:1054 */
   ATTR_parser_nodes___ANode____location(fra.me.REG[0]) = fra.me.REG[2];
   stack_frame_head = fra.me.prev;
-  init_table[itpos77] = 1;
+  init_table[itpos79] = 1;
   return;
 }
 val_t lexer___TId___parser_index(val_t p0){
@@ -4521,27 +4752,27 @@ val_t lexer___TId___parser_index(val_t p0){
   val_t tmp;
   fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
   fra.me.file = LOCATE_lexer;
-  fra.me.line = 1032;
+  fra.me.line = 1059;
   fra.me.meth = LOCATE_lexer___TId___parser_index;
   fra.me.has_broke = 0;
   fra.me.REG_size = 1;
   fra.me.REG[0] = NIT_NULL;
   fra.me.REG[0] = p0;
-  REGB0 = TAG_Int(78);
-  /* ./parser//lexer.nit:1034 */
+  /* ./parser//lexer.nit:1061 */
+  REGB0 = TAG_Int(80);
   goto label1;
   label1: while(0);
   stack_frame_head = fra.me.prev;
   return REGB0;
 }
 void lexer___TId___init_tk(val_t p0, val_t p1, val_t p2, int* init_table){
-  int itpos78 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_TId].i;
+  int itpos80 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_TId].i;
   struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
   val_t tmp;
-  if (init_table[itpos78]) return;
+  if (init_table[itpos80]) return;
   fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
   fra.me.file = LOCATE_lexer;
-  fra.me.line = 1037;
+  fra.me.line = 1064;
   fra.me.meth = LOCATE_lexer___TId___init_tk;
   fra.me.has_broke = 0;
   fra.me.REG_size = 3;
@@ -4551,12 +4782,12 @@ void lexer___TId___init_tk(val_t p0, val_t p1, val_t p2, int* init_table){
   fra.me.REG[0] = p0;
   fra.me.REG[1] = p1;
   fra.me.REG[2] = p2;
-  /* ./parser//lexer.nit:1039 */
+  /* ./parser//lexer.nit:1066 */
   ATTR_lexer___Token____text(fra.me.REG[0]) = fra.me.REG[1];
-  /* ./parser//lexer.nit:1040 */
+  /* ./parser//lexer.nit:1067 */
   ATTR_parser_nodes___ANode____location(fra.me.REG[0]) = fra.me.REG[2];
   stack_frame_head = fra.me.prev;
-  init_table[itpos78] = 1;
+  init_table[itpos80] = 1;
   return;
 }
 val_t lexer___TAttrid___parser_index(val_t p0){
@@ -4565,27 +4796,27 @@ val_t lexer___TAttrid___parser_index(val_t p0){
   val_t tmp;
   fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
   fra.me.file = LOCATE_lexer;
-  fra.me.line = 1045;
+  fra.me.line = 1072;
   fra.me.meth = LOCATE_lexer___TAttrid___parser_index;
   fra.me.has_broke = 0;
   fra.me.REG_size = 1;
   fra.me.REG[0] = NIT_NULL;
   fra.me.REG[0] = p0;
-  REGB0 = TAG_Int(79);
-  /* ./parser//lexer.nit:1047 */
+  /* ./parser//lexer.nit:1074 */
+  REGB0 = TAG_Int(81);
   goto label1;
   label1: while(0);
   stack_frame_head = fra.me.prev;
   return REGB0;
 }
 void lexer___TAttrid___init_tk(val_t p0, val_t p1, val_t p2, int* init_table){
-  int itpos79 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_TAttrid].i;
+  int itpos81 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_TAttrid].i;
   struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
   val_t tmp;
-  if (init_table[itpos79]) return;
+  if (init_table[itpos81]) return;
   fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
   fra.me.file = LOCATE_lexer;
-  fra.me.line = 1050;
+  fra.me.line = 1077;
   fra.me.meth = LOCATE_lexer___TAttrid___init_tk;
   fra.me.has_broke = 0;
   fra.me.REG_size = 3;
@@ -4595,12 +4826,12 @@ void lexer___TAttrid___init_tk(val_t p0, val_t p1, val_t p2, int* init_table){
   fra.me.REG[0] = p0;
   fra.me.REG[1] = p1;
   fra.me.REG[2] = p2;
-  /* ./parser//lexer.nit:1052 */
+  /* ./parser//lexer.nit:1079 */
   ATTR_lexer___Token____text(fra.me.REG[0]) = fra.me.REG[1];
-  /* ./parser//lexer.nit:1053 */
+  /* ./parser//lexer.nit:1080 */
   ATTR_parser_nodes___ANode____location(fra.me.REG[0]) = fra.me.REG[2];
   stack_frame_head = fra.me.prev;
-  init_table[itpos79] = 1;
+  init_table[itpos81] = 1;
   return;
 }
 val_t lexer___TNumber___parser_index(val_t p0){
@@ -4609,27 +4840,27 @@ val_t lexer___TNumber___parser_index(val_t p0){
   val_t tmp;
   fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
   fra.me.file = LOCATE_lexer;
-  fra.me.line = 1058;
+  fra.me.line = 1085;
   fra.me.meth = LOCATE_lexer___TNumber___parser_index;
   fra.me.has_broke = 0;
   fra.me.REG_size = 1;
   fra.me.REG[0] = NIT_NULL;
   fra.me.REG[0] = p0;
-  REGB0 = TAG_Int(80);
-  /* ./parser//lexer.nit:1060 */
+  /* ./parser//lexer.nit:1087 */
+  REGB0 = TAG_Int(82);
   goto label1;
   label1: while(0);
   stack_frame_head = fra.me.prev;
   return REGB0;
 }
 void lexer___TNumber___init_tk(val_t p0, val_t p1, val_t p2, int* init_table){
-  int itpos80 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_TNumber].i;
+  int itpos82 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_TNumber].i;
   struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
   val_t tmp;
-  if (init_table[itpos80]) return;
+  if (init_table[itpos82]) return;
   fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
   fra.me.file = LOCATE_lexer;
-  fra.me.line = 1063;
+  fra.me.line = 1090;
   fra.me.meth = LOCATE_lexer___TNumber___init_tk;
   fra.me.has_broke = 0;
   fra.me.REG_size = 3;
@@ -4639,12 +4870,12 @@ void lexer___TNumber___init_tk(val_t p0, val_t p1, val_t p2, int* init_table){
   fra.me.REG[0] = p0;
   fra.me.REG[1] = p1;
   fra.me.REG[2] = p2;
-  /* ./parser//lexer.nit:1065 */
+  /* ./parser//lexer.nit:1092 */
   ATTR_lexer___Token____text(fra.me.REG[0]) = fra.me.REG[1];
-  /* ./parser//lexer.nit:1066 */
+  /* ./parser//lexer.nit:1093 */
   ATTR_parser_nodes___ANode____location(fra.me.REG[0]) = fra.me.REG[2];
   stack_frame_head = fra.me.prev;
-  init_table[itpos80] = 1;
+  init_table[itpos82] = 1;
   return;
 }
 val_t lexer___TFloat___parser_index(val_t p0){
@@ -4653,27 +4884,27 @@ val_t lexer___TFloat___parser_index(val_t p0){
   val_t tmp;
   fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
   fra.me.file = LOCATE_lexer;
-  fra.me.line = 1071;
+  fra.me.line = 1098;
   fra.me.meth = LOCATE_lexer___TFloat___parser_index;
   fra.me.has_broke = 0;
   fra.me.REG_size = 1;
   fra.me.REG[0] = NIT_NULL;
   fra.me.REG[0] = p0;
-  REGB0 = TAG_Int(81);
-  /* ./parser//lexer.nit:1073 */
+  /* ./parser//lexer.nit:1100 */
+  REGB0 = TAG_Int(83);
   goto label1;
   label1: while(0);
   stack_frame_head = fra.me.prev;
   return REGB0;
 }
 void lexer___TFloat___init_tk(val_t p0, val_t p1, val_t p2, int* init_table){
-  int itpos81 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_TFloat].i;
+  int itpos83 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_TFloat].i;
   struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
   val_t tmp;
-  if (init_table[itpos81]) return;
+  if (init_table[itpos83]) return;
   fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
   fra.me.file = LOCATE_lexer;
-  fra.me.line = 1076;
+  fra.me.line = 1103;
   fra.me.meth = LOCATE_lexer___TFloat___init_tk;
   fra.me.has_broke = 0;
   fra.me.REG_size = 3;
@@ -4683,12 +4914,12 @@ void lexer___TFloat___init_tk(val_t p0, val_t p1, val_t p2, int* init_table){
   fra.me.REG[0] = p0;
   fra.me.REG[1] = p1;
   fra.me.REG[2] = p2;
-  /* ./parser//lexer.nit:1078 */
+  /* ./parser//lexer.nit:1105 */
   ATTR_lexer___Token____text(fra.me.REG[0]) = fra.me.REG[1];
-  /* ./parser//lexer.nit:1079 */
+  /* ./parser//lexer.nit:1106 */
   ATTR_parser_nodes___ANode____location(fra.me.REG[0]) = fra.me.REG[2];
   stack_frame_head = fra.me.prev;
-  init_table[itpos81] = 1;
+  init_table[itpos83] = 1;
   return;
 }
 val_t lexer___TChar___parser_index(val_t p0){
@@ -4697,27 +4928,27 @@ val_t lexer___TChar___parser_index(val_t p0){
   val_t tmp;
   fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
   fra.me.file = LOCATE_lexer;
-  fra.me.line = 1084;
+  fra.me.line = 1111;
   fra.me.meth = LOCATE_lexer___TChar___parser_index;
   fra.me.has_broke = 0;
   fra.me.REG_size = 1;
   fra.me.REG[0] = NIT_NULL;
   fra.me.REG[0] = p0;
-  REGB0 = TAG_Int(82);
-  /* ./parser//lexer.nit:1086 */
+  /* ./parser//lexer.nit:1113 */
+  REGB0 = TAG_Int(84);
   goto label1;
   label1: while(0);
   stack_frame_head = fra.me.prev;
   return REGB0;
 }
 void lexer___TChar___init_tk(val_t p0, val_t p1, val_t p2, int* init_table){
-  int itpos82 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_TChar].i;
+  int itpos84 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_TChar].i;
   struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
   val_t tmp;
-  if (init_table[itpos82]) return;
+  if (init_table[itpos84]) return;
   fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
   fra.me.file = LOCATE_lexer;
-  fra.me.line = 1089;
+  fra.me.line = 1116;
   fra.me.meth = LOCATE_lexer___TChar___init_tk;
   fra.me.has_broke = 0;
   fra.me.REG_size = 3;
@@ -4727,12 +4958,12 @@ void lexer___TChar___init_tk(val_t p0, val_t p1, val_t p2, int* init_table){
   fra.me.REG[0] = p0;
   fra.me.REG[1] = p1;
   fra.me.REG[2] = p2;
-  /* ./parser//lexer.nit:1091 */
+  /* ./parser//lexer.nit:1118 */
   ATTR_lexer___Token____text(fra.me.REG[0]) = fra.me.REG[1];
-  /* ./parser//lexer.nit:1092 */
+  /* ./parser//lexer.nit:1119 */
   ATTR_parser_nodes___ANode____location(fra.me.REG[0]) = fra.me.REG[2];
   stack_frame_head = fra.me.prev;
-  init_table[itpos82] = 1;
+  init_table[itpos84] = 1;
   return;
 }
 val_t lexer___TString___parser_index(val_t p0){
@@ -4741,27 +4972,27 @@ val_t lexer___TString___parser_index(val_t p0){
   val_t tmp;
   fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
   fra.me.file = LOCATE_lexer;
-  fra.me.line = 1097;
+  fra.me.line = 1124;
   fra.me.meth = LOCATE_lexer___TString___parser_index;
   fra.me.has_broke = 0;
   fra.me.REG_size = 1;
   fra.me.REG[0] = NIT_NULL;
   fra.me.REG[0] = p0;
-  REGB0 = TAG_Int(83);
-  /* ./parser//lexer.nit:1099 */
+  /* ./parser//lexer.nit:1126 */
+  REGB0 = TAG_Int(85);
   goto label1;
   label1: while(0);
   stack_frame_head = fra.me.prev;
   return REGB0;
 }
 void lexer___TString___init_tk(val_t p0, val_t p1, val_t p2, int* init_table){
-  int itpos83 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_TString].i;
+  int itpos85 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_TString].i;
   struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
   val_t tmp;
-  if (init_table[itpos83]) return;
+  if (init_table[itpos85]) return;
   fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
   fra.me.file = LOCATE_lexer;
-  fra.me.line = 1102;
+  fra.me.line = 1129;
   fra.me.meth = LOCATE_lexer___TString___init_tk;
   fra.me.has_broke = 0;
   fra.me.REG_size = 3;
@@ -4771,12 +5002,12 @@ void lexer___TString___init_tk(val_t p0, val_t p1, val_t p2, int* init_table){
   fra.me.REG[0] = p0;
   fra.me.REG[1] = p1;
   fra.me.REG[2] = p2;
-  /* ./parser//lexer.nit:1104 */
+  /* ./parser//lexer.nit:1131 */
   ATTR_lexer___Token____text(fra.me.REG[0]) = fra.me.REG[1];
-  /* ./parser//lexer.nit:1105 */
+  /* ./parser//lexer.nit:1132 */
   ATTR_parser_nodes___ANode____location(fra.me.REG[0]) = fra.me.REG[2];
   stack_frame_head = fra.me.prev;
-  init_table[itpos83] = 1;
+  init_table[itpos85] = 1;
   return;
 }
 val_t lexer___TStartString___parser_index(val_t p0){
@@ -4785,27 +5016,27 @@ val_t lexer___TStartString___parser_index(val_t p0){
   val_t tmp;
   fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
   fra.me.file = LOCATE_lexer;
-  fra.me.line = 1110;
+  fra.me.line = 1137;
   fra.me.meth = LOCATE_lexer___TStartString___parser_index;
   fra.me.has_broke = 0;
   fra.me.REG_size = 1;
   fra.me.REG[0] = NIT_NULL;
   fra.me.REG[0] = p0;
-  REGB0 = TAG_Int(84);
-  /* ./parser//lexer.nit:1112 */
+  /* ./parser//lexer.nit:1139 */
+  REGB0 = TAG_Int(86);
   goto label1;
   label1: while(0);
   stack_frame_head = fra.me.prev;
   return REGB0;
 }
 void lexer___TStartString___init_tk(val_t p0, val_t p1, val_t p2, int* init_table){
-  int itpos84 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_TStartString].i;
+  int itpos86 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_TStartString].i;
   struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
   val_t tmp;
-  if (init_table[itpos84]) return;
+  if (init_table[itpos86]) return;
   fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
   fra.me.file = LOCATE_lexer;
-  fra.me.line = 1115;
+  fra.me.line = 1142;
   fra.me.meth = LOCATE_lexer___TStartString___init_tk;
   fra.me.has_broke = 0;
   fra.me.REG_size = 3;
@@ -4815,12 +5046,12 @@ void lexer___TStartString___init_tk(val_t p0, val_t p1, val_t p2, int* init_tabl
   fra.me.REG[0] = p0;
   fra.me.REG[1] = p1;
   fra.me.REG[2] = p2;
-  /* ./parser//lexer.nit:1117 */
+  /* ./parser//lexer.nit:1144 */
   ATTR_lexer___Token____text(fra.me.REG[0]) = fra.me.REG[1];
-  /* ./parser//lexer.nit:1118 */
+  /* ./parser//lexer.nit:1145 */
   ATTR_parser_nodes___ANode____location(fra.me.REG[0]) = fra.me.REG[2];
   stack_frame_head = fra.me.prev;
-  init_table[itpos84] = 1;
+  init_table[itpos86] = 1;
   return;
 }
 val_t lexer___TMidString___parser_index(val_t p0){
@@ -4829,27 +5060,27 @@ val_t lexer___TMidString___parser_index(val_t p0){
   val_t tmp;
   fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
   fra.me.file = LOCATE_lexer;
-  fra.me.line = 1123;
+  fra.me.line = 1150;
   fra.me.meth = LOCATE_lexer___TMidString___parser_index;
   fra.me.has_broke = 0;
   fra.me.REG_size = 1;
   fra.me.REG[0] = NIT_NULL;
   fra.me.REG[0] = p0;
-  REGB0 = TAG_Int(85);
-  /* ./parser//lexer.nit:1125 */
+  /* ./parser//lexer.nit:1152 */
+  REGB0 = TAG_Int(87);
   goto label1;
   label1: while(0);
   stack_frame_head = fra.me.prev;
   return REGB0;
 }
 void lexer___TMidString___init_tk(val_t p0, val_t p1, val_t p2, int* init_table){
-  int itpos85 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_TMidString].i;
+  int itpos87 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_TMidString].i;
   struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
   val_t tmp;
-  if (init_table[itpos85]) return;
+  if (init_table[itpos87]) return;
   fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
   fra.me.file = LOCATE_lexer;
-  fra.me.line = 1128;
+  fra.me.line = 1155;
   fra.me.meth = LOCATE_lexer___TMidString___init_tk;
   fra.me.has_broke = 0;
   fra.me.REG_size = 3;
@@ -4859,12 +5090,12 @@ void lexer___TMidString___init_tk(val_t p0, val_t p1, val_t p2, int* init_table)
   fra.me.REG[0] = p0;
   fra.me.REG[1] = p1;
   fra.me.REG[2] = p2;
-  /* ./parser//lexer.nit:1130 */
+  /* ./parser//lexer.nit:1157 */
   ATTR_lexer___Token____text(fra.me.REG[0]) = fra.me.REG[1];
-  /* ./parser//lexer.nit:1131 */
+  /* ./parser//lexer.nit:1158 */
   ATTR_parser_nodes___ANode____location(fra.me.REG[0]) = fra.me.REG[2];
   stack_frame_head = fra.me.prev;
-  init_table[itpos85] = 1;
+  init_table[itpos87] = 1;
   return;
 }
 val_t lexer___TEndString___parser_index(val_t p0){
@@ -4873,27 +5104,27 @@ val_t lexer___TEndString___parser_index(val_t p0){
   val_t tmp;
   fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
   fra.me.file = LOCATE_lexer;
-  fra.me.line = 1136;
+  fra.me.line = 1163;
   fra.me.meth = LOCATE_lexer___TEndString___parser_index;
   fra.me.has_broke = 0;
   fra.me.REG_size = 1;
   fra.me.REG[0] = NIT_NULL;
   fra.me.REG[0] = p0;
-  REGB0 = TAG_Int(86);
-  /* ./parser//lexer.nit:1138 */
+  /* ./parser//lexer.nit:1165 */
+  REGB0 = TAG_Int(88);
   goto label1;
   label1: while(0);
   stack_frame_head = fra.me.prev;
   return REGB0;
 }
 void lexer___TEndString___init_tk(val_t p0, val_t p1, val_t p2, int* init_table){
-  int itpos86 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_TEndString].i;
+  int itpos88 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_TEndString].i;
   struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
   val_t tmp;
-  if (init_table[itpos86]) return;
+  if (init_table[itpos88]) return;
   fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
   fra.me.file = LOCATE_lexer;
-  fra.me.line = 1141;
+  fra.me.line = 1168;
   fra.me.meth = LOCATE_lexer___TEndString___init_tk;
   fra.me.has_broke = 0;
   fra.me.REG_size = 3;
@@ -4903,12 +5134,12 @@ void lexer___TEndString___init_tk(val_t p0, val_t p1, val_t p2, int* init_table)
   fra.me.REG[0] = p0;
   fra.me.REG[1] = p1;
   fra.me.REG[2] = p2;
-  /* ./parser//lexer.nit:1143 */
+  /* ./parser//lexer.nit:1170 */
   ATTR_lexer___Token____text(fra.me.REG[0]) = fra.me.REG[1];
-  /* ./parser//lexer.nit:1144 */
+  /* ./parser//lexer.nit:1171 */
   ATTR_parser_nodes___ANode____location(fra.me.REG[0]) = fra.me.REG[2];
   stack_frame_head = fra.me.prev;
-  init_table[itpos86] = 1;
+  init_table[itpos88] = 1;
   return;
 }
 val_t lexer___EOF___parser_index(val_t p0){
@@ -4917,29 +5148,29 @@ val_t lexer___EOF___parser_index(val_t p0){
   val_t tmp;
   fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
   fra.me.file = LOCATE_lexer;
-  fra.me.line = 1150;
+  fra.me.line = 1177;
   fra.me.meth = LOCATE_lexer___EOF___parser_index;
   fra.me.has_broke = 0;
   fra.me.REG_size = 1;
   fra.me.REG[0] = NIT_NULL;
   fra.me.REG[0] = p0;
-  REGB0 = TAG_Int(87);
-  /* ./parser//lexer.nit:1152 */
+  /* ./parser//lexer.nit:1179 */
+  REGB0 = TAG_Int(89);
   goto label1;
   label1: while(0);
   stack_frame_head = fra.me.prev;
   return REGB0;
 }
 void lexer___EOF___init(val_t p0, val_t p1, int* init_table){
-  int itpos87 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_EOF].i;
+  int itpos89 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_EOF].i;
   struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
   val_t REGB0;
   val_t tmp;
   static val_t once_value_1; /* Once value */
-  if (init_table[itpos87]) return;
+  if (init_table[itpos89]) return;
   fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
   fra.me.file = LOCATE_lexer;
-  fra.me.line = 1155;
+  fra.me.line = 1182;
   fra.me.meth = LOCATE_lexer___EOF___init;
   fra.me.has_broke = 0;
   fra.me.REG_size = 3;
@@ -4948,7 +5179,7 @@ void lexer___EOF___init(val_t p0, val_t p1, int* init_table){
   fra.me.REG[2] = NIT_NULL;
   fra.me.REG[0] = p0;
   fra.me.REG[1] = p1;
-  /* ./parser//lexer.nit:1157 */
+  /* ./parser//lexer.nit:1184 */
   if (!once_value_1) {
     fra.me.REG[2] = BOX_NativeString("");
     REGB0 = TAG_Int(0);
@@ -4956,11 +5187,12 @@ void lexer___EOF___init(val_t p0, val_t p1, int* init_table){
     once_value_1 = fra.me.REG[2];
     register_static_object(&once_value_1);
   } else fra.me.REG[2] = once_value_1;
+  fra.me.REG[2] = fra.me.REG[2];
   ATTR_lexer___Token____text(fra.me.REG[0]) = fra.me.REG[2];
-  /* ./parser//lexer.nit:1158 */
+  /* ./parser//lexer.nit:1185 */
   ATTR_parser_nodes___ANode____location(fra.me.REG[0]) = fra.me.REG[1];
   stack_frame_head = fra.me.prev;
-  init_table[itpos87] = 1;
+  init_table[itpos89] = 1;
   return;
 }
 val_t lexer___AError___message(val_t p0){
@@ -4969,50 +5201,30 @@ val_t lexer___AError___message(val_t p0){
   val_t tmp;
   fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
   fra.me.file = LOCATE_lexer;
-  fra.me.line = 1163;
+  fra.me.line = 1190;
   fra.me.meth = LOCATE_lexer___AError___message;
   fra.me.has_broke = 0;
   fra.me.REG_size = 1;
   fra.me.REG[0] = NIT_NULL;
   fra.me.REG[0] = p0;
+  /* ./parser//lexer.nit:1190 */
   REGB0 = TAG_Bool(ATTR_lexer___AError____message(fra.me.REG[0])!=NIT_NULL);
-  /* ./parser//lexer.nit:1163 */
   if (UNTAG_Bool(REGB0)) {
   } else {
-    fprintf(stderr, "Uninitialized attribute %s", "_message");
-    fprintf(stderr, " (%s:%d)\n", LOCATE_lexer, 1163);
-    nit_exit(1);
+    nit_abort("Uninitialized attribute %s", "_message", LOCATE_lexer, 1190);
   }
   fra.me.REG[0] = ATTR_lexer___AError____message(fra.me.REG[0]);
   stack_frame_head = fra.me.prev;
   return fra.me.REG[0];
 }
-void lexer___AError___message__eq(val_t p0, val_t p1){
-  struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
-  val_t tmp;
-  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
-  fra.me.file = LOCATE_lexer;
-  fra.me.line = 1163;
-  fra.me.meth = LOCATE_lexer___AError___message__eq;
-  fra.me.has_broke = 0;
-  fra.me.REG_size = 2;
-  fra.me.REG[0] = NIT_NULL;
-  fra.me.REG[1] = NIT_NULL;
-  fra.me.REG[0] = p0;
-  fra.me.REG[1] = p1;
-  /* ./parser//lexer.nit:1163 */
-  ATTR_lexer___AError____message(fra.me.REG[0]) = fra.me.REG[1];
-  stack_frame_head = fra.me.prev;
-  return;
-}
 void lexer___AError___init_error(val_t p0, val_t p1, val_t p2, int* init_table){
-  int itpos88 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_AError].i;
+  int itpos90 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_AError].i;
   struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
   val_t tmp;
-  if (init_table[itpos88]) return;
+  if (init_table[itpos90]) return;
   fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
   fra.me.file = LOCATE_lexer;
-  fra.me.line = 1165;
+  fra.me.line = 1192;
   fra.me.meth = LOCATE_lexer___AError___init_error;
   fra.me.has_broke = 0;
   fra.me.REG_size = 3;
@@ -5022,12 +5234,12 @@ void lexer___AError___init_error(val_t p0, val_t p1, val_t p2, int* init_table){
   fra.me.REG[0] = p0;
   fra.me.REG[1] = p1;
   fra.me.REG[2] = p2;
-  /* ./parser//lexer.nit:1167 */
+  /* ./parser//lexer.nit:1194 */
   CALL_lexer___EOF___init(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[2], init_table);
-  /* ./parser//lexer.nit:1168 */
+  /* ./parser//lexer.nit:1195 */
   ATTR_lexer___AError____message(fra.me.REG[0]) = fra.me.REG[1];
   stack_frame_head = fra.me.prev;
-  init_table[itpos88] = 1;
+  init_table[itpos90] = 1;
   return;
 }
 val_t lexer___Lexer___filename(val_t p0){
@@ -5036,19 +5248,17 @@ val_t lexer___Lexer___filename(val_t p0){
   val_t tmp;
   fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
   fra.me.file = LOCATE_lexer;
-  fra.me.line = 1182;
+  fra.me.line = 1210;
   fra.me.meth = LOCATE_lexer___Lexer___filename;
   fra.me.has_broke = 0;
   fra.me.REG_size = 1;
   fra.me.REG[0] = NIT_NULL;
   fra.me.REG[0] = p0;
+  /* ./parser//lexer.nit:1210 */
   REGB0 = TAG_Bool(ATTR_lexer___Lexer____filename(fra.me.REG[0])!=NIT_NULL);
-  /* ./parser//lexer.nit:1182 */
   if (UNTAG_Bool(REGB0)) {
   } else {
-    fprintf(stderr, "Uninitialized attribute %s", "_filename");
-    fprintf(stderr, " (%s:%d)\n", LOCATE_lexer, 1182);
-    nit_exit(1);
+    nit_abort("Uninitialized attribute %s", "_filename", LOCATE_lexer, 1210);
   }
   fra.me.REG[0] = ATTR_lexer___Lexer____filename(fra.me.REG[0]);
   stack_frame_head = fra.me.prev;
@@ -5060,28 +5270,28 @@ val_t lexer___Lexer___state_initial(val_t p0){
   val_t tmp;
   fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
   fra.me.file = LOCATE_lexer;
-  fra.me.line = 1209;
+  fra.me.line = 1237;
   fra.me.meth = LOCATE_lexer___Lexer___state_initial;
   fra.me.has_broke = 0;
   fra.me.REG_size = 1;
   fra.me.REG[0] = NIT_NULL;
   fra.me.REG[0] = p0;
+  /* ./parser//lexer.nit:1238 */
   REGB0 = TAG_Int(0);
-  /* ./parser//lexer.nit:1210 */
   goto label1;
   label1: while(0);
   stack_frame_head = fra.me.prev;
   return REGB0;
 }
 void lexer___Lexer___init(val_t p0, val_t p1, val_t p2, int* init_table){
-  int itpos89 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_Lexer].i;
+  int itpos91 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_Lexer].i;
   struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
   val_t REGB0;
   val_t tmp;
-  if (init_table[itpos89]) return;
+  if (init_table[itpos91]) return;
   fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
   fra.me.file = LOCATE_lexer;
-  fra.me.line = 1212;
+  fra.me.line = 1240;
   fra.me.meth = LOCATE_lexer___Lexer___init;
   fra.me.has_broke = 0;
   fra.me.REG_size = 3;
@@ -5091,26 +5301,24 @@ void lexer___Lexer___init(val_t p0, val_t p1, val_t p2, int* init_table){
   fra.me.REG[0] = p0;
   fra.me.REG[1] = p1;
   fra.me.REG[2] = p2;
-  /* ./parser//lexer.nit:1215 */
+  /* ./parser//lexer.nit:1243 */
   ATTR_lexer___Lexer____filename(fra.me.REG[0]) = fra.me.REG[2];
+  /* ./parser//lexer.nit:1244 */
   fra.me.REG[2] = NEW_Buffer_string___Buffer___init();
-  /* ./parser//lexer.nit:1216 */
   ATTR_lexer___Lexer____text(fra.me.REG[0]) = fra.me.REG[2];
-  /* ./parser//lexer.nit:1217 */
+  /* ./parser//lexer.nit:1245 */
   ATTR_lexer___Lexer____stream(fra.me.REG[0]) = fra.me.REG[1];
+  /* ./parser//lexer.nit:1246 */
   REGB0 = TAG_Int(1);
+  /* ./../lib/standard//kernel.nit:216 */
   REGB0 = TAG_Int(-UNTAG_Int(REGB0));
-  /* ./parser//lexer.nit:1218 */
+  /* ./parser//lexer.nit:1246 */
   ATTR_lexer___Lexer____stream_pos(fra.me.REG[0]) = REGB0;
+  /* ./parser//lexer.nit:1247 */
   fra.me.REG[1] = NEW_Buffer_string___Buffer___init();
-  /* ./parser//lexer.nit:1219 */
   ATTR_lexer___Lexer____stream_buf(fra.me.REG[0]) = fra.me.REG[1];
-  /* ./parser//lexer.nit:1220 */
-  CALL_lexer___Lexer___build_goto_table(fra.me.REG[0])(fra.me.REG[0]);
-  /* ./parser//lexer.nit:1221 */
-  CALL_lexer___Lexer___build_accept_table(fra.me.REG[0])(fra.me.REG[0]);
   stack_frame_head = fra.me.prev;
-  init_table[itpos89] = 1;
+  init_table[itpos91] = 1;
   return;
 }
 val_t lexer___Lexer___peek(val_t p0){
@@ -5120,14 +5328,14 @@ val_t lexer___Lexer___peek(val_t p0){
   val_t tmp;
   fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
   fra.me.file = LOCATE_lexer;
-  fra.me.line = 1224;
+  fra.me.line = 1250;
   fra.me.meth = LOCATE_lexer___Lexer___peek;
   fra.me.has_broke = 0;
   fra.me.REG_size = 2;
   fra.me.REG[0] = NIT_NULL;
   fra.me.REG[1] = NIT_NULL;
   fra.me.REG[0] = p0;
-  /* ./parser//lexer.nit:1227 */
+  /* ./parser//lexer.nit:1253 */
   while(1) {
     fra.me.REG[1] = ATTR_lexer___Lexer____token(fra.me.REG[0]);
     REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
@@ -5143,23 +5351,21 @@ val_t lexer___Lexer___peek(val_t p0){
       }
     }
     if (UNTAG_Bool(REGB0)) {
+      /* ./parser//lexer.nit:1254 */
       fra.me.REG[1] = CALL_lexer___Lexer___get_token(fra.me.REG[0])(fra.me.REG[0]);
-      /* ./parser//lexer.nit:1228 */
       ATTR_lexer___Lexer____token(fra.me.REG[0]) = fra.me.REG[1];
     } else {
-      /* ./parser//lexer.nit:1227 */
+      /* ./parser//lexer.nit:1253 */
       goto label1;
     }
   }
   label1: while(0);
+  /* ./parser//lexer.nit:1256 */
   fra.me.REG[0] = ATTR_lexer___Lexer____token(fra.me.REG[0]);
   REGB0 = TAG_Bool(fra.me.REG[0]!=NIT_NULL);
-  /* ./parser//lexer.nit:1230 */
   if (UNTAG_Bool(REGB0)) {
   } else {
-    fprintf(stderr, "Cast failed");
-    fprintf(stderr, " (%s:%d)\n", LOCATE_lexer, 1230);
-    nit_exit(1);
+    nit_abort("Cast failed", NULL, LOCATE_lexer, 1256);
   }
   goto label2;
   label2: while(0);
@@ -5173,7 +5379,7 @@ val_t lexer___Lexer___next(val_t p0){
   val_t tmp;
   fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
   fra.me.file = LOCATE_lexer;
-  fra.me.line = 1233;
+  fra.me.line = 1259;
   fra.me.meth = LOCATE_lexer___Lexer___next;
   fra.me.has_broke = 0;
   fra.me.REG_size = 3;
@@ -5181,8 +5387,9 @@ val_t lexer___Lexer___next(val_t p0){
   fra.me.REG[1] = NIT_NULL;
   fra.me.REG[2] = NIT_NULL;
   fra.me.REG[0] = p0;
+  /* ./parser//lexer.nit:1262 */
   fra.me.REG[1] = ATTR_lexer___Lexer____token(fra.me.REG[0]);
-  /* ./parser//lexer.nit:1237 */
+  /* ./parser//lexer.nit:1263 */
   while(1) {
     REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
     if (UNTAG_Bool(REGB0)) {
@@ -5197,24 +5404,22 @@ val_t lexer___Lexer___next(val_t p0){
       }
     }
     if (UNTAG_Bool(REGB0)) {
+      /* ./parser//lexer.nit:1264 */
       fra.me.REG[2] = CALL_lexer___Lexer___get_token(fra.me.REG[0])(fra.me.REG[0]);
       fra.me.REG[1] = fra.me.REG[2];
-    /* ./parser//lexer.nit:1238 */
     } else {
-      /* ./parser//lexer.nit:1237 */
+      /* ./parser//lexer.nit:1263 */
       goto label1;
     }
   }
   label1: while(0);
-  /* ./parser//lexer.nit:1240 */
+  /* ./parser//lexer.nit:1266 */
   ATTR_lexer___Lexer____token(fra.me.REG[0]) = NIT_NULL;
+  /* ./parser//lexer.nit:1267 */
   REGB0 = TAG_Bool(fra.me.REG[1]!=NIT_NULL);
-  /* ./parser//lexer.nit:1241 */
   if (UNTAG_Bool(REGB0)) {
   } else {
-    fprintf(stderr, "Cast failed");
-    fprintf(stderr, " (%s:%d)\n", LOCATE_lexer, 1241);
-    nit_exit(1);
+    nit_abort("Cast failed", NULL, LOCATE_lexer, 1267);
   }
   goto label2;
   label2: while(0);
@@ -5222,7 +5427,7 @@ val_t lexer___Lexer___next(val_t p0){
   return fra.me.REG[1];
 }
 val_t lexer___Lexer___get_token(val_t p0){
-  struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
+  struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
   val_t REGB0;
   val_t REGB1;
   val_t REGB2;
@@ -5240,13610 +5445,2164 @@ val_t lexer___Lexer___get_token(val_t p0){
   val_t REGB14;
   val_t REGB15;
   val_t REGB16;
+  val_t REGB17;
   val_t tmp;
-            static val_t once_value_9; /* Once value */
-            static val_t once_value_10; /* Once value */
+          static val_t once_value_4; /* Once value */
+          static val_t once_value_5; /* Once value */
   fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
   fra.me.file = LOCATE_lexer;
-  fra.me.line = 1244;
+  fra.me.line = 1270;
   fra.me.meth = LOCATE_lexer___Lexer___get_token;
   fra.me.has_broke = 0;
-  fra.me.REG_size = 8;
+  fra.me.REG_size = 6;
   fra.me.REG[0] = NIT_NULL;
   fra.me.REG[1] = NIT_NULL;
   fra.me.REG[2] = NIT_NULL;
   fra.me.REG[3] = NIT_NULL;
   fra.me.REG[4] = NIT_NULL;
   fra.me.REG[5] = NIT_NULL;
-  fra.me.REG[6] = NIT_NULL;
-  fra.me.REG[7] = NIT_NULL;
   fra.me.REG[0] = p0;
+  /* ./parser//lexer.nit:1273 */
   REGB0 = TAG_Int(0);
+  /* ./parser//lexer.nit:1275 */
   REGB1 = TAG_Bool(ATTR_lexer___Lexer____pos(fra.me.REG[0])!=NIT_NULL);
-  /* ./parser//lexer.nit:1249 */
   if (UNTAG_Bool(REGB1)) {
   } else {
-    fprintf(stderr, "Uninitialized attribute %s", "_pos");
-    fprintf(stderr, " (%s:%d)\n", LOCATE_lexer, 1249);
-    nit_exit(1);
+    nit_abort("Uninitialized attribute %s", "_pos", LOCATE_lexer, 1275);
   }
   REGB1 = ATTR_lexer___Lexer____pos(fra.me.REG[0]);
+  /* ./parser//lexer.nit:1276 */
   REGB2 = TAG_Bool(ATTR_lexer___Lexer____line(fra.me.REG[0])!=NIT_NULL);
-  /* ./parser//lexer.nit:1250 */
   if (UNTAG_Bool(REGB2)) {
   } else {
-    fprintf(stderr, "Uninitialized attribute %s", "_line");
-    fprintf(stderr, " (%s:%d)\n", LOCATE_lexer, 1250);
-    nit_exit(1);
+    nit_abort("Uninitialized attribute %s", "_line", LOCATE_lexer, 1276);
   }
   REGB2 = ATTR_lexer___Lexer____line(fra.me.REG[0]);
+  /* ./parser//lexer.nit:1278 */
   REGB3 = TAG_Int(1);
+  /* ./../lib/standard//kernel.nit:216 */
   REGB3 = TAG_Int(-UNTAG_Int(REGB3));
+  /* ./parser//lexer.nit:1279 */
   REGB4 = TAG_Int(1);
+  /* ./../lib/standard//kernel.nit:216 */
   REGB4 = TAG_Int(-UNTAG_Int(REGB4));
+  /* ./parser//lexer.nit:1280 */
   REGB5 = TAG_Int(1);
+  /* ./../lib/standard//kernel.nit:216 */
   REGB5 = TAG_Int(-UNTAG_Int(REGB5));
+  /* ./parser//lexer.nit:1281 */
   REGB6 = TAG_Int(1);
+  /* ./../lib/standard//kernel.nit:216 */
   REGB6 = TAG_Int(-UNTAG_Int(REGB6));
+  /* ./parser//lexer.nit:1282 */
   REGB7 = TAG_Int(1);
+  /* ./../lib/standard//kernel.nit:216 */
   REGB7 = TAG_Int(-UNTAG_Int(REGB7));
-  REGB8 = TAG_Bool(ATTR_lexer___Lexer____goto_table(fra.me.REG[0])!=NIT_NULL);
-  /* ./parser//lexer.nit:1258 */
-  if (UNTAG_Bool(REGB8)) {
-  } else {
-    fprintf(stderr, "Uninitialized attribute %s", "_goto_table");
-    fprintf(stderr, " (%s:%d)\n", LOCATE_lexer, 1258);
-    nit_exit(1);
-  }
-  fra.me.REG[1] = ATTR_lexer___Lexer____goto_table(fra.me.REG[0]);
-  REGB8 = TAG_Bool(ATTR_lexer___Lexer____state(fra.me.REG[0])!=NIT_NULL);
+  /* ./parser//lexer.nit:1284 */
+  REGB8 = TAG_Bool(ATTR_lexer___Lexer____text(fra.me.REG[0])!=NIT_NULL);
   if (UNTAG_Bool(REGB8)) {
   } else {
-    fprintf(stderr, "Uninitialized attribute %s", "_state");
-    fprintf(stderr, " (%s:%d)\n", LOCATE_lexer, 1258);
-    nit_exit(1);
+    nit_abort("Uninitialized attribute %s", "_text", LOCATE_lexer, 1284);
   }
-  REGB8 = ATTR_lexer___Lexer____state(fra.me.REG[0]);
-  REGB9 = TAG_Int(0);
-  REGB9 = TAG_Bool(UNTAG_Int(REGB8)>=UNTAG_Int(REGB9));
-  /* ./../lib/standard//collection//array.nit:233 */
-  if (UNTAG_Bool(REGB9)) {
-    REGB9 = TAG_Bool(ATTR_array___AbstractArrayRead____length(fra.me.REG[1])!=NIT_NULL);
-    if (UNTAG_Bool(REGB9)) {
+  fra.me.REG[1] = ATTR_lexer___Lexer____text(fra.me.REG[0]);
+  /* ./parser//lexer.nit:1285 */
+  CALL_abstract_collection___RemovableCollection___clear(fra.me.REG[1])(fra.me.REG[1]);
+  /* ./parser//lexer.nit:1287 */
+  while(1) {
+    /* ./parser//lexer.nit:1288 */
+    REGB8 = CALL_lexer___Lexer___get_char(fra.me.REG[0])(fra.me.REG[0]);
+    /* ./parser//lexer.nit:1290 */
+    REGB9 = TAG_Int(1);
+    /* ./../lib/standard//kernel.nit:216 */
+    REGB9 = TAG_Int(-UNTAG_Int(REGB9));
+    /* ./parser//lexer.nit:1290 */
+    REGB10 = TAG_Bool(IS_EQUAL_OO(REGB8,REGB9));
+    if (UNTAG_Bool(REGB10)) {
     } else {
-      fprintf(stderr, "Uninitialized attribute %s", "_length");
-      fprintf(stderr, " (%s:%d)\n", LOCATE_array, 233);
-      nit_exit(1);
+      /* ./../lib/standard//kernel.nit:207 */
+      REGB9 = TAG_Bool((REGB8)==(REGB9));
+      /* ./parser//lexer.nit:1290 */
+      REGB10 = REGB9;
     }
-    REGB9 = ATTR_array___AbstractArrayRead____length(fra.me.REG[1]);
-    REGB9 = TAG_Bool(UNTAG_Int(REGB8)<UNTAG_Int(REGB9));
-  /* ./../lib/standard//collection//array.nit:233 */
-  } else {
-    REGB10 = TAG_Bool(false);
-    REGB9 = REGB10;
-  }
-  if (UNTAG_Bool(REGB9)) {
-  } else {
-    fprintf(stderr, "Assert %s  failed", "'index'");
-    fprintf(stderr, " (%s:%d)\n", LOCATE_array, 233);
-    nit_exit(1);
-  }
-  fra.me.REG[1] = ATTR_array___Array____items(fra.me.REG[1]);
-  REGB9 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
-  /* ./../lib/standard//collection//array.nit:234 */
-  if (UNTAG_Bool(REGB9)) {
-    fprintf(stderr, "Reciever is null");
-    fprintf(stderr, " (%s:%d)\n", LOCATE_array, 234);
-    nit_exit(1);
-  }
-  fra.me.REG[1] = ((Nit_NativeArray)fra.me.REG[1])->val[UNTAG_Int(REGB8)];
-  /* ./../lib/standard//collection//array.nit:234 */
-  goto label1;
-  label1: while(0);
-  REGB8 = TAG_Bool(ATTR_lexer___Lexer____accept_table(fra.me.REG[0])!=NIT_NULL);
-  /* ./parser//lexer.nit:1259 */
-  if (UNTAG_Bool(REGB8)) {
-  } else {
-    fprintf(stderr, "Uninitialized attribute %s", "_accept_table");
-    fprintf(stderr, " (%s:%d)\n", LOCATE_lexer, 1259);
-    nit_exit(1);
-  }
-  fra.me.REG[2] = ATTR_lexer___Lexer____accept_table(fra.me.REG[0]);
-  REGB8 = TAG_Bool(ATTR_lexer___Lexer____state(fra.me.REG[0])!=NIT_NULL);
-  if (UNTAG_Bool(REGB8)) {
-  } else {
-    fprintf(stderr, "Uninitialized attribute %s", "_state");
-    fprintf(stderr, " (%s:%d)\n", LOCATE_lexer, 1259);
-    nit_exit(1);
-  }
-  REGB8 = ATTR_lexer___Lexer____state(fra.me.REG[0]);
-  REGB9 = TAG_Int(0);
-  REGB9 = TAG_Bool(UNTAG_Int(REGB8)>=UNTAG_Int(REGB9));
-  /* ./../lib/standard//collection//array.nit:233 */
-  if (UNTAG_Bool(REGB9)) {
-    REGB9 = TAG_Bool(ATTR_array___AbstractArrayRead____length(fra.me.REG[2])!=NIT_NULL);
-    if (UNTAG_Bool(REGB9)) {
-    } else {
-      fprintf(stderr, "Uninitialized attribute %s", "_length");
-      fprintf(stderr, " (%s:%d)\n", LOCATE_array, 233);
-      nit_exit(1);
-    }
-    REGB9 = ATTR_array___AbstractArrayRead____length(fra.me.REG[2]);
-    REGB9 = TAG_Bool(UNTAG_Int(REGB8)<UNTAG_Int(REGB9));
-  /* ./../lib/standard//collection//array.nit:233 */
-  } else {
-    REGB10 = TAG_Bool(false);
-    REGB9 = REGB10;
-  }
-  if (UNTAG_Bool(REGB9)) {
-  } else {
-    fprintf(stderr, "Assert %s  failed", "'index'");
-    fprintf(stderr, " (%s:%d)\n", LOCATE_array, 233);
-    nit_exit(1);
-  }
-  fra.me.REG[2] = ATTR_array___Array____items(fra.me.REG[2]);
-  REGB9 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
-  /* ./../lib/standard//collection//array.nit:234 */
-  if (UNTAG_Bool(REGB9)) {
-    fprintf(stderr, "Reciever is null");
-    fprintf(stderr, " (%s:%d)\n", LOCATE_array, 234);
-    nit_exit(1);
-  }
-  fra.me.REG[2] = ((Nit_NativeArray)fra.me.REG[2])->val[UNTAG_Int(REGB8)];
-  /* ./../lib/standard//collection//array.nit:234 */
-  goto label2;
-  label2: while(0);
-  REGB8 = TAG_Bool(ATTR_lexer___Lexer____text(fra.me.REG[0])!=NIT_NULL);
-  /* ./parser//lexer.nit:1260 */
-  if (UNTAG_Bool(REGB8)) {
-  } else {
-    fprintf(stderr, "Uninitialized attribute %s", "_text");
-    fprintf(stderr, " (%s:%d)\n", LOCATE_lexer, 1260);
-    nit_exit(1);
-  }
-  fra.me.REG[3] = ATTR_lexer___Lexer____text(fra.me.REG[0]);
-  /* ./parser//lexer.nit:1261 */
-  CALL_abstract_collection___RemovableCollection___clear(fra.me.REG[3])(fra.me.REG[3]);
-  /* ./parser//lexer.nit:1263 */
-  while(1) {
-    REGB8 = TAG_Bool(true);
-    if (UNTAG_Bool(REGB8)) {
-      REGB8 = CALL_lexer___Lexer___get_char(fra.me.REG[0])(fra.me.REG[0]);
-      REGB9 = TAG_Int(1);
-      REGB9 = TAG_Int(-UNTAG_Int(REGB9));
-      REGB10 = TAG_Bool(IS_EQUAL_OO(REGB8,REGB9));
-      /* ./parser//lexer.nit:1266 */
+    REGB10 = TAG_Bool(!UNTAG_Bool(REGB10));
+    if (UNTAG_Bool(REGB10)) {
+      /* ./parser//lexer.nit:1291 */
+      REGB10 = TAG_Bool(ATTR_lexer___Lexer____cr(fra.me.REG[0])!=NIT_NULL);
       if (UNTAG_Bool(REGB10)) {
       } else {
-        REGB9 = TAG_Bool((REGB8)==(REGB9));
-        REGB10 = REGB9;
-      /* ./parser//lexer.nit:1266 */
+        nit_abort("Uninitialized attribute %s", "_cr", LOCATE_lexer, 1291);
       }
-      REGB10 = TAG_Bool(!UNTAG_Bool(REGB10));
-      if (UNTAG_Bool(REGB10)) {
-        REGB10 = TAG_Bool(ATTR_lexer___Lexer____cr(fra.me.REG[0])!=NIT_NULL);
-        /* ./parser//lexer.nit:1267 */
+      REGB10 = ATTR_lexer___Lexer____cr(fra.me.REG[0]);
+      /* ./parser//lexer.nit:1292 */
+      REGB9 = TAG_Bool(ATTR_lexer___Lexer____line(fra.me.REG[0])!=NIT_NULL);
+      if (UNTAG_Bool(REGB9)) {
+      } else {
+        nit_abort("Uninitialized attribute %s", "_line", LOCATE_lexer, 1292);
+      }
+      REGB9 = ATTR_lexer___Lexer____line(fra.me.REG[0]);
+      /* ./parser//lexer.nit:1293 */
+      REGB11 = TAG_Bool(ATTR_lexer___Lexer____pos(fra.me.REG[0])!=NIT_NULL);
+      if (UNTAG_Bool(REGB11)) {
+      } else {
+        nit_abort("Uninitialized attribute %s", "_pos", LOCATE_lexer, 1293);
+      }
+      REGB11 = ATTR_lexer___Lexer____pos(fra.me.REG[0]);
+      /* ./parser//lexer.nit:1294 */
+      REGB12 = TAG_Int(10);
+      REGB13 = TAG_Bool(IS_EQUAL_OO(REGB8,REGB12));
+      if (UNTAG_Bool(REGB13)) {
+      } else {
+        /* ./../lib/standard//kernel.nit:207 */
+        REGB12 = TAG_Bool((REGB8)==(REGB12));
+        /* ./parser//lexer.nit:1294 */
+        REGB13 = REGB12;
+      }
+      if (UNTAG_Bool(REGB13)) {
+        /* ./parser//lexer.nit:1295 */
         if (UNTAG_Bool(REGB10)) {
+          /* ./parser//lexer.nit:1296 */
+          REGB13 = TAG_Bool(false);
+          REGB10 = REGB13;
         } else {
-          fprintf(stderr, "Uninitialized attribute %s", "_cr");
-          fprintf(stderr, " (%s:%d)\n", LOCATE_lexer, 1267);
-          nit_exit(1);
-        }
-        REGB10 = ATTR_lexer___Lexer____cr(fra.me.REG[0]);
-        REGB9 = TAG_Bool(ATTR_lexer___Lexer____line(fra.me.REG[0])!=NIT_NULL);
-        /* ./parser//lexer.nit:1268 */
-        if (UNTAG_Bool(REGB9)) {
-        } else {
-          fprintf(stderr, "Uninitialized attribute %s", "_line");
-          fprintf(stderr, " (%s:%d)\n", LOCATE_lexer, 1268);
-          nit_exit(1);
+          /* ./parser//lexer.nit:1298 */
+          REGB13 = TAG_Int(1);
+          /* ./../lib/standard//kernel.nit:215 */
+          REGB13 = TAG_Int(UNTAG_Int(REGB9)+UNTAG_Int(REGB13));
+          /* ./parser//lexer.nit:1298 */
+          REGB9 = REGB13;
+          /* ./parser//lexer.nit:1299 */
+          REGB13 = TAG_Int(0);
+          REGB11 = REGB13;
         }
-        REGB9 = ATTR_lexer___Lexer____line(fra.me.REG[0]);
-        REGB11 = TAG_Bool(ATTR_lexer___Lexer____pos(fra.me.REG[0])!=NIT_NULL);
-        /* ./parser//lexer.nit:1269 */
-        if (UNTAG_Bool(REGB11)) {
+      } else {
+        /* ./parser//lexer.nit:1301 */
+        REGB13 = TAG_Int(13);
+        REGB12 = TAG_Bool(IS_EQUAL_OO(REGB8,REGB13));
+        if (UNTAG_Bool(REGB12)) {
         } else {
-          fprintf(stderr, "Uninitialized attribute %s", "_pos");
-          fprintf(stderr, " (%s:%d)\n", LOCATE_lexer, 1269);
-          nit_exit(1);
+          /* ./../lib/standard//kernel.nit:207 */
+          REGB13 = TAG_Bool((REGB8)==(REGB13));
+          /* ./parser//lexer.nit:1301 */
+          REGB12 = REGB13;
         }
-        REGB11 = ATTR_lexer___Lexer____pos(fra.me.REG[0]);
-        REGB12 = TAG_Int(10);
-        REGB13 = TAG_Bool(IS_EQUAL_OO(REGB8,REGB12));
-        /* ./parser//lexer.nit:1270 */
-        if (UNTAG_Bool(REGB13)) {
+        if (UNTAG_Bool(REGB12)) {
+          /* ./parser//lexer.nit:1302 */
+          REGB12 = TAG_Int(1);
+          /* ./../lib/standard//kernel.nit:215 */
+          REGB12 = TAG_Int(UNTAG_Int(REGB9)+UNTAG_Int(REGB12));
+          /* ./parser//lexer.nit:1302 */
+          REGB9 = REGB12;
+          /* ./parser//lexer.nit:1303 */
+          REGB12 = TAG_Int(0);
+          REGB11 = REGB12;
+          /* ./parser//lexer.nit:1304 */
+          REGB12 = TAG_Bool(true);
+          REGB10 = REGB12;
         } else {
-          REGB12 = TAG_Bool((REGB8)==(REGB12));
-          REGB13 = REGB12;
-        /* ./parser//lexer.nit:1270 */
+          /* ./parser//lexer.nit:1306 */
+          REGB12 = TAG_Int(1);
+          /* ./../lib/standard//kernel.nit:215 */
+          REGB12 = TAG_Int(UNTAG_Int(REGB11)+UNTAG_Int(REGB12));
+          /* ./parser//lexer.nit:1306 */
+          REGB11 = REGB12;
+          /* ./parser//lexer.nit:1307 */
+          REGB12 = TAG_Bool(false);
+          REGB10 = REGB12;
         }
+      }
+      /* ./../lib/standard//kernel.nit:277 */
+      REGB12 = TAG_Char(UNTAG_Int(REGB8));
+      /* ./parser//lexer.nit:1310 */
+      CALL_abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], REGB12);
+      /* ./parser//lexer.nit:1312 */
+      while(1) {
+        /* ./parser//lexer.nit:1313 */
+        REGB12 = REGB0;
+        /* ./parser//lexer.nit:1314 */
+        REGB13 = TAG_Int(1);
+        /* ./../lib/standard//kernel.nit:216 */
+        REGB13 = TAG_Int(-UNTAG_Int(REGB13));
+        /* ./../lib/standard//kernel.nit:212 */
+        REGB13 = TAG_Bool(UNTAG_Int(REGB0)<UNTAG_Int(REGB13));
+        /* ./parser//lexer.nit:1314 */
         if (UNTAG_Bool(REGB13)) {
-          /* ./parser//lexer.nit:1271 */
-          if (UNTAG_Bool(REGB10)) {
-            REGB13 = TAG_Bool(false);
-            REGB10 = REGB13;
-          /* ./parser//lexer.nit:1272 */
-          } else {
-            REGB13 = TAG_Int(1);
-            REGB13 = TAG_Int(UNTAG_Int(REGB9)+UNTAG_Int(REGB13));
-            REGB9 = REGB13;
-            REGB13 = TAG_Int(0);
-            REGB11 = REGB13;
-          /* ./parser//lexer.nit:1275 */
-          }
-        } else {
-          REGB13 = TAG_Int(13);
-          REGB12 = TAG_Bool(IS_EQUAL_OO(REGB8,REGB13));
-          /* ./parser//lexer.nit:1277 */
-          if (UNTAG_Bool(REGB12)) {
-          } else {
-            REGB13 = TAG_Bool((REGB8)==(REGB13));
-            REGB12 = REGB13;
-          /* ./parser//lexer.nit:1277 */
-          }
-          if (UNTAG_Bool(REGB12)) {
-            REGB12 = TAG_Int(1);
-            REGB12 = TAG_Int(UNTAG_Int(REGB9)+UNTAG_Int(REGB12));
-            REGB9 = REGB12;
-            REGB12 = TAG_Int(0);
-            REGB11 = REGB12;
-            REGB12 = TAG_Bool(true);
-            REGB10 = REGB12;
-          /* ./parser//lexer.nit:1280 */
-          } else {
-            REGB12 = TAG_Int(1);
-            REGB12 = TAG_Int(UNTAG_Int(REGB11)+UNTAG_Int(REGB12));
-            REGB11 = REGB12;
-            REGB12 = TAG_Bool(false);
-            REGB10 = REGB12;
-          /* ./parser//lexer.nit:1283 */
-          }
-        }
-        REGB12 = TAG_Char(UNTAG_Int(REGB8));
-        /* ./parser//lexer.nit:1286 */
-        CALL_abstract_collection___SimpleCollection___add(fra.me.REG[3])(fra.me.REG[3], REGB12);
-        REGB12 = TAG_Bool(true);
-        /* ./parser//lexer.nit:1289 */
-        while(1) {
-          REGB13 = TAG_Int(1);
+          /* ./parser//lexer.nit:1315 */
+          REGB13 = TAG_Int(2);
+          /* ./../lib/standard//kernel.nit:216 */
           REGB13 = TAG_Int(-UNTAG_Int(REGB13));
-          REGB13 = TAG_Bool(UNTAG_Int(REGB0)<UNTAG_Int(REGB13));
-          /* ./parser//lexer.nit:1289 */
-          if (UNTAG_Bool(REGB13)) {
-            REGB13 = TAG_Bool(true);
-          } else {
-            REGB13 = REGB12;
-          }
-          if (UNTAG_Bool(REGB13)) {
-            REGB13 = REGB0;
-            REGB14 = TAG_Int(1);
-            REGB14 = TAG_Int(-UNTAG_Int(REGB14));
-            REGB14 = TAG_Bool(UNTAG_Int(REGB0)<UNTAG_Int(REGB14));
-            /* ./parser//lexer.nit:1291 */
-            if (UNTAG_Bool(REGB14)) {
-              REGB14 = TAG_Int(2);
-              REGB14 = TAG_Int(-UNTAG_Int(REGB14));
-              REGB14 = TAG_Int(UNTAG_Int(REGB14)-UNTAG_Int(REGB0));
-              REGB13 = REGB14;
-            /* ./parser//lexer.nit:1292 */
-            }
-            REGB14 = TAG_Int(1);
-            REGB14 = TAG_Int(-UNTAG_Int(REGB14));
-            REGB0 = REGB14;
-            fra.me.REG[4] = fra.me.REG[1];
-            REGB14 = TAG_Int(0);
-            REGB14 = TAG_Bool(UNTAG_Int(REGB13)>=UNTAG_Int(REGB14));
-            /* ./../lib/standard//collection//array.nit:233 */
+          /* ./../lib/standard//kernel.nit:217 */
+          REGB13 = TAG_Int(UNTAG_Int(REGB13)-UNTAG_Int(REGB0));
+          /* ./parser//lexer.nit:1315 */
+          REGB12 = REGB13;
+        }
+        /* ./parser//lexer.nit:1318 */
+        REGB13 = TAG_Int(1);
+        /* ./../lib/standard//kernel.nit:216 */
+        REGB13 = TAG_Int(-UNTAG_Int(REGB13));
+        /* ./parser//lexer.nit:1318 */
+        REGB0 = REGB13;
+        /* ./parser//lexer.nit:1320 */
+        REGB13 = TAG_Int(0);
+        /* ./parser//lexer.nit:1321 */
+        REGB14 = TAG_Int(0);
+        REGB14 = CALL_tables___TablesCapable___lexer_goto(fra.me.REG[0])(fra.me.REG[0], REGB12, REGB14);
+        REGB15 = TAG_Int(1);
+        /* ./../lib/standard//kernel.nit:217 */
+        REGB15 = TAG_Int(UNTAG_Int(REGB14)-UNTAG_Int(REGB15));
+        /* ./parser//lexer.nit:1323 */
+        REGB14 = TAG_Int(0);
+        /* ./../lib/standard//kernel.nit:213 */
+        REGB14 = TAG_Bool(UNTAG_Int(REGB15)>=UNTAG_Int(REGB14));
+        /* ./parser//lexer.nit:1323 */
+        if (UNTAG_Bool(REGB14)) {
+          /* ./parser//lexer.nit:1324 */
+          while(1) {
+            /* ./../lib/standard//kernel.nit:211 */
+            REGB14 = TAG_Bool(UNTAG_Int(REGB13)<=UNTAG_Int(REGB15));
+            /* ./parser//lexer.nit:1324 */
             if (UNTAG_Bool(REGB14)) {
-              REGB14 = TAG_Bool(ATTR_array___AbstractArrayRead____length(fra.me.REG[4])!=NIT_NULL);
+              /* ./../lib/standard//kernel.nit:215 */
+              REGB14 = TAG_Int(UNTAG_Int(REGB13)+UNTAG_Int(REGB15));
+              /* ./parser//lexer.nit:1325 */
+              REGB16 = TAG_Int(2);
+              /* ./../lib/standard//kernel.nit:219 */
+              REGB16 = TAG_Int(UNTAG_Int(REGB14)/UNTAG_Int(REGB16));
+              /* ./parser//lexer.nit:1326 */
+              REGB14 = TAG_Int(3);
+              /* ./../lib/standard//kernel.nit:218 */
+              REGB14 = TAG_Int(UNTAG_Int(REGB16)*UNTAG_Int(REGB14));
+              /* ./parser//lexer.nit:1326 */
+              REGB17 = TAG_Int(1);
+              /* ./../lib/standard//kernel.nit:215 */
+              REGB17 = TAG_Int(UNTAG_Int(REGB14)+UNTAG_Int(REGB17));
+              /* ./parser//lexer.nit:1328 */
+              REGB14 = CALL_tables___TablesCapable___lexer_goto(fra.me.REG[0])(fra.me.REG[0], REGB12, REGB17);
+              /* ./../lib/standard//kernel.nit:212 */
+              REGB14 = TAG_Bool(UNTAG_Int(REGB8)<UNTAG_Int(REGB14));
+              /* ./parser//lexer.nit:1328 */
               if (UNTAG_Bool(REGB14)) {
-              } else {
-               fprintf(stderr, "Uninitialized attribute %s", "_length");
-               fprintf(stderr, " (%s:%d)\n", LOCATE_array, 233);
-               nit_exit(1);
-              }
-              REGB14 = ATTR_array___AbstractArrayRead____length(fra.me.REG[4]);
-              REGB14 = TAG_Bool(UNTAG_Int(REGB13)<UNTAG_Int(REGB14));
-            /* ./../lib/standard//collection//array.nit:233 */
-            } else {
-              REGB15 = TAG_Bool(false);
-              REGB14 = REGB15;
-            }
-            if (UNTAG_Bool(REGB14)) {
-            } else {
-              fprintf(stderr, "Assert %s  failed", "'index'");
-              fprintf(stderr, " (%s:%d)\n", LOCATE_array, 233);
-              nit_exit(1);
-            }
-            fra.me.REG[4] = ATTR_array___Array____items(fra.me.REG[4]);
-            REGB14 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
-            /* ./../lib/standard//collection//array.nit:234 */
-            if (UNTAG_Bool(REGB14)) {
-              fprintf(stderr, "Reciever is null");
-              fprintf(stderr, " (%s:%d)\n", LOCATE_array, 234);
-              nit_exit(1);
-            }
-            fra.me.REG[4] = ((Nit_NativeArray)fra.me.REG[4])->val[UNTAG_Int(REGB13)];
-            /* ./../lib/standard//collection//array.nit:234 */
-            goto label3;
-            label3: while(0);
-            REGB13 = TAG_Int(0);
-            REGB14 = TAG_Bool(ATTR_array___AbstractArrayRead____length(fra.me.REG[4])!=NIT_NULL);
-            /* ./../lib/standard//collection//array.nit:23 */
-            if (UNTAG_Bool(REGB14)) {
-            } else {
-              fprintf(stderr, "Uninitialized attribute %s", "_length");
-              fprintf(stderr, " (%s:%d)\n", LOCATE_array, 23);
-              nit_exit(1);
-            }
-            REGB14 = ATTR_array___AbstractArrayRead____length(fra.me.REG[4]);
-            REGB15 = TAG_Int(1);
-            REGB15 = TAG_Int(UNTAG_Int(REGB14)-UNTAG_Int(REGB15));
-            REGB14 = TAG_Int(0);
-            REGB14 = TAG_Bool(UNTAG_Int(REGB15)>=UNTAG_Int(REGB14));
-            /* ./parser//lexer.nit:1301 */
-            if (UNTAG_Bool(REGB14)) {
-              fra.me.REG[4] = CALL_array___Array___intern_items(fra.me.REG[4])(fra.me.REG[4]);
-              /* ./parser//lexer.nit:1303 */
-              while(1) {
-               REGB14 = TAG_Bool(UNTAG_Int(REGB13)<=UNTAG_Int(REGB15));
-               /* ./parser//lexer.nit:1303 */
-               if (UNTAG_Bool(REGB14)) {
-               REGB14 = TAG_Int(UNTAG_Int(REGB13)+UNTAG_Int(REGB15));
-               REGB16 = TAG_Int(2);
-               REGB16 = TAG_Int(UNTAG_Int(REGB14)/UNTAG_Int(REGB16));
-               fra.me.REG[5] = ((Nit_NativeArray)fra.me.REG[4])->val[UNTAG_Int(REGB16)];
-               REGB14 = TAG_Bool(fra.me.REG[5]==NIT_NULL);
-               /* ./parser//lexer.nit:1305 */
-               if (UNTAG_Bool(REGB14)) {
-               fprintf(stderr, "Reciever is null");
-               fprintf(stderr, " (%s:%d)\n", LOCATE_lexer, 1305);
-               nit_exit(1);
-               }
-               fra.me.REG[5] = CALL_array___Array___intern_items(fra.me.REG[5])(fra.me.REG[5]);
-               REGB14 = TAG_Int(0);
-               fra.me.REG[6] = ((Nit_NativeArray)fra.me.REG[5])->val[UNTAG_Int(REGB14)];
-               REGB14 = TAG_Bool(UNTAG_Int(REGB8)<UNTAG_Int(fra.me.REG[6]));
-               /* ./parser//lexer.nit:1307 */
-               if (UNTAG_Bool(REGB14)) {
+               /* ./parser//lexer.nit:1329 */
                REGB14 = TAG_Int(1);
+               /* ./../lib/standard//kernel.nit:217 */
                REGB14 = TAG_Int(UNTAG_Int(REGB16)-UNTAG_Int(REGB14));
+               /* ./parser//lexer.nit:1329 */
                REGB15 = REGB14;
-               /* ./parser//lexer.nit:1308 */
-               } else {
+              } else {
+               /* ./parser//lexer.nit:1330 */
                REGB14 = TAG_Int(1);
-               fra.me.REG[6] = ((Nit_NativeArray)fra.me.REG[5])->val[UNTAG_Int(REGB14)];
-               REGB14 = TAG_Bool(UNTAG_Int(REGB8)>UNTAG_Int(fra.me.REG[6]));
-               /* ./parser//lexer.nit:1309 */
+               /* ./../lib/standard//kernel.nit:215 */
+               REGB14 = TAG_Int(UNTAG_Int(REGB17)+UNTAG_Int(REGB14));
+               /* ./parser//lexer.nit:1330 */
+               REGB14 = CALL_tables___TablesCapable___lexer_goto(fra.me.REG[0])(fra.me.REG[0], REGB12, REGB14);
+               /* ./../lib/standard//kernel.nit:214 */
+               REGB14 = TAG_Bool(UNTAG_Int(REGB8)>UNTAG_Int(REGB14));
+               /* ./parser//lexer.nit:1330 */
                if (UNTAG_Bool(REGB14)) {
+               /* ./parser//lexer.nit:1331 */
                REGB14 = TAG_Int(1);
+               /* ./../lib/standard//kernel.nit:215 */
                REGB14 = TAG_Int(UNTAG_Int(REGB16)+UNTAG_Int(REGB14));
+               /* ./parser//lexer.nit:1331 */
                REGB13 = REGB14;
-               /* ./parser//lexer.nit:1310 */
                } else {
+               /* ./parser//lexer.nit:1333 */
                REGB14 = TAG_Int(2);
-               fra.me.REG[5] = ((Nit_NativeArray)fra.me.REG[5])->val[UNTAG_Int(REGB14)];
-               REGB0 = fra.me.REG[5];
-               REGB14 = TAG_Int(1);
-               REGB14 = TAG_Int(UNTAG_Int(REGB15)+UNTAG_Int(REGB14));
-               REGB13 = REGB14;
-               /* ./parser//lexer.nit:1313 */
-               }
-               }
-               } else {
-               /* ./parser//lexer.nit:1303 */
-               goto label4;
+               /* ./../lib/standard//kernel.nit:215 */
+               REGB14 = TAG_Int(UNTAG_Int(REGB17)+UNTAG_Int(REGB14));
+               /* ./parser//lexer.nit:1333 */
+               REGB14 = CALL_tables___TablesCapable___lexer_goto(fra.me.REG[0])(fra.me.REG[0], REGB12, REGB14);
+               REGB0 = REGB14;
+               /* ./parser//lexer.nit:1334 */
+               goto label1;
                }
               }
-              label4: while(0);
+            } else {
+              /* ./parser//lexer.nit:1324 */
+              goto label1;
             }
-            REGB13 = TAG_Bool(false);
-            REGB12 = REGB13;
-          /* ./parser//lexer.nit:1317 */
-          } else {
-            /* ./parser//lexer.nit:1289 */
-            goto label5;
           }
+          label1: while(0);
         }
-        label5: while(0);
-        /* ./parser//lexer.nit:1320 */
-        ATTR_lexer___Lexer____cr(fra.me.REG[0]) = REGB10;
-        /* ./parser//lexer.nit:1321 */
-        ATTR_lexer___Lexer____line(fra.me.REG[0]) = REGB9;
-        /* ./parser//lexer.nit:1322 */
-        ATTR_lexer___Lexer____pos(fra.me.REG[0]) = REGB11;
+        /* ./parser//lexer.nit:1338 */
+        REGB12 = TAG_Int(2);
+        /* ./../lib/standard//kernel.nit:216 */
+        REGB12 = TAG_Int(-UNTAG_Int(REGB12));
+        /* ./../lib/standard//kernel.nit:214 */
+        REGB12 = TAG_Bool(UNTAG_Int(REGB0)>UNTAG_Int(REGB12));
+        /* ./parser//lexer.nit:1338 */
+        if (UNTAG_Bool(REGB12)) {
+          goto label2;
+        }
+      }
+      label2: while(0);
+      /* ./parser//lexer.nit:1341 */
+      ATTR_lexer___Lexer____cr(fra.me.REG[0]) = REGB10;
+      /* ./parser//lexer.nit:1342 */
+      ATTR_lexer___Lexer____line(fra.me.REG[0]) = REGB9;
+      /* ./parser//lexer.nit:1343 */
+      ATTR_lexer___Lexer____pos(fra.me.REG[0]) = REGB11;
+    } else {
+      /* ./parser//lexer.nit:1345 */
+      REGB11 = TAG_Int(1);
+      /* ./../lib/standard//kernel.nit:216 */
+      REGB11 = TAG_Int(-UNTAG_Int(REGB11));
+      /* ./parser//lexer.nit:1345 */
+      REGB0 = REGB11;
+    }
+    /* ./parser//lexer.nit:1348 */
+    REGB11 = TAG_Int(0);
+    /* ./../lib/standard//kernel.nit:213 */
+    REGB11 = TAG_Bool(UNTAG_Int(REGB0)>=UNTAG_Int(REGB11));
+    /* ./parser//lexer.nit:1348 */
+    if (UNTAG_Bool(REGB11)) {
+      /* ./parser//lexer.nit:1349 */
+      REGB11 = CALL_tables___TablesCapable___lexer_accept(fra.me.REG[0])(fra.me.REG[0], REGB0);
+      /* ./parser//lexer.nit:1350 */
+      REGB9 = TAG_Int(1);
+      /* ./../lib/standard//kernel.nit:216 */
+      REGB9 = TAG_Int(-UNTAG_Int(REGB9));
+      /* ./parser//lexer.nit:1350 */
+      REGB10 = TAG_Bool(IS_EQUAL_OO(REGB11,REGB9));
+      if (UNTAG_Bool(REGB10)) {
       } else {
-        REGB11 = TAG_Int(1);
-        REGB11 = TAG_Int(-UNTAG_Int(REGB11));
-        REGB0 = REGB11;
-      /* ./parser//lexer.nit:1324 */
+        /* ./../lib/standard//kernel.nit:207 */
+        REGB9 = TAG_Bool((REGB11)==(REGB9));
+        /* ./parser//lexer.nit:1350 */
+        REGB10 = REGB9;
       }
-      REGB11 = TAG_Int(0);
-      REGB11 = TAG_Bool(UNTAG_Int(REGB0)>=UNTAG_Int(REGB11));
-      /* ./parser//lexer.nit:1327 */
-      if (UNTAG_Bool(REGB11)) {
-        fra.me.REG[4] = fra.me.REG[2];
-        REGB11 = REGB0;
+      REGB10 = TAG_Bool(!UNTAG_Bool(REGB10));
+      if (UNTAG_Bool(REGB10)) {
+        /* ./parser//lexer.nit:1351 */
+        REGB3 = REGB0;
+        /* ./parser//lexer.nit:1352 */
+        REGB4 = REGB11;
+        /* ./../lib/standard//collection//array.nit:23 */
+        REGB11 = TAG_Bool(ATTR_array___AbstractArrayRead____length(fra.me.REG[1])!=NIT_NULL);
+        if (UNTAG_Bool(REGB11)) {
+        } else {
+          nit_abort("Uninitialized attribute %s", "_length", LOCATE_array, 23);
+        }
+        REGB11 = ATTR_array___AbstractArrayRead____length(fra.me.REG[1]);
+        /* ./parser//lexer.nit:1353 */
+        REGB5 = REGB11;
+        /* ./parser//lexer.nit:1354 */
+        REGB11 = TAG_Bool(ATTR_lexer___Lexer____pos(fra.me.REG[0])!=NIT_NULL);
+        if (UNTAG_Bool(REGB11)) {
+        } else {
+          nit_abort("Uninitialized attribute %s", "_pos", LOCATE_lexer, 1354);
+        }
+        REGB11 = ATTR_lexer___Lexer____pos(fra.me.REG[0]);
+        REGB6 = REGB11;
+        /* ./parser//lexer.nit:1355 */
+        REGB11 = TAG_Bool(ATTR_lexer___Lexer____line(fra.me.REG[0])!=NIT_NULL);
+        if (UNTAG_Bool(REGB11)) {
+        } else {
+          nit_abort("Uninitialized attribute %s", "_line", LOCATE_lexer, 1355);
+        }
+        REGB11 = ATTR_lexer___Lexer____line(fra.me.REG[0]);
+        REGB7 = REGB11;
+      }
+    } else {
+      /* ./parser//lexer.nit:1358 */
+      REGB11 = TAG_Int(1);
+      /* ./../lib/standard//kernel.nit:216 */
+      REGB11 = TAG_Int(-UNTAG_Int(REGB11));
+      /* ./parser//lexer.nit:1358 */
+      REGB10 = TAG_Bool(IS_EQUAL_OO(REGB3,REGB11));
+      if (UNTAG_Bool(REGB10)) {
+      } else {
+        /* ./../lib/standard//kernel.nit:207 */
+        REGB11 = TAG_Bool((REGB3)==(REGB11));
+        /* ./parser//lexer.nit:1358 */
+        REGB10 = REGB11;
+      }
+      REGB10 = TAG_Bool(!UNTAG_Bool(REGB10));
+      if (UNTAG_Bool(REGB10)) {
+        /* ./parser//lexer.nit:1359 */
+        REGB10 = TAG_Bool(ATTR_lexer___Lexer____filename(fra.me.REG[0])!=NIT_NULL);
+        if (UNTAG_Bool(REGB10)) {
+        } else {
+          nit_abort("Uninitialized attribute %s", "_filename", LOCATE_lexer, 1359);
+        }
+        fra.me.REG[2] = ATTR_lexer___Lexer____filename(fra.me.REG[0]);
+        REGB10 = TAG_Int(1);
+        /* ./../lib/standard//kernel.nit:215 */
+        REGB10 = TAG_Int(UNTAG_Int(REGB2)+UNTAG_Int(REGB10));
+        /* ./parser//lexer.nit:1359 */
+        REGB11 = TAG_Int(1);
+        /* ./../lib/standard//kernel.nit:215 */
+        REGB11 = TAG_Int(UNTAG_Int(REGB7)+UNTAG_Int(REGB11));
+        /* ./parser//lexer.nit:1359 */
+        REGB9 = TAG_Int(1);
+        /* ./../lib/standard//kernel.nit:215 */
+        REGB9 = TAG_Int(UNTAG_Int(REGB1)+UNTAG_Int(REGB9));
+        /* ./parser//lexer.nit:1359 */
+        fra.me.REG[2] = NEW_Location_location___Location___init(fra.me.REG[2], REGB10, REGB11, REGB9, REGB6);
+        /* ./parser//lexer.nit:1360 */
+        ATTR_lexer___Lexer____pos(fra.me.REG[0]) = REGB6;
+        /* ./parser//lexer.nit:1361 */
+        ATTR_lexer___Lexer____line(fra.me.REG[0]) = REGB7;
+        /* ./parser//lexer.nit:1362 */
+        CALL_lexer___Lexer___push_back(fra.me.REG[0])(fra.me.REG[0], REGB5);
+        /* ./parser//lexer.nit:1363 */
         REGB9 = TAG_Int(0);
-        REGB9 = TAG_Bool(UNTAG_Int(REGB11)>=UNTAG_Int(REGB9));
-        /* ./../lib/standard//collection//array.nit:233 */
+        REGB11 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB9));
+        if (UNTAG_Bool(REGB11)) {
+        } else {
+          /* ./../lib/standard//kernel.nit:207 */
+          REGB9 = TAG_Bool((REGB4)==(REGB9));
+          /* ./parser//lexer.nit:1363 */
+          REGB11 = REGB9;
+        }
+        if (UNTAG_Bool(REGB11)) {
+          /* ./parser//lexer.nit:1364 */
+          fra.me.REG[3] = NIT_NULL;
+          goto label3;
+        }
+        /* ./parser//lexer.nit:1366 */
+        REGB11 = TAG_Int(1);
+        REGB9 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB11));
         if (UNTAG_Bool(REGB9)) {
-          REGB9 = TAG_Bool(ATTR_array___AbstractArrayRead____length(fra.me.REG[4])!=NIT_NULL);
-          if (UNTAG_Bool(REGB9)) {
-          } else {
-            fprintf(stderr, "Uninitialized attribute %s", "_length");
-            fprintf(stderr, " (%s:%d)\n", LOCATE_array, 233);
-            nit_exit(1);
-          }
-          REGB9 = ATTR_array___AbstractArrayRead____length(fra.me.REG[4]);
-          REGB9 = TAG_Bool(UNTAG_Int(REGB11)<UNTAG_Int(REGB9));
-        /* ./../lib/standard//collection//array.nit:233 */
         } else {
-          REGB10 = TAG_Bool(false);
-          REGB9 = REGB10;
+          /* ./../lib/standard//kernel.nit:207 */
+          REGB11 = TAG_Bool((REGB4)==(REGB11));
+          /* ./parser//lexer.nit:1366 */
+          REGB9 = REGB11;
+        }
+        if (UNTAG_Bool(REGB9)) {
+          /* ./parser//lexer.nit:1367 */
+          REGB9 = TAG_Int(0);
+          fra.me.REG[4] = CALL_string___AbstractString___substring(fra.me.REG[1])(fra.me.REG[1], REGB9, REGB5);
+          /* ./parser//lexer.nit:1368 */
+          fra.me.REG[4] = NEW_TEol_lexer___TEol___init_tk(fra.me.REG[4], fra.me.REG[2]);
+          fra.me.REG[3] = fra.me.REG[4];
+          goto label3;
+        }
+        /* ./parser//lexer.nit:1370 */
+        REGB9 = TAG_Int(2);
+        REGB11 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB9));
+        if (UNTAG_Bool(REGB11)) {
+        } else {
+          /* ./../lib/standard//kernel.nit:207 */
+          REGB9 = TAG_Bool((REGB4)==(REGB9));
+          /* ./parser//lexer.nit:1370 */
+          REGB11 = REGB9;
+        }
+        if (UNTAG_Bool(REGB11)) {
+          /* ./parser//lexer.nit:1371 */
+          REGB11 = TAG_Int(0);
+          fra.me.REG[4] = CALL_string___AbstractString___substring(fra.me.REG[1])(fra.me.REG[1], REGB11, REGB5);
+          /* ./parser//lexer.nit:1372 */
+          fra.me.REG[4] = NEW_TComment_lexer___TComment___init_tk(fra.me.REG[4], fra.me.REG[2]);
+          fra.me.REG[3] = fra.me.REG[4];
+          goto label3;
         }
+        /* ./parser//lexer.nit:1374 */
+        REGB11 = TAG_Int(3);
+        REGB9 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB11));
         if (UNTAG_Bool(REGB9)) {
         } else {
-          fprintf(stderr, "Assert %s  failed", "'index'");
-          fprintf(stderr, " (%s:%d)\n", LOCATE_array, 233);
-          nit_exit(1);
+          /* ./../lib/standard//kernel.nit:207 */
+          REGB11 = TAG_Bool((REGB4)==(REGB11));
+          /* ./parser//lexer.nit:1374 */
+          REGB9 = REGB11;
         }
-        fra.me.REG[4] = ATTR_array___Array____items(fra.me.REG[4]);
-        REGB9 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
-        /* ./../lib/standard//collection//array.nit:234 */
         if (UNTAG_Bool(REGB9)) {
-          fprintf(stderr, "Reciever is null");
-          fprintf(stderr, " (%s:%d)\n", LOCATE_array, 234);
-          nit_exit(1);
+          /* ./parser//lexer.nit:1375 */
+          REGB9 = TAG_Int(0);
+          fra.me.REG[4] = CALL_string___AbstractString___substring(fra.me.REG[1])(fra.me.REG[1], REGB9, REGB5);
+          /* ./parser//lexer.nit:1376 */
+          fra.me.REG[4] = NEW_TKwmodule_lexer___TKwmodule___init_tk(fra.me.REG[4], fra.me.REG[2]);
+          fra.me.REG[3] = fra.me.REG[4];
+          goto label3;
         }
-        fra.me.REG[4] = ((Nit_NativeArray)fra.me.REG[4])->val[UNTAG_Int(REGB11)];
-        /* ./../lib/standard//collection//array.nit:234 */
-        goto label6;
-        label6: while(0);
-        REGB11 = TAG_Int(1);
-        REGB11 = TAG_Int(-UNTAG_Int(REGB11));
-        REGB9 = TAG_Bool(IS_EQUAL_ON(REGB11,fra.me.REG[4]));
-        /* ./parser//lexer.nit:1328 */
+        /* ./parser//lexer.nit:1378 */
+        REGB9 = TAG_Int(4);
+        REGB11 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB9));
+        if (UNTAG_Bool(REGB11)) {
+        } else {
+          /* ./../lib/standard//kernel.nit:207 */
+          REGB9 = TAG_Bool((REGB4)==(REGB9));
+          /* ./parser//lexer.nit:1378 */
+          REGB11 = REGB9;
+        }
+        if (UNTAG_Bool(REGB11)) {
+          /* ./parser//lexer.nit:1379 */
+          fra.me.REG[4] = NEW_TKwimport_lexer___TKwimport___init_tk(fra.me.REG[2]);
+          fra.me.REG[3] = fra.me.REG[4];
+          goto label3;
+        }
+        /* ./parser//lexer.nit:1381 */
+        REGB11 = TAG_Int(5);
+        REGB9 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB11));
         if (UNTAG_Bool(REGB9)) {
         } else {
-          REGB10 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
-          if (UNTAG_Bool(REGB10)) {
-            REGB10 = TAG_Bool(false);
-            REGB9 = REGB10;
-          } else {
-            REGB11 = TAG_Bool((fra.me.REG[4])==(REGB11));
-            REGB9 = REGB11;
-          /* ./parser//lexer.nit:1328 */
-          }
+          /* ./../lib/standard//kernel.nit:207 */
+          REGB11 = TAG_Bool((REGB4)==(REGB11));
+          /* ./parser//lexer.nit:1381 */
+          REGB9 = REGB11;
         }
-        REGB9 = TAG_Bool(!UNTAG_Bool(REGB9));
         if (UNTAG_Bool(REGB9)) {
-          REGB3 = REGB0;
-          fra.me.REG[4] = fra.me.REG[2];
-          REGB9 = REGB0;
-          REGB11 = TAG_Int(0);
-          REGB11 = TAG_Bool(UNTAG_Int(REGB9)>=UNTAG_Int(REGB11));
-          /* ./../lib/standard//collection//array.nit:233 */
-          if (UNTAG_Bool(REGB11)) {
-            REGB11 = TAG_Bool(ATTR_array___AbstractArrayRead____length(fra.me.REG[4])!=NIT_NULL);
-            if (UNTAG_Bool(REGB11)) {
-            } else {
-              fprintf(stderr, "Uninitialized attribute %s", "_length");
-              fprintf(stderr, " (%s:%d)\n", LOCATE_array, 233);
-              nit_exit(1);
-            }
-            REGB11 = ATTR_array___AbstractArrayRead____length(fra.me.REG[4]);
-            REGB11 = TAG_Bool(UNTAG_Int(REGB9)<UNTAG_Int(REGB11));
-          /* ./../lib/standard//collection//array.nit:233 */
-          } else {
-            REGB10 = TAG_Bool(false);
-            REGB11 = REGB10;
-          }
-          if (UNTAG_Bool(REGB11)) {
-          } else {
-            fprintf(stderr, "Assert %s  failed", "'index'");
-            fprintf(stderr, " (%s:%d)\n", LOCATE_array, 233);
-            nit_exit(1);
-          }
-          fra.me.REG[4] = ATTR_array___Array____items(fra.me.REG[4]);
-          REGB11 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
-          /* ./../lib/standard//collection//array.nit:234 */
-          if (UNTAG_Bool(REGB11)) {
-            fprintf(stderr, "Reciever is null");
-            fprintf(stderr, " (%s:%d)\n", LOCATE_array, 234);
-            nit_exit(1);
-          }
-          fra.me.REG[4] = ((Nit_NativeArray)fra.me.REG[4])->val[UNTAG_Int(REGB9)];
-          /* ./../lib/standard//collection//array.nit:234 */
-          goto label7;
-          label7: while(0);
-          REGB4 = fra.me.REG[4];
-          REGB9 = TAG_Bool(ATTR_array___AbstractArrayRead____length(fra.me.REG[3])!=NIT_NULL);
-          /* ./../lib/standard//collection//array.nit:23 */
-          if (UNTAG_Bool(REGB9)) {
-          } else {
-            fprintf(stderr, "Uninitialized attribute %s", "_length");
-            fprintf(stderr, " (%s:%d)\n", LOCATE_array, 23);
-            nit_exit(1);
-          }
-          REGB9 = ATTR_array___AbstractArrayRead____length(fra.me.REG[3]);
-          REGB5 = REGB9;
-          REGB9 = TAG_Bool(ATTR_lexer___Lexer____pos(fra.me.REG[0])!=NIT_NULL);
-          /* ./parser//lexer.nit:1332 */
-          if (UNTAG_Bool(REGB9)) {
-          } else {
-            fprintf(stderr, "Uninitialized attribute %s", "_pos");
-            fprintf(stderr, " (%s:%d)\n", LOCATE_lexer, 1332);
-            nit_exit(1);
-          }
-          REGB9 = ATTR_lexer___Lexer____pos(fra.me.REG[0]);
-          REGB6 = REGB9;
-          REGB9 = TAG_Bool(ATTR_lexer___Lexer____line(fra.me.REG[0])!=NIT_NULL);
-          /* ./parser//lexer.nit:1333 */
-          if (UNTAG_Bool(REGB9)) {
-          } else {
-            fprintf(stderr, "Uninitialized attribute %s", "_line");
-            fprintf(stderr, " (%s:%d)\n", LOCATE_lexer, 1333);
-            nit_exit(1);
-          }
-          REGB9 = ATTR_lexer___Lexer____line(fra.me.REG[0]);
-          REGB7 = REGB9;
+          /* ./parser//lexer.nit:1382 */
+          fra.me.REG[4] = NEW_TKwclass_lexer___TKwclass___init_tk(fra.me.REG[2]);
+          fra.me.REG[3] = fra.me.REG[4];
+          goto label3;
         }
-      } else {
-        REGB9 = TAG_Int(1);
-        REGB9 = TAG_Int(-UNTAG_Int(REGB9));
-        REGB11 = TAG_Bool(IS_EQUAL_OO(REGB3,REGB9));
-        /* ./parser//lexer.nit:1336 */
+        /* ./parser//lexer.nit:1384 */
+        REGB9 = TAG_Int(6);
+        REGB11 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB9));
         if (UNTAG_Bool(REGB11)) {
         } else {
-          REGB9 = TAG_Bool((REGB3)==(REGB9));
+          /* ./../lib/standard//kernel.nit:207 */
+          REGB9 = TAG_Bool((REGB4)==(REGB9));
+          /* ./parser//lexer.nit:1384 */
           REGB11 = REGB9;
-        /* ./parser//lexer.nit:1336 */
         }
-        REGB11 = TAG_Bool(!UNTAG_Bool(REGB11));
         if (UNTAG_Bool(REGB11)) {
-          REGB11 = TAG_Int(0);
-          REGB9 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB11));
-          /* ./parser//lexer.nit:1337 */
-          if (UNTAG_Bool(REGB9)) {
-          } else {
-            REGB11 = TAG_Bool((REGB4)==(REGB11));
-            REGB9 = REGB11;
-          /* ./parser//lexer.nit:1337 */
-          }
-          if (UNTAG_Bool(REGB9)) {
-            REGB9 = TAG_Bool(ATTR_lexer___Lexer____filename(fra.me.REG[0])!=NIT_NULL);
-            /* ./parser//lexer.nit:1338 */
-            if (UNTAG_Bool(REGB9)) {
-            } else {
-              fprintf(stderr, "Uninitialized attribute %s", "_filename");
-              fprintf(stderr, " (%s:%d)\n", LOCATE_lexer, 1338);
-              nit_exit(1);
-            }
-            fra.me.REG[4] = ATTR_lexer___Lexer____filename(fra.me.REG[0]);
-            REGB9 = TAG_Int(1);
-            REGB9 = TAG_Int(UNTAG_Int(REGB2)+UNTAG_Int(REGB9));
-            REGB11 = TAG_Int(1);
-            REGB11 = TAG_Int(UNTAG_Int(REGB7)+UNTAG_Int(REGB11));
-            REGB10 = TAG_Int(1);
-            REGB10 = TAG_Int(UNTAG_Int(REGB1)+UNTAG_Int(REGB10));
-            fra.me.REG[4] = NEW_Location_location___Location___init(fra.me.REG[4], REGB9, REGB11, REGB10, REGB6);
-            /* ./parser//lexer.nit:1339 */
-            CALL_lexer___Lexer___push_back(fra.me.REG[0])(fra.me.REG[0], REGB5);
-            /* ./parser//lexer.nit:1340 */
-            ATTR_lexer___Lexer____pos(fra.me.REG[0]) = REGB6;
-            /* ./parser//lexer.nit:1341 */
-            ATTR_lexer___Lexer____line(fra.me.REG[0]) = REGB7;
-            fra.me.REG[4] = NIT_NULL;
-            /* ./parser//lexer.nit:1342 */
-            goto label8;
-          }
-          REGB10 = TAG_Int(1);
-          REGB11 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB10));
-          /* ./parser//lexer.nit:1344 */
-          if (UNTAG_Bool(REGB11)) {
-          } else {
-            REGB10 = TAG_Bool((REGB4)==(REGB10));
-            REGB11 = REGB10;
-          /* ./parser//lexer.nit:1344 */
-          }
-          if (UNTAG_Bool(REGB11)) {
-            REGB11 = TAG_Bool(ATTR_lexer___Lexer____filename(fra.me.REG[0])!=NIT_NULL);
-            /* ./parser//lexer.nit:1345 */
-            if (UNTAG_Bool(REGB11)) {
-            } else {
-              fprintf(stderr, "Uninitialized attribute %s", "_filename");
-              fprintf(stderr, " (%s:%d)\n", LOCATE_lexer, 1345);
-              nit_exit(1);
-            }
-            fra.me.REG[5] = ATTR_lexer___Lexer____filename(fra.me.REG[0]);
-            REGB11 = TAG_Int(1);
-            REGB11 = TAG_Int(UNTAG_Int(REGB2)+UNTAG_Int(REGB11));
-            REGB10 = TAG_Int(1);
-            REGB10 = TAG_Int(UNTAG_Int(REGB7)+UNTAG_Int(REGB10));
-            REGB9 = TAG_Int(1);
-            REGB9 = TAG_Int(UNTAG_Int(REGB1)+UNTAG_Int(REGB9));
-            fra.me.REG[5] = NEW_Location_location___Location___init(fra.me.REG[5], REGB11, REGB10, REGB9, REGB6);
-            REGB9 = TAG_Int(0);
-            fra.me.REG[6] = CALL_string___AbstractString___substring(fra.me.REG[3])(fra.me.REG[3], REGB9, REGB5);
-            fra.me.REG[5] = NEW_TEol_lexer___TEol___init_tk(fra.me.REG[6], fra.me.REG[5]);
-            /* ./parser//lexer.nit:1348 */
-            CALL_lexer___Lexer___push_back(fra.me.REG[0])(fra.me.REG[0], REGB5);
-            /* ./parser//lexer.nit:1349 */
-            ATTR_lexer___Lexer____pos(fra.me.REG[0]) = REGB6;
-            /* ./parser//lexer.nit:1350 */
-            ATTR_lexer___Lexer____line(fra.me.REG[0]) = REGB7;
-            fra.me.REG[4] = fra.me.REG[5];
-            /* ./parser//lexer.nit:1351 */
-            goto label8;
-          }
-          REGB9 = TAG_Int(2);
-          REGB10 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB9));
-          /* ./parser//lexer.nit:1353 */
-          if (UNTAG_Bool(REGB10)) {
-          } else {
-            REGB9 = TAG_Bool((REGB4)==(REGB9));
-            REGB10 = REGB9;
-          /* ./parser//lexer.nit:1353 */
-          }
-          if (UNTAG_Bool(REGB10)) {
-            REGB10 = TAG_Bool(ATTR_lexer___Lexer____filename(fra.me.REG[0])!=NIT_NULL);
-            /* ./parser//lexer.nit:1354 */
-            if (UNTAG_Bool(REGB10)) {
-            } else {
-              fprintf(stderr, "Uninitialized attribute %s", "_filename");
-              fprintf(stderr, " (%s:%d)\n", LOCATE_lexer, 1354);
-              nit_exit(1);
-            }
-            fra.me.REG[5] = ATTR_lexer___Lexer____filename(fra.me.REG[0]);
-            REGB10 = TAG_Int(1);
-            REGB10 = TAG_Int(UNTAG_Int(REGB2)+UNTAG_Int(REGB10));
-            REGB9 = TAG_Int(1);
-            REGB9 = TAG_Int(UNTAG_Int(REGB7)+UNTAG_Int(REGB9));
-            REGB11 = TAG_Int(1);
-            REGB11 = TAG_Int(UNTAG_Int(REGB1)+UNTAG_Int(REGB11));
-            fra.me.REG[5] = NEW_Location_location___Location___init(fra.me.REG[5], REGB10, REGB9, REGB11, REGB6);
-            REGB11 = TAG_Int(0);
-            fra.me.REG[6] = CALL_string___AbstractString___substring(fra.me.REG[3])(fra.me.REG[3], REGB11, REGB5);
-            fra.me.REG[5] = NEW_TComment_lexer___TComment___init_tk(fra.me.REG[6], fra.me.REG[5]);
-            /* ./parser//lexer.nit:1357 */
-            CALL_lexer___Lexer___push_back(fra.me.REG[0])(fra.me.REG[0], REGB5);
-            /* ./parser//lexer.nit:1358 */
-            ATTR_lexer___Lexer____pos(fra.me.REG[0]) = REGB6;
-            /* ./parser//lexer.nit:1359 */
-            ATTR_lexer___Lexer____line(fra.me.REG[0]) = REGB7;
-            fra.me.REG[4] = fra.me.REG[5];
-            /* ./parser//lexer.nit:1360 */
-            goto label8;
-          }
-          REGB11 = TAG_Int(3);
-          REGB9 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB11));
-          /* ./parser//lexer.nit:1362 */
-          if (UNTAG_Bool(REGB9)) {
-          } else {
-            REGB11 = TAG_Bool((REGB4)==(REGB11));
-            REGB9 = REGB11;
-          /* ./parser//lexer.nit:1362 */
-          }
-          if (UNTAG_Bool(REGB9)) {
-            REGB9 = TAG_Bool(ATTR_lexer___Lexer____filename(fra.me.REG[0])!=NIT_NULL);
-            /* ./parser//lexer.nit:1363 */
-            if (UNTAG_Bool(REGB9)) {
-            } else {
-              fprintf(stderr, "Uninitialized attribute %s", "_filename");
-              fprintf(stderr, " (%s:%d)\n", LOCATE_lexer, 1363);
-              nit_exit(1);
-            }
-            fra.me.REG[5] = ATTR_lexer___Lexer____filename(fra.me.REG[0]);
-            REGB9 = TAG_Int(1);
-            REGB9 = TAG_Int(UNTAG_Int(REGB2)+UNTAG_Int(REGB9));
-            REGB11 = TAG_Int(1);
-            REGB11 = TAG_Int(UNTAG_Int(REGB7)+UNTAG_Int(REGB11));
-            REGB10 = TAG_Int(1);
-            REGB10 = TAG_Int(UNTAG_Int(REGB1)+UNTAG_Int(REGB10));
-            fra.me.REG[5] = NEW_Location_location___Location___init(fra.me.REG[5], REGB9, REGB11, REGB10, REGB6);
-            fra.me.REG[5] = NEW_TKwpackage_lexer___TKwpackage___init_tk(fra.me.REG[5]);
-            /* ./parser//lexer.nit:1365 */
-            CALL_lexer___Lexer___push_back(fra.me.REG[0])(fra.me.REG[0], REGB5);
-            /* ./parser//lexer.nit:1366 */
-            ATTR_lexer___Lexer____pos(fra.me.REG[0]) = REGB6;
-            /* ./parser//lexer.nit:1367 */
-            ATTR_lexer___Lexer____line(fra.me.REG[0]) = REGB7;
-            fra.me.REG[4] = fra.me.REG[5];
-            /* ./parser//lexer.nit:1368 */
-            goto label8;
-          }
-          REGB10 = TAG_Int(4);
-          REGB11 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB10));
-          /* ./parser//lexer.nit:1370 */
-          if (UNTAG_Bool(REGB11)) {
-          } else {
-            REGB10 = TAG_Bool((REGB4)==(REGB10));
-            REGB11 = REGB10;
-          /* ./parser//lexer.nit:1370 */
-          }
-          if (UNTAG_Bool(REGB11)) {
-            REGB11 = TAG_Bool(ATTR_lexer___Lexer____filename(fra.me.REG[0])!=NIT_NULL);
-            /* ./parser//lexer.nit:1371 */
-            if (UNTAG_Bool(REGB11)) {
-            } else {
-              fprintf(stderr, "Uninitialized attribute %s", "_filename");
-              fprintf(stderr, " (%s:%d)\n", LOCATE_lexer, 1371);
-              nit_exit(1);
-            }
-            fra.me.REG[5] = ATTR_lexer___Lexer____filename(fra.me.REG[0]);
-            REGB11 = TAG_Int(1);
-            REGB11 = TAG_Int(UNTAG_Int(REGB2)+UNTAG_Int(REGB11));
-            REGB10 = TAG_Int(1);
-            REGB10 = TAG_Int(UNTAG_Int(REGB7)+UNTAG_Int(REGB10));
-            REGB9 = TAG_Int(1);
-            REGB9 = TAG_Int(UNTAG_Int(REGB1)+UNTAG_Int(REGB9));
-            fra.me.REG[5] = NEW_Location_location___Location___init(fra.me.REG[5], REGB11, REGB10, REGB9, REGB6);
-            fra.me.REG[5] = NEW_TKwimport_lexer___TKwimport___init_tk(fra.me.REG[5]);
-            /* ./parser//lexer.nit:1373 */
-            CALL_lexer___Lexer___push_back(fra.me.REG[0])(fra.me.REG[0], REGB5);
-            /* ./parser//lexer.nit:1374 */
-            ATTR_lexer___Lexer____pos(fra.me.REG[0]) = REGB6;
-            /* ./parser//lexer.nit:1375 */
-            ATTR_lexer___Lexer____line(fra.me.REG[0]) = REGB7;
-            fra.me.REG[4] = fra.me.REG[5];
-            /* ./parser//lexer.nit:1376 */
-            goto label8;
-          }
-          REGB9 = TAG_Int(5);
-          REGB10 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB9));
-          /* ./parser//lexer.nit:1378 */
-          if (UNTAG_Bool(REGB10)) {
-          } else {
-            REGB9 = TAG_Bool((REGB4)==(REGB9));
-            REGB10 = REGB9;
-          /* ./parser//lexer.nit:1378 */
-          }
-          if (UNTAG_Bool(REGB10)) {
-            REGB10 = TAG_Bool(ATTR_lexer___Lexer____filename(fra.me.REG[0])!=NIT_NULL);
-            /* ./parser//lexer.nit:1379 */
-            if (UNTAG_Bool(REGB10)) {
-            } else {
-              fprintf(stderr, "Uninitialized attribute %s", "_filename");
-              fprintf(stderr, " (%s:%d)\n", LOCATE_lexer, 1379);
-              nit_exit(1);
-            }
-            fra.me.REG[5] = ATTR_lexer___Lexer____filename(fra.me.REG[0]);
-            REGB10 = TAG_Int(1);
-            REGB10 = TAG_Int(UNTAG_Int(REGB2)+UNTAG_Int(REGB10));
-            REGB9 = TAG_Int(1);
-            REGB9 = TAG_Int(UNTAG_Int(REGB7)+UNTAG_Int(REGB9));
-            REGB11 = TAG_Int(1);
-            REGB11 = TAG_Int(UNTAG_Int(REGB1)+UNTAG_Int(REGB11));
-            fra.me.REG[5] = NEW_Location_location___Location___init(fra.me.REG[5], REGB10, REGB9, REGB11, REGB6);
-            fra.me.REG[5] = NEW_TKwclass_lexer___TKwclass___init_tk(fra.me.REG[5]);
-            /* ./parser//lexer.nit:1381 */
-            CALL_lexer___Lexer___push_back(fra.me.REG[0])(fra.me.REG[0], REGB5);
-            /* ./parser//lexer.nit:1382 */
-            ATTR_lexer___Lexer____pos(fra.me.REG[0]) = REGB6;
-            /* ./parser//lexer.nit:1383 */
-            ATTR_lexer___Lexer____line(fra.me.REG[0]) = REGB7;
-            fra.me.REG[4] = fra.me.REG[5];
-            /* ./parser//lexer.nit:1384 */
-            goto label8;
-          }
-          REGB11 = TAG_Int(6);
-          REGB9 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB11));
-          /* ./parser//lexer.nit:1386 */
-          if (UNTAG_Bool(REGB9)) {
-          } else {
-            REGB11 = TAG_Bool((REGB4)==(REGB11));
-            REGB9 = REGB11;
-          /* ./parser//lexer.nit:1386 */
-          }
-          if (UNTAG_Bool(REGB9)) {
-            REGB9 = TAG_Bool(ATTR_lexer___Lexer____filename(fra.me.REG[0])!=NIT_NULL);
-            /* ./parser//lexer.nit:1387 */
-            if (UNTAG_Bool(REGB9)) {
-            } else {
-              fprintf(stderr, "Uninitialized attribute %s", "_filename");
-              fprintf(stderr, " (%s:%d)\n", LOCATE_lexer, 1387);
-              nit_exit(1);
-            }
-            fra.me.REG[5] = ATTR_lexer___Lexer____filename(fra.me.REG[0]);
-            REGB9 = TAG_Int(1);
-            REGB9 = TAG_Int(UNTAG_Int(REGB2)+UNTAG_Int(REGB9));
-            REGB11 = TAG_Int(1);
-            REGB11 = TAG_Int(UNTAG_Int(REGB7)+UNTAG_Int(REGB11));
-            REGB10 = TAG_Int(1);
-            REGB10 = TAG_Int(UNTAG_Int(REGB1)+UNTAG_Int(REGB10));
-            fra.me.REG[5] = NEW_Location_location___Location___init(fra.me.REG[5], REGB9, REGB11, REGB10, REGB6);
-            fra.me.REG[5] = NEW_TKwabstract_lexer___TKwabstract___init_tk(fra.me.REG[5]);
-            /* ./parser//lexer.nit:1389 */
-            CALL_lexer___Lexer___push_back(fra.me.REG[0])(fra.me.REG[0], REGB5);
-            /* ./parser//lexer.nit:1390 */
-            ATTR_lexer___Lexer____pos(fra.me.REG[0]) = REGB6;
-            /* ./parser//lexer.nit:1391 */
-            ATTR_lexer___Lexer____line(fra.me.REG[0]) = REGB7;
-            fra.me.REG[4] = fra.me.REG[5];
-            /* ./parser//lexer.nit:1392 */
-            goto label8;
-          }
-          REGB10 = TAG_Int(7);
-          REGB11 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB10));
-          /* ./parser//lexer.nit:1394 */
-          if (UNTAG_Bool(REGB11)) {
-          } else {
-            REGB10 = TAG_Bool((REGB4)==(REGB10));
-            REGB11 = REGB10;
+          /* ./parser//lexer.nit:1385 */
+          fra.me.REG[4] = NEW_TKwabstract_lexer___TKwabstract___init_tk(fra.me.REG[2]);
+          fra.me.REG[3] = fra.me.REG[4];
+          goto label3;
+        }
+        /* ./parser//lexer.nit:1387 */
+        REGB11 = TAG_Int(7);
+        REGB9 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB11));
+        if (UNTAG_Bool(REGB9)) {
+        } else {
+          /* ./../lib/standard//kernel.nit:207 */
+          REGB11 = TAG_Bool((REGB4)==(REGB11));
+          /* ./parser//lexer.nit:1387 */
+          REGB9 = REGB11;
+        }
+        if (UNTAG_Bool(REGB9)) {
+          /* ./parser//lexer.nit:1388 */
+          fra.me.REG[4] = NEW_TKwinterface_lexer___TKwinterface___init_tk(fra.me.REG[2]);
+          fra.me.REG[3] = fra.me.REG[4];
+          goto label3;
+        }
+        /* ./parser//lexer.nit:1390 */
+        REGB9 = TAG_Int(8);
+        REGB11 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB9));
+        if (UNTAG_Bool(REGB11)) {
+        } else {
+          /* ./../lib/standard//kernel.nit:207 */
+          REGB9 = TAG_Bool((REGB4)==(REGB9));
+          /* ./parser//lexer.nit:1390 */
+          REGB11 = REGB9;
+        }
+        if (UNTAG_Bool(REGB11)) {
+          /* ./parser//lexer.nit:1391 */
+          fra.me.REG[4] = NEW_TKwuniversal_lexer___TKwuniversal___init_tk(fra.me.REG[2]);
+          fra.me.REG[3] = fra.me.REG[4];
+          goto label3;
+        }
+        /* ./parser//lexer.nit:1393 */
+        REGB11 = TAG_Int(9);
+        REGB9 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB11));
+        if (UNTAG_Bool(REGB9)) {
+        } else {
+          /* ./../lib/standard//kernel.nit:207 */
+          REGB11 = TAG_Bool((REGB4)==(REGB11));
+          /* ./parser//lexer.nit:1393 */
+          REGB9 = REGB11;
+        }
+        if (UNTAG_Bool(REGB9)) {
           /* ./parser//lexer.nit:1394 */
-          }
-          if (UNTAG_Bool(REGB11)) {
-            REGB11 = TAG_Bool(ATTR_lexer___Lexer____filename(fra.me.REG[0])!=NIT_NULL);
-            /* ./parser//lexer.nit:1395 */
-            if (UNTAG_Bool(REGB11)) {
-            } else {
-              fprintf(stderr, "Uninitialized attribute %s", "_filename");
-              fprintf(stderr, " (%s:%d)\n", LOCATE_lexer, 1395);
-              nit_exit(1);
-            }
-            fra.me.REG[5] = ATTR_lexer___Lexer____filename(fra.me.REG[0]);
-            REGB11 = TAG_Int(1);
-            REGB11 = TAG_Int(UNTAG_Int(REGB2)+UNTAG_Int(REGB11));
-            REGB10 = TAG_Int(1);
-            REGB10 = TAG_Int(UNTAG_Int(REGB7)+UNTAG_Int(REGB10));
-            REGB9 = TAG_Int(1);
-            REGB9 = TAG_Int(UNTAG_Int(REGB1)+UNTAG_Int(REGB9));
-            fra.me.REG[5] = NEW_Location_location___Location___init(fra.me.REG[5], REGB11, REGB10, REGB9, REGB6);
-            fra.me.REG[5] = NEW_TKwinterface_lexer___TKwinterface___init_tk(fra.me.REG[5]);
-            /* ./parser//lexer.nit:1397 */
-            CALL_lexer___Lexer___push_back(fra.me.REG[0])(fra.me.REG[0], REGB5);
-            /* ./parser//lexer.nit:1398 */
-            ATTR_lexer___Lexer____pos(fra.me.REG[0]) = REGB6;
-            /* ./parser//lexer.nit:1399 */
-            ATTR_lexer___Lexer____line(fra.me.REG[0]) = REGB7;
-            fra.me.REG[4] = fra.me.REG[5];
-            /* ./parser//lexer.nit:1400 */
-            goto label8;
-          }
-          REGB9 = TAG_Int(8);
-          REGB10 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB9));
-          /* ./parser//lexer.nit:1402 */
-          if (UNTAG_Bool(REGB10)) {
-          } else {
-            REGB9 = TAG_Bool((REGB4)==(REGB9));
-            REGB10 = REGB9;
+          fra.me.REG[4] = NEW_TKwspecial_lexer___TKwspecial___init_tk(fra.me.REG[2]);
+          fra.me.REG[3] = fra.me.REG[4];
+          goto label3;
+        }
+        /* ./parser//lexer.nit:1396 */
+        REGB9 = TAG_Int(10);
+        REGB11 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB9));
+        if (UNTAG_Bool(REGB11)) {
+        } else {
+          /* ./../lib/standard//kernel.nit:207 */
+          REGB9 = TAG_Bool((REGB4)==(REGB9));
+          /* ./parser//lexer.nit:1396 */
+          REGB11 = REGB9;
+        }
+        if (UNTAG_Bool(REGB11)) {
+          /* ./parser//lexer.nit:1397 */
+          fra.me.REG[4] = NEW_TKwend_lexer___TKwend___init_tk(fra.me.REG[2]);
+          fra.me.REG[3] = fra.me.REG[4];
+          goto label3;
+        }
+        /* ./parser//lexer.nit:1399 */
+        REGB11 = TAG_Int(11);
+        REGB9 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB11));
+        if (UNTAG_Bool(REGB9)) {
+        } else {
+          /* ./../lib/standard//kernel.nit:207 */
+          REGB11 = TAG_Bool((REGB4)==(REGB11));
+          /* ./parser//lexer.nit:1399 */
+          REGB9 = REGB11;
+        }
+        if (UNTAG_Bool(REGB9)) {
+          /* ./parser//lexer.nit:1400 */
+          fra.me.REG[4] = NEW_TKwmeth_lexer___TKwmeth___init_tk(fra.me.REG[2]);
+          fra.me.REG[3] = fra.me.REG[4];
+          goto label3;
+        }
+        /* ./parser//lexer.nit:1402 */
+        REGB9 = TAG_Int(12);
+        REGB11 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB9));
+        if (UNTAG_Bool(REGB11)) {
+        } else {
+          /* ./../lib/standard//kernel.nit:207 */
+          REGB9 = TAG_Bool((REGB4)==(REGB9));
           /* ./parser//lexer.nit:1402 */
-          }
-          if (UNTAG_Bool(REGB10)) {
-            REGB10 = TAG_Bool(ATTR_lexer___Lexer____filename(fra.me.REG[0])!=NIT_NULL);
-            /* ./parser//lexer.nit:1403 */
-            if (UNTAG_Bool(REGB10)) {
-            } else {
-              fprintf(stderr, "Uninitialized attribute %s", "_filename");
-              fprintf(stderr, " (%s:%d)\n", LOCATE_lexer, 1403);
-              nit_exit(1);
-            }
-            fra.me.REG[5] = ATTR_lexer___Lexer____filename(fra.me.REG[0]);
-            REGB10 = TAG_Int(1);
-            REGB10 = TAG_Int(UNTAG_Int(REGB2)+UNTAG_Int(REGB10));
-            REGB9 = TAG_Int(1);
-            REGB9 = TAG_Int(UNTAG_Int(REGB7)+UNTAG_Int(REGB9));
-            REGB11 = TAG_Int(1);
-            REGB11 = TAG_Int(UNTAG_Int(REGB1)+UNTAG_Int(REGB11));
-            fra.me.REG[5] = NEW_Location_location___Location___init(fra.me.REG[5], REGB10, REGB9, REGB11, REGB6);
-            fra.me.REG[5] = NEW_TKwuniversal_lexer___TKwuniversal___init_tk(fra.me.REG[5]);
-            /* ./parser//lexer.nit:1405 */
-            CALL_lexer___Lexer___push_back(fra.me.REG[0])(fra.me.REG[0], REGB5);
-            /* ./parser//lexer.nit:1406 */
-            ATTR_lexer___Lexer____pos(fra.me.REG[0]) = REGB6;
-            /* ./parser//lexer.nit:1407 */
-            ATTR_lexer___Lexer____line(fra.me.REG[0]) = REGB7;
-            fra.me.REG[4] = fra.me.REG[5];
-            /* ./parser//lexer.nit:1408 */
-            goto label8;
-          }
-          REGB11 = TAG_Int(9);
-          REGB9 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB11));
-          /* ./parser//lexer.nit:1410 */
-          if (UNTAG_Bool(REGB9)) {
-          } else {
-            REGB11 = TAG_Bool((REGB4)==(REGB11));
-            REGB9 = REGB11;
-          /* ./parser//lexer.nit:1410 */
-          }
-          if (UNTAG_Bool(REGB9)) {
-            REGB9 = TAG_Bool(ATTR_lexer___Lexer____filename(fra.me.REG[0])!=NIT_NULL);
-            /* ./parser//lexer.nit:1411 */
-            if (UNTAG_Bool(REGB9)) {
-            } else {
-              fprintf(stderr, "Uninitialized attribute %s", "_filename");
-              fprintf(stderr, " (%s:%d)\n", LOCATE_lexer, 1411);
-              nit_exit(1);
-            }
-            fra.me.REG[5] = ATTR_lexer___Lexer____filename(fra.me.REG[0]);
-            REGB9 = TAG_Int(1);
-            REGB9 = TAG_Int(UNTAG_Int(REGB2)+UNTAG_Int(REGB9));
-            REGB11 = TAG_Int(1);
-            REGB11 = TAG_Int(UNTAG_Int(REGB7)+UNTAG_Int(REGB11));
-            REGB10 = TAG_Int(1);
-            REGB10 = TAG_Int(UNTAG_Int(REGB1)+UNTAG_Int(REGB10));
-            fra.me.REG[5] = NEW_Location_location___Location___init(fra.me.REG[5], REGB9, REGB11, REGB10, REGB6);
-            fra.me.REG[5] = NEW_TKwspecial_lexer___TKwspecial___init_tk(fra.me.REG[5]);
-            /* ./parser//lexer.nit:1413 */
-            CALL_lexer___Lexer___push_back(fra.me.REG[0])(fra.me.REG[0], REGB5);
-            /* ./parser//lexer.nit:1414 */
-            ATTR_lexer___Lexer____pos(fra.me.REG[0]) = REGB6;
-            /* ./parser//lexer.nit:1415 */
-            ATTR_lexer___Lexer____line(fra.me.REG[0]) = REGB7;
-            fra.me.REG[4] = fra.me.REG[5];
-            /* ./parser//lexer.nit:1416 */
-            goto label8;
-          }
-          REGB10 = TAG_Int(10);
-          REGB11 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB10));
-          /* ./parser//lexer.nit:1418 */
-          if (UNTAG_Bool(REGB11)) {
-          } else {
-            REGB10 = TAG_Bool((REGB4)==(REGB10));
-            REGB11 = REGB10;
-          /* ./parser//lexer.nit:1418 */
-          }
-          if (UNTAG_Bool(REGB11)) {
-            REGB11 = TAG_Bool(ATTR_lexer___Lexer____filename(fra.me.REG[0])!=NIT_NULL);
-            /* ./parser//lexer.nit:1419 */
-            if (UNTAG_Bool(REGB11)) {
-            } else {
-              fprintf(stderr, "Uninitialized attribute %s", "_filename");
-              fprintf(stderr, " (%s:%d)\n", LOCATE_lexer, 1419);
-              nit_exit(1);
-            }
-            fra.me.REG[5] = ATTR_lexer___Lexer____filename(fra.me.REG[0]);
-            REGB11 = TAG_Int(1);
-            REGB11 = TAG_Int(UNTAG_Int(REGB2)+UNTAG_Int(REGB11));
-            REGB10 = TAG_Int(1);
-            REGB10 = TAG_Int(UNTAG_Int(REGB7)+UNTAG_Int(REGB10));
-            REGB9 = TAG_Int(1);
-            REGB9 = TAG_Int(UNTAG_Int(REGB1)+UNTAG_Int(REGB9));
-            fra.me.REG[5] = NEW_Location_location___Location___init(fra.me.REG[5], REGB11, REGB10, REGB9, REGB6);
-            fra.me.REG[5] = NEW_TKwend_lexer___TKwend___init_tk(fra.me.REG[5]);
-            /* ./parser//lexer.nit:1421 */
-            CALL_lexer___Lexer___push_back(fra.me.REG[0])(fra.me.REG[0], REGB5);
-            /* ./parser//lexer.nit:1422 */
-            ATTR_lexer___Lexer____pos(fra.me.REG[0]) = REGB6;
-            /* ./parser//lexer.nit:1423 */
-            ATTR_lexer___Lexer____line(fra.me.REG[0]) = REGB7;
-            fra.me.REG[4] = fra.me.REG[5];
-            /* ./parser//lexer.nit:1424 */
-            goto label8;
-          }
-          REGB9 = TAG_Int(11);
-          REGB10 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB9));
-          /* ./parser//lexer.nit:1426 */
-          if (UNTAG_Bool(REGB10)) {
-          } else {
-            REGB9 = TAG_Bool((REGB4)==(REGB9));
-            REGB10 = REGB9;
-          /* ./parser//lexer.nit:1426 */
-          }
-          if (UNTAG_Bool(REGB10)) {
-            REGB10 = TAG_Bool(ATTR_lexer___Lexer____filename(fra.me.REG[0])!=NIT_NULL);
-            /* ./parser//lexer.nit:1427 */
-            if (UNTAG_Bool(REGB10)) {
-            } else {
-              fprintf(stderr, "Uninitialized attribute %s", "_filename");
-              fprintf(stderr, " (%s:%d)\n", LOCATE_lexer, 1427);
-              nit_exit(1);
-            }
-            fra.me.REG[5] = ATTR_lexer___Lexer____filename(fra.me.REG[0]);
-            REGB10 = TAG_Int(1);
-            REGB10 = TAG_Int(UNTAG_Int(REGB2)+UNTAG_Int(REGB10));
-            REGB9 = TAG_Int(1);
-            REGB9 = TAG_Int(UNTAG_Int(REGB7)+UNTAG_Int(REGB9));
-            REGB11 = TAG_Int(1);
-            REGB11 = TAG_Int(UNTAG_Int(REGB1)+UNTAG_Int(REGB11));
-            fra.me.REG[5] = NEW_Location_location___Location___init(fra.me.REG[5], REGB10, REGB9, REGB11, REGB6);
-            fra.me.REG[5] = NEW_TKwmeth_lexer___TKwmeth___init_tk(fra.me.REG[5]);
-            /* ./parser//lexer.nit:1429 */
-            CALL_lexer___Lexer___push_back(fra.me.REG[0])(fra.me.REG[0], REGB5);
-            /* ./parser//lexer.nit:1430 */
-            ATTR_lexer___Lexer____pos(fra.me.REG[0]) = REGB6;
-            /* ./parser//lexer.nit:1431 */
-            ATTR_lexer___Lexer____line(fra.me.REG[0]) = REGB7;
-            fra.me.REG[4] = fra.me.REG[5];
-            /* ./parser//lexer.nit:1432 */
-            goto label8;
-          }
-          REGB11 = TAG_Int(12);
-          REGB9 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB11));
-          /* ./parser//lexer.nit:1434 */
-          if (UNTAG_Bool(REGB9)) {
-          } else {
-            REGB11 = TAG_Bool((REGB4)==(REGB11));
-            REGB9 = REGB11;
-          /* ./parser//lexer.nit:1434 */
-          }
-          if (UNTAG_Bool(REGB9)) {
-            REGB9 = TAG_Bool(ATTR_lexer___Lexer____filename(fra.me.REG[0])!=NIT_NULL);
-            /* ./parser//lexer.nit:1435 */
-            if (UNTAG_Bool(REGB9)) {
-            } else {
-              fprintf(stderr, "Uninitialized attribute %s", "_filename");
-              fprintf(stderr, " (%s:%d)\n", LOCATE_lexer, 1435);
-              nit_exit(1);
-            }
-            fra.me.REG[5] = ATTR_lexer___Lexer____filename(fra.me.REG[0]);
-            REGB9 = TAG_Int(1);
-            REGB9 = TAG_Int(UNTAG_Int(REGB2)+UNTAG_Int(REGB9));
-            REGB11 = TAG_Int(1);
-            REGB11 = TAG_Int(UNTAG_Int(REGB7)+UNTAG_Int(REGB11));
-            REGB10 = TAG_Int(1);
-            REGB10 = TAG_Int(UNTAG_Int(REGB1)+UNTAG_Int(REGB10));
-            fra.me.REG[5] = NEW_Location_location___Location___init(fra.me.REG[5], REGB9, REGB11, REGB10, REGB6);
-            fra.me.REG[5] = NEW_TKwtype_lexer___TKwtype___init_tk(fra.me.REG[5]);
-            /* ./parser//lexer.nit:1437 */
-            CALL_lexer___Lexer___push_back(fra.me.REG[0])(fra.me.REG[0], REGB5);
-            /* ./parser//lexer.nit:1438 */
-            ATTR_lexer___Lexer____pos(fra.me.REG[0]) = REGB6;
-            /* ./parser//lexer.nit:1439 */
-            ATTR_lexer___Lexer____line(fra.me.REG[0]) = REGB7;
-            fra.me.REG[4] = fra.me.REG[5];
-            /* ./parser//lexer.nit:1440 */
-            goto label8;
-          }
-          REGB10 = TAG_Int(13);
-          REGB11 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB10));
-          /* ./parser//lexer.nit:1442 */
-          if (UNTAG_Bool(REGB11)) {
-          } else {
-            REGB10 = TAG_Bool((REGB4)==(REGB10));
-            REGB11 = REGB10;
+          REGB11 = REGB9;
+        }
+        if (UNTAG_Bool(REGB11)) {
+          /* ./parser//lexer.nit:1403 */
+          fra.me.REG[4] = NEW_TKwtype_lexer___TKwtype___init_tk(fra.me.REG[2]);
+          fra.me.REG[3] = fra.me.REG[4];
+          goto label3;
+        }
+        /* ./parser//lexer.nit:1405 */
+        REGB11 = TAG_Int(13);
+        REGB9 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB11));
+        if (UNTAG_Bool(REGB9)) {
+        } else {
+          /* ./../lib/standard//kernel.nit:207 */
+          REGB11 = TAG_Bool((REGB4)==(REGB11));
+          /* ./parser//lexer.nit:1405 */
+          REGB9 = REGB11;
+        }
+        if (UNTAG_Bool(REGB9)) {
+          /* ./parser//lexer.nit:1406 */
+          fra.me.REG[4] = NEW_TKwinit_lexer___TKwinit___init_tk(fra.me.REG[2]);
+          fra.me.REG[3] = fra.me.REG[4];
+          goto label3;
+        }
+        /* ./parser//lexer.nit:1408 */
+        REGB9 = TAG_Int(14);
+        REGB11 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB9));
+        if (UNTAG_Bool(REGB11)) {
+        } else {
+          /* ./../lib/standard//kernel.nit:207 */
+          REGB9 = TAG_Bool((REGB4)==(REGB9));
+          /* ./parser//lexer.nit:1408 */
+          REGB11 = REGB9;
+        }
+        if (UNTAG_Bool(REGB11)) {
+          /* ./parser//lexer.nit:1409 */
+          fra.me.REG[4] = NEW_TKwredef_lexer___TKwredef___init_tk(fra.me.REG[2]);
+          fra.me.REG[3] = fra.me.REG[4];
+          goto label3;
+        }
+        /* ./parser//lexer.nit:1411 */
+        REGB11 = TAG_Int(15);
+        REGB9 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB11));
+        if (UNTAG_Bool(REGB9)) {
+        } else {
+          /* ./../lib/standard//kernel.nit:207 */
+          REGB11 = TAG_Bool((REGB4)==(REGB11));
+          /* ./parser//lexer.nit:1411 */
+          REGB9 = REGB11;
+        }
+        if (UNTAG_Bool(REGB9)) {
+          /* ./parser//lexer.nit:1412 */
+          fra.me.REG[4] = NEW_TKwis_lexer___TKwis___init_tk(fra.me.REG[2]);
+          fra.me.REG[3] = fra.me.REG[4];
+          goto label3;
+        }
+        /* ./parser//lexer.nit:1414 */
+        REGB9 = TAG_Int(16);
+        REGB11 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB9));
+        if (UNTAG_Bool(REGB11)) {
+        } else {
+          /* ./../lib/standard//kernel.nit:207 */
+          REGB9 = TAG_Bool((REGB4)==(REGB9));
+          /* ./parser//lexer.nit:1414 */
+          REGB11 = REGB9;
+        }
+        if (UNTAG_Bool(REGB11)) {
+          /* ./parser//lexer.nit:1415 */
+          fra.me.REG[4] = NEW_TKwdo_lexer___TKwdo___init_tk(fra.me.REG[2]);
+          fra.me.REG[3] = fra.me.REG[4];
+          goto label3;
+        }
+        /* ./parser//lexer.nit:1417 */
+        REGB11 = TAG_Int(17);
+        REGB9 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB11));
+        if (UNTAG_Bool(REGB9)) {
+        } else {
+          /* ./../lib/standard//kernel.nit:207 */
+          REGB11 = TAG_Bool((REGB4)==(REGB11));
+          /* ./parser//lexer.nit:1417 */
+          REGB9 = REGB11;
+        }
+        if (UNTAG_Bool(REGB9)) {
+          /* ./parser//lexer.nit:1418 */
+          fra.me.REG[4] = NEW_TKwreadable_lexer___TKwreadable___init_tk(fra.me.REG[2]);
+          fra.me.REG[3] = fra.me.REG[4];
+          goto label3;
+        }
+        /* ./parser//lexer.nit:1420 */
+        REGB9 = TAG_Int(18);
+        REGB11 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB9));
+        if (UNTAG_Bool(REGB11)) {
+        } else {
+          /* ./../lib/standard//kernel.nit:207 */
+          REGB9 = TAG_Bool((REGB4)==(REGB9));
+          /* ./parser//lexer.nit:1420 */
+          REGB11 = REGB9;
+        }
+        if (UNTAG_Bool(REGB11)) {
+          /* ./parser//lexer.nit:1421 */
+          fra.me.REG[4] = NEW_TKwwritable_lexer___TKwwritable___init_tk(fra.me.REG[2]);
+          fra.me.REG[3] = fra.me.REG[4];
+          goto label3;
+        }
+        /* ./parser//lexer.nit:1423 */
+        REGB11 = TAG_Int(19);
+        REGB9 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB11));
+        if (UNTAG_Bool(REGB9)) {
+        } else {
+          /* ./../lib/standard//kernel.nit:207 */
+          REGB11 = TAG_Bool((REGB4)==(REGB11));
+          /* ./parser//lexer.nit:1423 */
+          REGB9 = REGB11;
+        }
+        if (UNTAG_Bool(REGB9)) {
+          /* ./parser//lexer.nit:1424 */
+          fra.me.REG[4] = NEW_TKwvar_lexer___TKwvar___init_tk(fra.me.REG[2]);
+          fra.me.REG[3] = fra.me.REG[4];
+          goto label3;
+        }
+        /* ./parser//lexer.nit:1426 */
+        REGB9 = TAG_Int(20);
+        REGB11 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB9));
+        if (UNTAG_Bool(REGB11)) {
+        } else {
+          /* ./../lib/standard//kernel.nit:207 */
+          REGB9 = TAG_Bool((REGB4)==(REGB9));
+          /* ./parser//lexer.nit:1426 */
+          REGB11 = REGB9;
+        }
+        if (UNTAG_Bool(REGB11)) {
+          /* ./parser//lexer.nit:1427 */
+          fra.me.REG[4] = NEW_TKwintern_lexer___TKwintern___init_tk(fra.me.REG[2]);
+          fra.me.REG[3] = fra.me.REG[4];
+          goto label3;
+        }
+        /* ./parser//lexer.nit:1429 */
+        REGB11 = TAG_Int(21);
+        REGB9 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB11));
+        if (UNTAG_Bool(REGB9)) {
+        } else {
+          /* ./../lib/standard//kernel.nit:207 */
+          REGB11 = TAG_Bool((REGB4)==(REGB11));
+          /* ./parser//lexer.nit:1429 */
+          REGB9 = REGB11;
+        }
+        if (UNTAG_Bool(REGB9)) {
+          /* ./parser//lexer.nit:1430 */
+          fra.me.REG[4] = NEW_TKwextern_lexer___TKwextern___init_tk(fra.me.REG[2]);
+          fra.me.REG[3] = fra.me.REG[4];
+          goto label3;
+        }
+        /* ./parser//lexer.nit:1432 */
+        REGB9 = TAG_Int(22);
+        REGB11 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB9));
+        if (UNTAG_Bool(REGB11)) {
+        } else {
+          /* ./../lib/standard//kernel.nit:207 */
+          REGB9 = TAG_Bool((REGB4)==(REGB9));
+          /* ./parser//lexer.nit:1432 */
+          REGB11 = REGB9;
+        }
+        if (UNTAG_Bool(REGB11)) {
+          /* ./parser//lexer.nit:1433 */
+          fra.me.REG[4] = NEW_TKwprotected_lexer___TKwprotected___init_tk(fra.me.REG[2]);
+          fra.me.REG[3] = fra.me.REG[4];
+          goto label3;
+        }
+        /* ./parser//lexer.nit:1435 */
+        REGB11 = TAG_Int(23);
+        REGB9 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB11));
+        if (UNTAG_Bool(REGB9)) {
+        } else {
+          /* ./../lib/standard//kernel.nit:207 */
+          REGB11 = TAG_Bool((REGB4)==(REGB11));
+          /* ./parser//lexer.nit:1435 */
+          REGB9 = REGB11;
+        }
+        if (UNTAG_Bool(REGB9)) {
+          /* ./parser//lexer.nit:1436 */
+          fra.me.REG[4] = NEW_TKwprivate_lexer___TKwprivate___init_tk(fra.me.REG[2]);
+          fra.me.REG[3] = fra.me.REG[4];
+          goto label3;
+        }
+        /* ./parser//lexer.nit:1438 */
+        REGB9 = TAG_Int(24);
+        REGB11 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB9));
+        if (UNTAG_Bool(REGB11)) {
+        } else {
+          /* ./../lib/standard//kernel.nit:207 */
+          REGB9 = TAG_Bool((REGB4)==(REGB9));
+          /* ./parser//lexer.nit:1438 */
+          REGB11 = REGB9;
+        }
+        if (UNTAG_Bool(REGB11)) {
+          /* ./parser//lexer.nit:1439 */
+          fra.me.REG[4] = NEW_TKwintrude_lexer___TKwintrude___init_tk(fra.me.REG[2]);
+          fra.me.REG[3] = fra.me.REG[4];
+          goto label3;
+        }
+        /* ./parser//lexer.nit:1441 */
+        REGB11 = TAG_Int(25);
+        REGB9 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB11));
+        if (UNTAG_Bool(REGB9)) {
+        } else {
+          /* ./../lib/standard//kernel.nit:207 */
+          REGB11 = TAG_Bool((REGB4)==(REGB11));
+          /* ./parser//lexer.nit:1441 */
+          REGB9 = REGB11;
+        }
+        if (UNTAG_Bool(REGB9)) {
           /* ./parser//lexer.nit:1442 */
-          }
-          if (UNTAG_Bool(REGB11)) {
-            REGB11 = TAG_Bool(ATTR_lexer___Lexer____filename(fra.me.REG[0])!=NIT_NULL);
-            /* ./parser//lexer.nit:1443 */
-            if (UNTAG_Bool(REGB11)) {
-            } else {
-              fprintf(stderr, "Uninitialized attribute %s", "_filename");
-              fprintf(stderr, " (%s:%d)\n", LOCATE_lexer, 1443);
-              nit_exit(1);
-            }
-            fra.me.REG[5] = ATTR_lexer___Lexer____filename(fra.me.REG[0]);
-            REGB11 = TAG_Int(1);
-            REGB11 = TAG_Int(UNTAG_Int(REGB2)+UNTAG_Int(REGB11));
-            REGB10 = TAG_Int(1);
-            REGB10 = TAG_Int(UNTAG_Int(REGB7)+UNTAG_Int(REGB10));
-            REGB9 = TAG_Int(1);
-            REGB9 = TAG_Int(UNTAG_Int(REGB1)+UNTAG_Int(REGB9));
-            fra.me.REG[5] = NEW_Location_location___Location___init(fra.me.REG[5], REGB11, REGB10, REGB9, REGB6);
-            fra.me.REG[5] = NEW_TKwinit_lexer___TKwinit___init_tk(fra.me.REG[5]);
-            /* ./parser//lexer.nit:1445 */
-            CALL_lexer___Lexer___push_back(fra.me.REG[0])(fra.me.REG[0], REGB5);
-            /* ./parser//lexer.nit:1446 */
-            ATTR_lexer___Lexer____pos(fra.me.REG[0]) = REGB6;
-            /* ./parser//lexer.nit:1447 */
-            ATTR_lexer___Lexer____line(fra.me.REG[0]) = REGB7;
-            fra.me.REG[4] = fra.me.REG[5];
-            /* ./parser//lexer.nit:1448 */
-            goto label8;
-          }
-          REGB9 = TAG_Int(14);
-          REGB10 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB9));
-          /* ./parser//lexer.nit:1450 */
-          if (UNTAG_Bool(REGB10)) {
-          } else {
-            REGB9 = TAG_Bool((REGB4)==(REGB9));
-            REGB10 = REGB9;
+          fra.me.REG[4] = NEW_TKwif_lexer___TKwif___init_tk(fra.me.REG[2]);
+          fra.me.REG[3] = fra.me.REG[4];
+          goto label3;
+        }
+        /* ./parser//lexer.nit:1444 */
+        REGB9 = TAG_Int(26);
+        REGB11 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB9));
+        if (UNTAG_Bool(REGB11)) {
+        } else {
+          /* ./../lib/standard//kernel.nit:207 */
+          REGB9 = TAG_Bool((REGB4)==(REGB9));
+          /* ./parser//lexer.nit:1444 */
+          REGB11 = REGB9;
+        }
+        if (UNTAG_Bool(REGB11)) {
+          /* ./parser//lexer.nit:1445 */
+          fra.me.REG[4] = NEW_TKwthen_lexer___TKwthen___init_tk(fra.me.REG[2]);
+          fra.me.REG[3] = fra.me.REG[4];
+          goto label3;
+        }
+        /* ./parser//lexer.nit:1447 */
+        REGB11 = TAG_Int(27);
+        REGB9 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB11));
+        if (UNTAG_Bool(REGB9)) {
+        } else {
+          /* ./../lib/standard//kernel.nit:207 */
+          REGB11 = TAG_Bool((REGB4)==(REGB11));
+          /* ./parser//lexer.nit:1447 */
+          REGB9 = REGB11;
+        }
+        if (UNTAG_Bool(REGB9)) {
+          /* ./parser//lexer.nit:1448 */
+          fra.me.REG[4] = NEW_TKwelse_lexer___TKwelse___init_tk(fra.me.REG[2]);
+          fra.me.REG[3] = fra.me.REG[4];
+          goto label3;
+        }
+        /* ./parser//lexer.nit:1450 */
+        REGB9 = TAG_Int(28);
+        REGB11 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB9));
+        if (UNTAG_Bool(REGB11)) {
+        } else {
+          /* ./../lib/standard//kernel.nit:207 */
+          REGB9 = TAG_Bool((REGB4)==(REGB9));
           /* ./parser//lexer.nit:1450 */
-          }
-          if (UNTAG_Bool(REGB10)) {
-            REGB10 = TAG_Bool(ATTR_lexer___Lexer____filename(fra.me.REG[0])!=NIT_NULL);
-            /* ./parser//lexer.nit:1451 */
-            if (UNTAG_Bool(REGB10)) {
-            } else {
-              fprintf(stderr, "Uninitialized attribute %s", "_filename");
-              fprintf(stderr, " (%s:%d)\n", LOCATE_lexer, 1451);
-              nit_exit(1);
-            }
-            fra.me.REG[5] = ATTR_lexer___Lexer____filename(fra.me.REG[0]);
-            REGB10 = TAG_Int(1);
-            REGB10 = TAG_Int(UNTAG_Int(REGB2)+UNTAG_Int(REGB10));
-            REGB9 = TAG_Int(1);
-            REGB9 = TAG_Int(UNTAG_Int(REGB7)+UNTAG_Int(REGB9));
-            REGB11 = TAG_Int(1);
-            REGB11 = TAG_Int(UNTAG_Int(REGB1)+UNTAG_Int(REGB11));
-            fra.me.REG[5] = NEW_Location_location___Location___init(fra.me.REG[5], REGB10, REGB9, REGB11, REGB6);
-            fra.me.REG[5] = NEW_TKwredef_lexer___TKwredef___init_tk(fra.me.REG[5]);
-            /* ./parser//lexer.nit:1453 */
-            CALL_lexer___Lexer___push_back(fra.me.REG[0])(fra.me.REG[0], REGB5);
-            /* ./parser//lexer.nit:1454 */
-            ATTR_lexer___Lexer____pos(fra.me.REG[0]) = REGB6;
-            /* ./parser//lexer.nit:1455 */
-            ATTR_lexer___Lexer____line(fra.me.REG[0]) = REGB7;
-            fra.me.REG[4] = fra.me.REG[5];
-            /* ./parser//lexer.nit:1456 */
-            goto label8;
-          }
-          REGB11 = TAG_Int(15);
-          REGB9 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB11));
-          /* ./parser//lexer.nit:1458 */
-          if (UNTAG_Bool(REGB9)) {
-          } else {
-            REGB11 = TAG_Bool((REGB4)==(REGB11));
-            REGB9 = REGB11;
-          /* ./parser//lexer.nit:1458 */
-          }
-          if (UNTAG_Bool(REGB9)) {
-            REGB9 = TAG_Bool(ATTR_lexer___Lexer____filename(fra.me.REG[0])!=NIT_NULL);
-            /* ./parser//lexer.nit:1459 */
-            if (UNTAG_Bool(REGB9)) {
-            } else {
-              fprintf(stderr, "Uninitialized attribute %s", "_filename");
-              fprintf(stderr, " (%s:%d)\n", LOCATE_lexer, 1459);
-              nit_exit(1);
-            }
-            fra.me.REG[5] = ATTR_lexer___Lexer____filename(fra.me.REG[0]);
-            REGB9 = TAG_Int(1);
-            REGB9 = TAG_Int(UNTAG_Int(REGB2)+UNTAG_Int(REGB9));
-            REGB11 = TAG_Int(1);
-            REGB11 = TAG_Int(UNTAG_Int(REGB7)+UNTAG_Int(REGB11));
-            REGB10 = TAG_Int(1);
-            REGB10 = TAG_Int(UNTAG_Int(REGB1)+UNTAG_Int(REGB10));
-            fra.me.REG[5] = NEW_Location_location___Location___init(fra.me.REG[5], REGB9, REGB11, REGB10, REGB6);
-            fra.me.REG[5] = NEW_TKwis_lexer___TKwis___init_tk(fra.me.REG[5]);
-            /* ./parser//lexer.nit:1461 */
-            CALL_lexer___Lexer___push_back(fra.me.REG[0])(fra.me.REG[0], REGB5);
-            /* ./parser//lexer.nit:1462 */
-            ATTR_lexer___Lexer____pos(fra.me.REG[0]) = REGB6;
-            /* ./parser//lexer.nit:1463 */
-            ATTR_lexer___Lexer____line(fra.me.REG[0]) = REGB7;
-            fra.me.REG[4] = fra.me.REG[5];
-            /* ./parser//lexer.nit:1464 */
-            goto label8;
-          }
-          REGB10 = TAG_Int(16);
-          REGB11 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB10));
-          /* ./parser//lexer.nit:1466 */
-          if (UNTAG_Bool(REGB11)) {
-          } else {
-            REGB10 = TAG_Bool((REGB4)==(REGB10));
-            REGB11 = REGB10;
+          REGB11 = REGB9;
+        }
+        if (UNTAG_Bool(REGB11)) {
+          /* ./parser//lexer.nit:1451 */
+          fra.me.REG[4] = NEW_TKwwhile_lexer___TKwwhile___init_tk(fra.me.REG[2]);
+          fra.me.REG[3] = fra.me.REG[4];
+          goto label3;
+        }
+        /* ./parser//lexer.nit:1453 */
+        REGB11 = TAG_Int(29);
+        REGB9 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB11));
+        if (UNTAG_Bool(REGB9)) {
+        } else {
+          /* ./../lib/standard//kernel.nit:207 */
+          REGB11 = TAG_Bool((REGB4)==(REGB11));
+          /* ./parser//lexer.nit:1453 */
+          REGB9 = REGB11;
+        }
+        if (UNTAG_Bool(REGB9)) {
+          /* ./parser//lexer.nit:1454 */
+          fra.me.REG[4] = NEW_TKwloop_lexer___TKwloop___init_tk(fra.me.REG[2]);
+          fra.me.REG[3] = fra.me.REG[4];
+          goto label3;
+        }
+        /* ./parser//lexer.nit:1456 */
+        REGB9 = TAG_Int(30);
+        REGB11 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB9));
+        if (UNTAG_Bool(REGB11)) {
+        } else {
+          /* ./../lib/standard//kernel.nit:207 */
+          REGB9 = TAG_Bool((REGB4)==(REGB9));
+          /* ./parser//lexer.nit:1456 */
+          REGB11 = REGB9;
+        }
+        if (UNTAG_Bool(REGB11)) {
+          /* ./parser//lexer.nit:1457 */
+          fra.me.REG[4] = NEW_TKwfor_lexer___TKwfor___init_tk(fra.me.REG[2]);
+          fra.me.REG[3] = fra.me.REG[4];
+          goto label3;
+        }
+        /* ./parser//lexer.nit:1459 */
+        REGB11 = TAG_Int(31);
+        REGB9 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB11));
+        if (UNTAG_Bool(REGB9)) {
+        } else {
+          /* ./../lib/standard//kernel.nit:207 */
+          REGB11 = TAG_Bool((REGB4)==(REGB11));
+          /* ./parser//lexer.nit:1459 */
+          REGB9 = REGB11;
+        }
+        if (UNTAG_Bool(REGB9)) {
+          /* ./parser//lexer.nit:1460 */
+          fra.me.REG[4] = NEW_TKwin_lexer___TKwin___init_tk(fra.me.REG[2]);
+          fra.me.REG[3] = fra.me.REG[4];
+          goto label3;
+        }
+        /* ./parser//lexer.nit:1462 */
+        REGB9 = TAG_Int(32);
+        REGB11 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB9));
+        if (UNTAG_Bool(REGB11)) {
+        } else {
+          /* ./../lib/standard//kernel.nit:207 */
+          REGB9 = TAG_Bool((REGB4)==(REGB9));
+          /* ./parser//lexer.nit:1462 */
+          REGB11 = REGB9;
+        }
+        if (UNTAG_Bool(REGB11)) {
+          /* ./parser//lexer.nit:1463 */
+          fra.me.REG[4] = NEW_TKwand_lexer___TKwand___init_tk(fra.me.REG[2]);
+          fra.me.REG[3] = fra.me.REG[4];
+          goto label3;
+        }
+        /* ./parser//lexer.nit:1465 */
+        REGB11 = TAG_Int(33);
+        REGB9 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB11));
+        if (UNTAG_Bool(REGB9)) {
+        } else {
+          /* ./../lib/standard//kernel.nit:207 */
+          REGB11 = TAG_Bool((REGB4)==(REGB11));
+          /* ./parser//lexer.nit:1465 */
+          REGB9 = REGB11;
+        }
+        if (UNTAG_Bool(REGB9)) {
           /* ./parser//lexer.nit:1466 */
-          }
-          if (UNTAG_Bool(REGB11)) {
-            REGB11 = TAG_Bool(ATTR_lexer___Lexer____filename(fra.me.REG[0])!=NIT_NULL);
-            /* ./parser//lexer.nit:1467 */
-            if (UNTAG_Bool(REGB11)) {
-            } else {
-              fprintf(stderr, "Uninitialized attribute %s", "_filename");
-              fprintf(stderr, " (%s:%d)\n", LOCATE_lexer, 1467);
-              nit_exit(1);
-            }
-            fra.me.REG[5] = ATTR_lexer___Lexer____filename(fra.me.REG[0]);
-            REGB11 = TAG_Int(1);
-            REGB11 = TAG_Int(UNTAG_Int(REGB2)+UNTAG_Int(REGB11));
-            REGB10 = TAG_Int(1);
-            REGB10 = TAG_Int(UNTAG_Int(REGB7)+UNTAG_Int(REGB10));
-            REGB9 = TAG_Int(1);
-            REGB9 = TAG_Int(UNTAG_Int(REGB1)+UNTAG_Int(REGB9));
-            fra.me.REG[5] = NEW_Location_location___Location___init(fra.me.REG[5], REGB11, REGB10, REGB9, REGB6);
-            fra.me.REG[5] = NEW_TKwdo_lexer___TKwdo___init_tk(fra.me.REG[5]);
-            /* ./parser//lexer.nit:1469 */
-            CALL_lexer___Lexer___push_back(fra.me.REG[0])(fra.me.REG[0], REGB5);
-            /* ./parser//lexer.nit:1470 */
-            ATTR_lexer___Lexer____pos(fra.me.REG[0]) = REGB6;
-            /* ./parser//lexer.nit:1471 */
-            ATTR_lexer___Lexer____line(fra.me.REG[0]) = REGB7;
-            fra.me.REG[4] = fra.me.REG[5];
-            /* ./parser//lexer.nit:1472 */
-            goto label8;
-          }
-          REGB9 = TAG_Int(17);
-          REGB10 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB9));
-          /* ./parser//lexer.nit:1474 */
-          if (UNTAG_Bool(REGB10)) {
-          } else {
-            REGB9 = TAG_Bool((REGB4)==(REGB9));
-            REGB10 = REGB9;
+          fra.me.REG[4] = NEW_TKwor_lexer___TKwor___init_tk(fra.me.REG[2]);
+          fra.me.REG[3] = fra.me.REG[4];
+          goto label3;
+        }
+        /* ./parser//lexer.nit:1468 */
+        REGB9 = TAG_Int(34);
+        REGB11 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB9));
+        if (UNTAG_Bool(REGB11)) {
+        } else {
+          /* ./../lib/standard//kernel.nit:207 */
+          REGB9 = TAG_Bool((REGB4)==(REGB9));
+          /* ./parser//lexer.nit:1468 */
+          REGB11 = REGB9;
+        }
+        if (UNTAG_Bool(REGB11)) {
+          /* ./parser//lexer.nit:1469 */
+          fra.me.REG[4] = NEW_TKwnot_lexer___TKwnot___init_tk(fra.me.REG[2]);
+          fra.me.REG[3] = fra.me.REG[4];
+          goto label3;
+        }
+        /* ./parser//lexer.nit:1471 */
+        REGB11 = TAG_Int(35);
+        REGB9 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB11));
+        if (UNTAG_Bool(REGB9)) {
+        } else {
+          /* ./../lib/standard//kernel.nit:207 */
+          REGB11 = TAG_Bool((REGB4)==(REGB11));
+          /* ./parser//lexer.nit:1471 */
+          REGB9 = REGB11;
+        }
+        if (UNTAG_Bool(REGB9)) {
+          /* ./parser//lexer.nit:1472 */
+          fra.me.REG[4] = NEW_TKwreturn_lexer___TKwreturn___init_tk(fra.me.REG[2]);
+          fra.me.REG[3] = fra.me.REG[4];
+          goto label3;
+        }
+        /* ./parser//lexer.nit:1474 */
+        REGB9 = TAG_Int(36);
+        REGB11 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB9));
+        if (UNTAG_Bool(REGB11)) {
+        } else {
+          /* ./../lib/standard//kernel.nit:207 */
+          REGB9 = TAG_Bool((REGB4)==(REGB9));
           /* ./parser//lexer.nit:1474 */
-          }
-          if (UNTAG_Bool(REGB10)) {
-            REGB10 = TAG_Bool(ATTR_lexer___Lexer____filename(fra.me.REG[0])!=NIT_NULL);
-            /* ./parser//lexer.nit:1475 */
-            if (UNTAG_Bool(REGB10)) {
-            } else {
-              fprintf(stderr, "Uninitialized attribute %s", "_filename");
-              fprintf(stderr, " (%s:%d)\n", LOCATE_lexer, 1475);
-              nit_exit(1);
-            }
-            fra.me.REG[5] = ATTR_lexer___Lexer____filename(fra.me.REG[0]);
-            REGB10 = TAG_Int(1);
-            REGB10 = TAG_Int(UNTAG_Int(REGB2)+UNTAG_Int(REGB10));
-            REGB9 = TAG_Int(1);
-            REGB9 = TAG_Int(UNTAG_Int(REGB7)+UNTAG_Int(REGB9));
-            REGB11 = TAG_Int(1);
-            REGB11 = TAG_Int(UNTAG_Int(REGB1)+UNTAG_Int(REGB11));
-            fra.me.REG[5] = NEW_Location_location___Location___init(fra.me.REG[5], REGB10, REGB9, REGB11, REGB6);
-            fra.me.REG[5] = NEW_TKwreadable_lexer___TKwreadable___init_tk(fra.me.REG[5]);
-            /* ./parser//lexer.nit:1477 */
-            CALL_lexer___Lexer___push_back(fra.me.REG[0])(fra.me.REG[0], REGB5);
-            /* ./parser//lexer.nit:1478 */
-            ATTR_lexer___Lexer____pos(fra.me.REG[0]) = REGB6;
-            /* ./parser//lexer.nit:1479 */
-            ATTR_lexer___Lexer____line(fra.me.REG[0]) = REGB7;
-            fra.me.REG[4] = fra.me.REG[5];
-            /* ./parser//lexer.nit:1480 */
-            goto label8;
-          }
-          REGB11 = TAG_Int(18);
-          REGB9 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB11));
-          /* ./parser//lexer.nit:1482 */
-          if (UNTAG_Bool(REGB9)) {
-          } else {
-            REGB11 = TAG_Bool((REGB4)==(REGB11));
-            REGB9 = REGB11;
-          /* ./parser//lexer.nit:1482 */
-          }
-          if (UNTAG_Bool(REGB9)) {
-            REGB9 = TAG_Bool(ATTR_lexer___Lexer____filename(fra.me.REG[0])!=NIT_NULL);
-            /* ./parser//lexer.nit:1483 */
-            if (UNTAG_Bool(REGB9)) {
-            } else {
-              fprintf(stderr, "Uninitialized attribute %s", "_filename");
-              fprintf(stderr, " (%s:%d)\n", LOCATE_lexer, 1483);
-              nit_exit(1);
-            }
-            fra.me.REG[5] = ATTR_lexer___Lexer____filename(fra.me.REG[0]);
-            REGB9 = TAG_Int(1);
-            REGB9 = TAG_Int(UNTAG_Int(REGB2)+UNTAG_Int(REGB9));
-            REGB11 = TAG_Int(1);
-            REGB11 = TAG_Int(UNTAG_Int(REGB7)+UNTAG_Int(REGB11));
-            REGB10 = TAG_Int(1);
-            REGB10 = TAG_Int(UNTAG_Int(REGB1)+UNTAG_Int(REGB10));
-            fra.me.REG[5] = NEW_Location_location___Location___init(fra.me.REG[5], REGB9, REGB11, REGB10, REGB6);
-            fra.me.REG[5] = NEW_TKwwritable_lexer___TKwwritable___init_tk(fra.me.REG[5]);
-            /* ./parser//lexer.nit:1485 */
-            CALL_lexer___Lexer___push_back(fra.me.REG[0])(fra.me.REG[0], REGB5);
-            /* ./parser//lexer.nit:1486 */
-            ATTR_lexer___Lexer____pos(fra.me.REG[0]) = REGB6;
-            /* ./parser//lexer.nit:1487 */
-            ATTR_lexer___Lexer____line(fra.me.REG[0]) = REGB7;
-            fra.me.REG[4] = fra.me.REG[5];
-            /* ./parser//lexer.nit:1488 */
-            goto label8;
-          }
-          REGB10 = TAG_Int(19);
-          REGB11 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB10));
-          /* ./parser//lexer.nit:1490 */
-          if (UNTAG_Bool(REGB11)) {
-          } else {
-            REGB10 = TAG_Bool((REGB4)==(REGB10));
-            REGB11 = REGB10;
+          REGB11 = REGB9;
+        }
+        if (UNTAG_Bool(REGB11)) {
+          /* ./parser//lexer.nit:1475 */
+          fra.me.REG[4] = NEW_TKwcontinue_lexer___TKwcontinue___init_tk(fra.me.REG[2]);
+          fra.me.REG[3] = fra.me.REG[4];
+          goto label3;
+        }
+        /* ./parser//lexer.nit:1477 */
+        REGB11 = TAG_Int(37);
+        REGB9 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB11));
+        if (UNTAG_Bool(REGB9)) {
+        } else {
+          /* ./../lib/standard//kernel.nit:207 */
+          REGB11 = TAG_Bool((REGB4)==(REGB11));
+          /* ./parser//lexer.nit:1477 */
+          REGB9 = REGB11;
+        }
+        if (UNTAG_Bool(REGB9)) {
+          /* ./parser//lexer.nit:1478 */
+          fra.me.REG[4] = NEW_TKwbreak_lexer___TKwbreak___init_tk(fra.me.REG[2]);
+          fra.me.REG[3] = fra.me.REG[4];
+          goto label3;
+        }
+        /* ./parser//lexer.nit:1480 */
+        REGB9 = TAG_Int(38);
+        REGB11 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB9));
+        if (UNTAG_Bool(REGB11)) {
+        } else {
+          /* ./../lib/standard//kernel.nit:207 */
+          REGB9 = TAG_Bool((REGB4)==(REGB9));
+          /* ./parser//lexer.nit:1480 */
+          REGB11 = REGB9;
+        }
+        if (UNTAG_Bool(REGB11)) {
+          /* ./parser//lexer.nit:1481 */
+          fra.me.REG[4] = NEW_TKwabort_lexer___TKwabort___init_tk(fra.me.REG[2]);
+          fra.me.REG[3] = fra.me.REG[4];
+          goto label3;
+        }
+        /* ./parser//lexer.nit:1483 */
+        REGB11 = TAG_Int(39);
+        REGB9 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB11));
+        if (UNTAG_Bool(REGB9)) {
+        } else {
+          /* ./../lib/standard//kernel.nit:207 */
+          REGB11 = TAG_Bool((REGB4)==(REGB11));
+          /* ./parser//lexer.nit:1483 */
+          REGB9 = REGB11;
+        }
+        if (UNTAG_Bool(REGB9)) {
+          /* ./parser//lexer.nit:1484 */
+          fra.me.REG[4] = NEW_TKwassert_lexer___TKwassert___init_tk(fra.me.REG[2]);
+          fra.me.REG[3] = fra.me.REG[4];
+          goto label3;
+        }
+        /* ./parser//lexer.nit:1486 */
+        REGB9 = TAG_Int(40);
+        REGB11 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB9));
+        if (UNTAG_Bool(REGB11)) {
+        } else {
+          /* ./../lib/standard//kernel.nit:207 */
+          REGB9 = TAG_Bool((REGB4)==(REGB9));
+          /* ./parser//lexer.nit:1486 */
+          REGB11 = REGB9;
+        }
+        if (UNTAG_Bool(REGB11)) {
+          /* ./parser//lexer.nit:1487 */
+          fra.me.REG[4] = NEW_TKwnew_lexer___TKwnew___init_tk(fra.me.REG[2]);
+          fra.me.REG[3] = fra.me.REG[4];
+          goto label3;
+        }
+        /* ./parser//lexer.nit:1489 */
+        REGB11 = TAG_Int(41);
+        REGB9 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB11));
+        if (UNTAG_Bool(REGB9)) {
+        } else {
+          /* ./../lib/standard//kernel.nit:207 */
+          REGB11 = TAG_Bool((REGB4)==(REGB11));
+          /* ./parser//lexer.nit:1489 */
+          REGB9 = REGB11;
+        }
+        if (UNTAG_Bool(REGB9)) {
           /* ./parser//lexer.nit:1490 */
-          }
-          if (UNTAG_Bool(REGB11)) {
-            REGB11 = TAG_Bool(ATTR_lexer___Lexer____filename(fra.me.REG[0])!=NIT_NULL);
-            /* ./parser//lexer.nit:1491 */
-            if (UNTAG_Bool(REGB11)) {
-            } else {
-              fprintf(stderr, "Uninitialized attribute %s", "_filename");
-              fprintf(stderr, " (%s:%d)\n", LOCATE_lexer, 1491);
-              nit_exit(1);
-            }
-            fra.me.REG[5] = ATTR_lexer___Lexer____filename(fra.me.REG[0]);
-            REGB11 = TAG_Int(1);
-            REGB11 = TAG_Int(UNTAG_Int(REGB2)+UNTAG_Int(REGB11));
-            REGB10 = TAG_Int(1);
-            REGB10 = TAG_Int(UNTAG_Int(REGB7)+UNTAG_Int(REGB10));
-            REGB9 = TAG_Int(1);
-            REGB9 = TAG_Int(UNTAG_Int(REGB1)+UNTAG_Int(REGB9));
-            fra.me.REG[5] = NEW_Location_location___Location___init(fra.me.REG[5], REGB11, REGB10, REGB9, REGB6);
-            fra.me.REG[5] = NEW_TKwvar_lexer___TKwvar___init_tk(fra.me.REG[5]);
-            /* ./parser//lexer.nit:1493 */
-            CALL_lexer___Lexer___push_back(fra.me.REG[0])(fra.me.REG[0], REGB5);
-            /* ./parser//lexer.nit:1494 */
-            ATTR_lexer___Lexer____pos(fra.me.REG[0]) = REGB6;
-            /* ./parser//lexer.nit:1495 */
-            ATTR_lexer___Lexer____line(fra.me.REG[0]) = REGB7;
-            fra.me.REG[4] = fra.me.REG[5];
-            /* ./parser//lexer.nit:1496 */
-            goto label8;
-          }
-          REGB9 = TAG_Int(20);
-          REGB10 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB9));
-          /* ./parser//lexer.nit:1498 */
-          if (UNTAG_Bool(REGB10)) {
-          } else {
-            REGB9 = TAG_Bool((REGB4)==(REGB9));
-            REGB10 = REGB9;
+          fra.me.REG[4] = NEW_TKwisa_lexer___TKwisa___init_tk(fra.me.REG[2]);
+          fra.me.REG[3] = fra.me.REG[4];
+          goto label3;
+        }
+        /* ./parser//lexer.nit:1492 */
+        REGB9 = TAG_Int(42);
+        REGB11 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB9));
+        if (UNTAG_Bool(REGB11)) {
+        } else {
+          /* ./../lib/standard//kernel.nit:207 */
+          REGB9 = TAG_Bool((REGB4)==(REGB9));
+          /* ./parser//lexer.nit:1492 */
+          REGB11 = REGB9;
+        }
+        if (UNTAG_Bool(REGB11)) {
+          /* ./parser//lexer.nit:1493 */
+          fra.me.REG[4] = NEW_TKwonce_lexer___TKwonce___init_tk(fra.me.REG[2]);
+          fra.me.REG[3] = fra.me.REG[4];
+          goto label3;
+        }
+        /* ./parser//lexer.nit:1495 */
+        REGB11 = TAG_Int(43);
+        REGB9 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB11));
+        if (UNTAG_Bool(REGB9)) {
+        } else {
+          /* ./../lib/standard//kernel.nit:207 */
+          REGB11 = TAG_Bool((REGB4)==(REGB11));
+          /* ./parser//lexer.nit:1495 */
+          REGB9 = REGB11;
+        }
+        if (UNTAG_Bool(REGB9)) {
+          /* ./parser//lexer.nit:1496 */
+          fra.me.REG[4] = NEW_TKwsuper_lexer___TKwsuper___init_tk(fra.me.REG[2]);
+          fra.me.REG[3] = fra.me.REG[4];
+          goto label3;
+        }
+        /* ./parser//lexer.nit:1498 */
+        REGB9 = TAG_Int(44);
+        REGB11 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB9));
+        if (UNTAG_Bool(REGB11)) {
+        } else {
+          /* ./../lib/standard//kernel.nit:207 */
+          REGB9 = TAG_Bool((REGB4)==(REGB9));
           /* ./parser//lexer.nit:1498 */
-          }
-          if (UNTAG_Bool(REGB10)) {
-            REGB10 = TAG_Bool(ATTR_lexer___Lexer____filename(fra.me.REG[0])!=NIT_NULL);
-            /* ./parser//lexer.nit:1499 */
-            if (UNTAG_Bool(REGB10)) {
-            } else {
-              fprintf(stderr, "Uninitialized attribute %s", "_filename");
-              fprintf(stderr, " (%s:%d)\n", LOCATE_lexer, 1499);
-              nit_exit(1);
-            }
-            fra.me.REG[5] = ATTR_lexer___Lexer____filename(fra.me.REG[0]);
-            REGB10 = TAG_Int(1);
-            REGB10 = TAG_Int(UNTAG_Int(REGB2)+UNTAG_Int(REGB10));
-            REGB9 = TAG_Int(1);
-            REGB9 = TAG_Int(UNTAG_Int(REGB7)+UNTAG_Int(REGB9));
-            REGB11 = TAG_Int(1);
-            REGB11 = TAG_Int(UNTAG_Int(REGB1)+UNTAG_Int(REGB11));
-            fra.me.REG[5] = NEW_Location_location___Location___init(fra.me.REG[5], REGB10, REGB9, REGB11, REGB6);
-            fra.me.REG[5] = NEW_TKwintern_lexer___TKwintern___init_tk(fra.me.REG[5]);
-            /* ./parser//lexer.nit:1501 */
-            CALL_lexer___Lexer___push_back(fra.me.REG[0])(fra.me.REG[0], REGB5);
-            /* ./parser//lexer.nit:1502 */
-            ATTR_lexer___Lexer____pos(fra.me.REG[0]) = REGB6;
-            /* ./parser//lexer.nit:1503 */
-            ATTR_lexer___Lexer____line(fra.me.REG[0]) = REGB7;
-            fra.me.REG[4] = fra.me.REG[5];
-            /* ./parser//lexer.nit:1504 */
-            goto label8;
-          }
-          REGB11 = TAG_Int(21);
-          REGB9 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB11));
-          /* ./parser//lexer.nit:1506 */
-          if (UNTAG_Bool(REGB9)) {
-          } else {
-            REGB11 = TAG_Bool((REGB4)==(REGB11));
-            REGB9 = REGB11;
-          /* ./parser//lexer.nit:1506 */
-          }
-          if (UNTAG_Bool(REGB9)) {
-            REGB9 = TAG_Bool(ATTR_lexer___Lexer____filename(fra.me.REG[0])!=NIT_NULL);
-            /* ./parser//lexer.nit:1507 */
-            if (UNTAG_Bool(REGB9)) {
-            } else {
-              fprintf(stderr, "Uninitialized attribute %s", "_filename");
-              fprintf(stderr, " (%s:%d)\n", LOCATE_lexer, 1507);
-              nit_exit(1);
-            }
-            fra.me.REG[5] = ATTR_lexer___Lexer____filename(fra.me.REG[0]);
-            REGB9 = TAG_Int(1);
-            REGB9 = TAG_Int(UNTAG_Int(REGB2)+UNTAG_Int(REGB9));
-            REGB11 = TAG_Int(1);
-            REGB11 = TAG_Int(UNTAG_Int(REGB7)+UNTAG_Int(REGB11));
-            REGB10 = TAG_Int(1);
-            REGB10 = TAG_Int(UNTAG_Int(REGB1)+UNTAG_Int(REGB10));
-            fra.me.REG[5] = NEW_Location_location___Location___init(fra.me.REG[5], REGB9, REGB11, REGB10, REGB6);
-            fra.me.REG[5] = NEW_TKwextern_lexer___TKwextern___init_tk(fra.me.REG[5]);
-            /* ./parser//lexer.nit:1509 */
-            CALL_lexer___Lexer___push_back(fra.me.REG[0])(fra.me.REG[0], REGB5);
-            /* ./parser//lexer.nit:1510 */
-            ATTR_lexer___Lexer____pos(fra.me.REG[0]) = REGB6;
-            /* ./parser//lexer.nit:1511 */
-            ATTR_lexer___Lexer____line(fra.me.REG[0]) = REGB7;
-            fra.me.REG[4] = fra.me.REG[5];
-            /* ./parser//lexer.nit:1512 */
-            goto label8;
-          }
-          REGB10 = TAG_Int(22);
-          REGB11 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB10));
-          /* ./parser//lexer.nit:1514 */
-          if (UNTAG_Bool(REGB11)) {
-          } else {
-            REGB10 = TAG_Bool((REGB4)==(REGB10));
-            REGB11 = REGB10;
-          /* ./parser//lexer.nit:1514 */
-          }
-          if (UNTAG_Bool(REGB11)) {
-            REGB11 = TAG_Bool(ATTR_lexer___Lexer____filename(fra.me.REG[0])!=NIT_NULL);
-            /* ./parser//lexer.nit:1515 */
-            if (UNTAG_Bool(REGB11)) {
-            } else {
-              fprintf(stderr, "Uninitialized attribute %s", "_filename");
-              fprintf(stderr, " (%s:%d)\n", LOCATE_lexer, 1515);
-              nit_exit(1);
-            }
-            fra.me.REG[5] = ATTR_lexer___Lexer____filename(fra.me.REG[0]);
-            REGB11 = TAG_Int(1);
-            REGB11 = TAG_Int(UNTAG_Int(REGB2)+UNTAG_Int(REGB11));
-            REGB10 = TAG_Int(1);
-            REGB10 = TAG_Int(UNTAG_Int(REGB7)+UNTAG_Int(REGB10));
-            REGB9 = TAG_Int(1);
-            REGB9 = TAG_Int(UNTAG_Int(REGB1)+UNTAG_Int(REGB9));
-            fra.me.REG[5] = NEW_Location_location___Location___init(fra.me.REG[5], REGB11, REGB10, REGB9, REGB6);
-            fra.me.REG[5] = NEW_TKwprotected_lexer___TKwprotected___init_tk(fra.me.REG[5]);
-            /* ./parser//lexer.nit:1517 */
-            CALL_lexer___Lexer___push_back(fra.me.REG[0])(fra.me.REG[0], REGB5);
-            /* ./parser//lexer.nit:1518 */
-            ATTR_lexer___Lexer____pos(fra.me.REG[0]) = REGB6;
-            /* ./parser//lexer.nit:1519 */
-            ATTR_lexer___Lexer____line(fra.me.REG[0]) = REGB7;
-            fra.me.REG[4] = fra.me.REG[5];
-            /* ./parser//lexer.nit:1520 */
-            goto label8;
-          }
-          REGB9 = TAG_Int(23);
-          REGB10 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB9));
-          /* ./parser//lexer.nit:1522 */
-          if (UNTAG_Bool(REGB10)) {
-          } else {
-            REGB9 = TAG_Bool((REGB4)==(REGB9));
-            REGB10 = REGB9;
-          /* ./parser//lexer.nit:1522 */
-          }
-          if (UNTAG_Bool(REGB10)) {
-            REGB10 = TAG_Bool(ATTR_lexer___Lexer____filename(fra.me.REG[0])!=NIT_NULL);
-            /* ./parser//lexer.nit:1523 */
-            if (UNTAG_Bool(REGB10)) {
-            } else {
-              fprintf(stderr, "Uninitialized attribute %s", "_filename");
-              fprintf(stderr, " (%s:%d)\n", LOCATE_lexer, 1523);
-              nit_exit(1);
-            }
-            fra.me.REG[5] = ATTR_lexer___Lexer____filename(fra.me.REG[0]);
-            REGB10 = TAG_Int(1);
-            REGB10 = TAG_Int(UNTAG_Int(REGB2)+UNTAG_Int(REGB10));
-            REGB9 = TAG_Int(1);
-            REGB9 = TAG_Int(UNTAG_Int(REGB7)+UNTAG_Int(REGB9));
-            REGB11 = TAG_Int(1);
-            REGB11 = TAG_Int(UNTAG_Int(REGB1)+UNTAG_Int(REGB11));
-            fra.me.REG[5] = NEW_Location_location___Location___init(fra.me.REG[5], REGB10, REGB9, REGB11, REGB6);
-            fra.me.REG[5] = NEW_TKwprivate_lexer___TKwprivate___init_tk(fra.me.REG[5]);
-            /* ./parser//lexer.nit:1525 */
-            CALL_lexer___Lexer___push_back(fra.me.REG[0])(fra.me.REG[0], REGB5);
-            /* ./parser//lexer.nit:1526 */
-            ATTR_lexer___Lexer____pos(fra.me.REG[0]) = REGB6;
-            /* ./parser//lexer.nit:1527 */
-            ATTR_lexer___Lexer____line(fra.me.REG[0]) = REGB7;
-            fra.me.REG[4] = fra.me.REG[5];
-            /* ./parser//lexer.nit:1528 */
-            goto label8;
-          }
-          REGB11 = TAG_Int(24);
-          REGB9 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB11));
-          /* ./parser//lexer.nit:1530 */
-          if (UNTAG_Bool(REGB9)) {
-          } else {
-            REGB11 = TAG_Bool((REGB4)==(REGB11));
-            REGB9 = REGB11;
-          /* ./parser//lexer.nit:1530 */
-          }
-          if (UNTAG_Bool(REGB9)) {
-            REGB9 = TAG_Bool(ATTR_lexer___Lexer____filename(fra.me.REG[0])!=NIT_NULL);
-            /* ./parser//lexer.nit:1531 */
-            if (UNTAG_Bool(REGB9)) {
-            } else {
-              fprintf(stderr, "Uninitialized attribute %s", "_filename");
-              fprintf(stderr, " (%s:%d)\n", LOCATE_lexer, 1531);
-              nit_exit(1);
-            }
-            fra.me.REG[5] = ATTR_lexer___Lexer____filename(fra.me.REG[0]);
-            REGB9 = TAG_Int(1);
-            REGB9 = TAG_Int(UNTAG_Int(REGB2)+UNTAG_Int(REGB9));
-            REGB11 = TAG_Int(1);
-            REGB11 = TAG_Int(UNTAG_Int(REGB7)+UNTAG_Int(REGB11));
-            REGB10 = TAG_Int(1);
-            REGB10 = TAG_Int(UNTAG_Int(REGB1)+UNTAG_Int(REGB10));
-            fra.me.REG[5] = NEW_Location_location___Location___init(fra.me.REG[5], REGB9, REGB11, REGB10, REGB6);
-            fra.me.REG[5] = NEW_TKwintrude_lexer___TKwintrude___init_tk(fra.me.REG[5]);
-            /* ./parser//lexer.nit:1533 */
-            CALL_lexer___Lexer___push_back(fra.me.REG[0])(fra.me.REG[0], REGB5);
-            /* ./parser//lexer.nit:1534 */
-            ATTR_lexer___Lexer____pos(fra.me.REG[0]) = REGB6;
-            /* ./parser//lexer.nit:1535 */
-            ATTR_lexer___Lexer____line(fra.me.REG[0]) = REGB7;
-            fra.me.REG[4] = fra.me.REG[5];
-            /* ./parser//lexer.nit:1536 */
-            goto label8;
-          }
-          REGB10 = TAG_Int(25);
-          REGB11 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB10));
-          /* ./parser//lexer.nit:1538 */
-          if (UNTAG_Bool(REGB11)) {
-          } else {
-            REGB10 = TAG_Bool((REGB4)==(REGB10));
-            REGB11 = REGB10;
-          /* ./parser//lexer.nit:1538 */
-          }
-          if (UNTAG_Bool(REGB11)) {
-            REGB11 = TAG_Bool(ATTR_lexer___Lexer____filename(fra.me.REG[0])!=NIT_NULL);
-            /* ./parser//lexer.nit:1539 */
-            if (UNTAG_Bool(REGB11)) {
-            } else {
-              fprintf(stderr, "Uninitialized attribute %s", "_filename");
-              fprintf(stderr, " (%s:%d)\n", LOCATE_lexer, 1539);
-              nit_exit(1);
-            }
-            fra.me.REG[5] = ATTR_lexer___Lexer____filename(fra.me.REG[0]);
-            REGB11 = TAG_Int(1);
-            REGB11 = TAG_Int(UNTAG_Int(REGB2)+UNTAG_Int(REGB11));
-            REGB10 = TAG_Int(1);
-            REGB10 = TAG_Int(UNTAG_Int(REGB7)+UNTAG_Int(REGB10));
-            REGB9 = TAG_Int(1);
-            REGB9 = TAG_Int(UNTAG_Int(REGB1)+UNTAG_Int(REGB9));
-            fra.me.REG[5] = NEW_Location_location___Location___init(fra.me.REG[5], REGB11, REGB10, REGB9, REGB6);
-            fra.me.REG[5] = NEW_TKwif_lexer___TKwif___init_tk(fra.me.REG[5]);
-            /* ./parser//lexer.nit:1541 */
-            CALL_lexer___Lexer___push_back(fra.me.REG[0])(fra.me.REG[0], REGB5);
-            /* ./parser//lexer.nit:1542 */
-            ATTR_lexer___Lexer____pos(fra.me.REG[0]) = REGB6;
-            /* ./parser//lexer.nit:1543 */
-            ATTR_lexer___Lexer____line(fra.me.REG[0]) = REGB7;
-            fra.me.REG[4] = fra.me.REG[5];
-            /* ./parser//lexer.nit:1544 */
-            goto label8;
-          }
-          REGB9 = TAG_Int(26);
-          REGB10 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB9));
-          /* ./parser//lexer.nit:1546 */
-          if (UNTAG_Bool(REGB10)) {
-          } else {
-            REGB9 = TAG_Bool((REGB4)==(REGB9));
-            REGB10 = REGB9;
+          REGB11 = REGB9;
+        }
+        if (UNTAG_Bool(REGB11)) {
+          /* ./parser//lexer.nit:1499 */
+          fra.me.REG[4] = NEW_TKwself_lexer___TKwself___init_tk(fra.me.REG[2]);
+          fra.me.REG[3] = fra.me.REG[4];
+          goto label3;
+        }
+        /* ./parser//lexer.nit:1501 */
+        REGB11 = TAG_Int(45);
+        REGB9 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB11));
+        if (UNTAG_Bool(REGB9)) {
+        } else {
+          /* ./../lib/standard//kernel.nit:207 */
+          REGB11 = TAG_Bool((REGB4)==(REGB11));
+          /* ./parser//lexer.nit:1501 */
+          REGB9 = REGB11;
+        }
+        if (UNTAG_Bool(REGB9)) {
+          /* ./parser//lexer.nit:1502 */
+          fra.me.REG[4] = NEW_TKwtrue_lexer___TKwtrue___init_tk(fra.me.REG[2]);
+          fra.me.REG[3] = fra.me.REG[4];
+          goto label3;
+        }
+        /* ./parser//lexer.nit:1504 */
+        REGB9 = TAG_Int(46);
+        REGB11 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB9));
+        if (UNTAG_Bool(REGB11)) {
+        } else {
+          /* ./../lib/standard//kernel.nit:207 */
+          REGB9 = TAG_Bool((REGB4)==(REGB9));
+          /* ./parser//lexer.nit:1504 */
+          REGB11 = REGB9;
+        }
+        if (UNTAG_Bool(REGB11)) {
+          /* ./parser//lexer.nit:1505 */
+          fra.me.REG[4] = NEW_TKwfalse_lexer___TKwfalse___init_tk(fra.me.REG[2]);
+          fra.me.REG[3] = fra.me.REG[4];
+          goto label3;
+        }
+        /* ./parser//lexer.nit:1507 */
+        REGB11 = TAG_Int(47);
+        REGB9 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB11));
+        if (UNTAG_Bool(REGB9)) {
+        } else {
+          /* ./../lib/standard//kernel.nit:207 */
+          REGB11 = TAG_Bool((REGB4)==(REGB11));
+          /* ./parser//lexer.nit:1507 */
+          REGB9 = REGB11;
+        }
+        if (UNTAG_Bool(REGB9)) {
+          /* ./parser//lexer.nit:1508 */
+          fra.me.REG[4] = NEW_TKwnull_lexer___TKwnull___init_tk(fra.me.REG[2]);
+          fra.me.REG[3] = fra.me.REG[4];
+          goto label3;
+        }
+        /* ./parser//lexer.nit:1510 */
+        REGB9 = TAG_Int(48);
+        REGB11 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB9));
+        if (UNTAG_Bool(REGB11)) {
+        } else {
+          /* ./../lib/standard//kernel.nit:207 */
+          REGB9 = TAG_Bool((REGB4)==(REGB9));
+          /* ./parser//lexer.nit:1510 */
+          REGB11 = REGB9;
+        }
+        if (UNTAG_Bool(REGB11)) {
+          /* ./parser//lexer.nit:1511 */
+          fra.me.REG[4] = NEW_TKwas_lexer___TKwas___init_tk(fra.me.REG[2]);
+          fra.me.REG[3] = fra.me.REG[4];
+          goto label3;
+        }
+        /* ./parser//lexer.nit:1513 */
+        REGB11 = TAG_Int(49);
+        REGB9 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB11));
+        if (UNTAG_Bool(REGB9)) {
+        } else {
+          /* ./../lib/standard//kernel.nit:207 */
+          REGB11 = TAG_Bool((REGB4)==(REGB11));
+          /* ./parser//lexer.nit:1513 */
+          REGB9 = REGB11;
+        }
+        if (UNTAG_Bool(REGB9)) {
+          /* ./parser//lexer.nit:1514 */
+          fra.me.REG[4] = NEW_TKwnullable_lexer___TKwnullable___init_tk(fra.me.REG[2]);
+          fra.me.REG[3] = fra.me.REG[4];
+          goto label3;
+        }
+        /* ./parser//lexer.nit:1516 */
+        REGB9 = TAG_Int(50);
+        REGB11 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB9));
+        if (UNTAG_Bool(REGB11)) {
+        } else {
+          /* ./../lib/standard//kernel.nit:207 */
+          REGB9 = TAG_Bool((REGB4)==(REGB9));
+          /* ./parser//lexer.nit:1516 */
+          REGB11 = REGB9;
+        }
+        if (UNTAG_Bool(REGB11)) {
+          /* ./parser//lexer.nit:1517 */
+          fra.me.REG[4] = NEW_TKwisset_lexer___TKwisset___init_tk(fra.me.REG[2]);
+          fra.me.REG[3] = fra.me.REG[4];
+          goto label3;
+        }
+        /* ./parser//lexer.nit:1519 */
+        REGB11 = TAG_Int(51);
+        REGB9 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB11));
+        if (UNTAG_Bool(REGB9)) {
+        } else {
+          /* ./../lib/standard//kernel.nit:207 */
+          REGB11 = TAG_Bool((REGB4)==(REGB11));
+          /* ./parser//lexer.nit:1519 */
+          REGB9 = REGB11;
+        }
+        if (UNTAG_Bool(REGB9)) {
+          /* ./parser//lexer.nit:1520 */
+          fra.me.REG[4] = NEW_TKwlabel_lexer___TKwlabel___init_tk(fra.me.REG[2]);
+          fra.me.REG[3] = fra.me.REG[4];
+          goto label3;
+        }
+        /* ./parser//lexer.nit:1522 */
+        REGB9 = TAG_Int(52);
+        REGB11 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB9));
+        if (UNTAG_Bool(REGB11)) {
+        } else {
+          /* ./../lib/standard//kernel.nit:207 */
+          REGB9 = TAG_Bool((REGB4)==(REGB9));
+          /* ./parser//lexer.nit:1522 */
+          REGB11 = REGB9;
+        }
+        if (UNTAG_Bool(REGB11)) {
+          /* ./parser//lexer.nit:1523 */
+          fra.me.REG[4] = NEW_TOpar_lexer___TOpar___init_tk(fra.me.REG[2]);
+          fra.me.REG[3] = fra.me.REG[4];
+          goto label3;
+        }
+        /* ./parser//lexer.nit:1525 */
+        REGB11 = TAG_Int(53);
+        REGB9 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB11));
+        if (UNTAG_Bool(REGB9)) {
+        } else {
+          /* ./../lib/standard//kernel.nit:207 */
+          REGB11 = TAG_Bool((REGB4)==(REGB11));
+          /* ./parser//lexer.nit:1525 */
+          REGB9 = REGB11;
+        }
+        if (UNTAG_Bool(REGB9)) {
+          /* ./parser//lexer.nit:1526 */
+          fra.me.REG[4] = NEW_TCpar_lexer___TCpar___init_tk(fra.me.REG[2]);
+          fra.me.REG[3] = fra.me.REG[4];
+          goto label3;
+        }
+        /* ./parser//lexer.nit:1528 */
+        REGB9 = TAG_Int(54);
+        REGB11 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB9));
+        if (UNTAG_Bool(REGB11)) {
+        } else {
+          /* ./../lib/standard//kernel.nit:207 */
+          REGB9 = TAG_Bool((REGB4)==(REGB9));
+          /* ./parser//lexer.nit:1528 */
+          REGB11 = REGB9;
+        }
+        if (UNTAG_Bool(REGB11)) {
+          /* ./parser//lexer.nit:1529 */
+          fra.me.REG[4] = NEW_TObra_lexer___TObra___init_tk(fra.me.REG[2]);
+          fra.me.REG[3] = fra.me.REG[4];
+          goto label3;
+        }
+        /* ./parser//lexer.nit:1531 */
+        REGB11 = TAG_Int(55);
+        REGB9 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB11));
+        if (UNTAG_Bool(REGB9)) {
+        } else {
+          /* ./../lib/standard//kernel.nit:207 */
+          REGB11 = TAG_Bool((REGB4)==(REGB11));
+          /* ./parser//lexer.nit:1531 */
+          REGB9 = REGB11;
+        }
+        if (UNTAG_Bool(REGB9)) {
+          /* ./parser//lexer.nit:1532 */
+          fra.me.REG[4] = NEW_TCbra_lexer___TCbra___init_tk(fra.me.REG[2]);
+          fra.me.REG[3] = fra.me.REG[4];
+          goto label3;
+        }
+        /* ./parser//lexer.nit:1534 */
+        REGB9 = TAG_Int(56);
+        REGB11 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB9));
+        if (UNTAG_Bool(REGB11)) {
+        } else {
+          /* ./../lib/standard//kernel.nit:207 */
+          REGB9 = TAG_Bool((REGB4)==(REGB9));
+          /* ./parser//lexer.nit:1534 */
+          REGB11 = REGB9;
+        }
+        if (UNTAG_Bool(REGB11)) {
+          /* ./parser//lexer.nit:1535 */
+          fra.me.REG[4] = NEW_TComma_lexer___TComma___init_tk(fra.me.REG[2]);
+          fra.me.REG[3] = fra.me.REG[4];
+          goto label3;
+        }
+        /* ./parser//lexer.nit:1537 */
+        REGB11 = TAG_Int(57);
+        REGB9 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB11));
+        if (UNTAG_Bool(REGB9)) {
+        } else {
+          /* ./../lib/standard//kernel.nit:207 */
+          REGB11 = TAG_Bool((REGB4)==(REGB11));
+          /* ./parser//lexer.nit:1537 */
+          REGB9 = REGB11;
+        }
+        if (UNTAG_Bool(REGB9)) {
+          /* ./parser//lexer.nit:1538 */
+          fra.me.REG[4] = NEW_TColumn_lexer___TColumn___init_tk(fra.me.REG[2]);
+          fra.me.REG[3] = fra.me.REG[4];
+          goto label3;
+        }
+        /* ./parser//lexer.nit:1540 */
+        REGB9 = TAG_Int(58);
+        REGB11 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB9));
+        if (UNTAG_Bool(REGB11)) {
+        } else {
+          /* ./../lib/standard//kernel.nit:207 */
+          REGB9 = TAG_Bool((REGB4)==(REGB9));
+          /* ./parser//lexer.nit:1540 */
+          REGB11 = REGB9;
+        }
+        if (UNTAG_Bool(REGB11)) {
+          /* ./parser//lexer.nit:1541 */
+          fra.me.REG[4] = NEW_TQuad_lexer___TQuad___init_tk(fra.me.REG[2]);
+          fra.me.REG[3] = fra.me.REG[4];
+          goto label3;
+        }
+        /* ./parser//lexer.nit:1543 */
+        REGB11 = TAG_Int(59);
+        REGB9 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB11));
+        if (UNTAG_Bool(REGB9)) {
+        } else {
+          /* ./../lib/standard//kernel.nit:207 */
+          REGB11 = TAG_Bool((REGB4)==(REGB11));
+          /* ./parser//lexer.nit:1543 */
+          REGB9 = REGB11;
+        }
+        if (UNTAG_Bool(REGB9)) {
+          /* ./parser//lexer.nit:1544 */
+          fra.me.REG[4] = NEW_TAssign_lexer___TAssign___init_tk(fra.me.REG[2]);
+          fra.me.REG[3] = fra.me.REG[4];
+          goto label3;
+        }
+        /* ./parser//lexer.nit:1546 */
+        REGB9 = TAG_Int(60);
+        REGB11 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB9));
+        if (UNTAG_Bool(REGB11)) {
+        } else {
+          /* ./../lib/standard//kernel.nit:207 */
+          REGB9 = TAG_Bool((REGB4)==(REGB9));
           /* ./parser//lexer.nit:1546 */
-          }
-          if (UNTAG_Bool(REGB10)) {
-            REGB10 = TAG_Bool(ATTR_lexer___Lexer____filename(fra.me.REG[0])!=NIT_NULL);
-            /* ./parser//lexer.nit:1547 */
-            if (UNTAG_Bool(REGB10)) {
-            } else {
-              fprintf(stderr, "Uninitialized attribute %s", "_filename");
-              fprintf(stderr, " (%s:%d)\n", LOCATE_lexer, 1547);
-              nit_exit(1);
-            }
-            fra.me.REG[5] = ATTR_lexer___Lexer____filename(fra.me.REG[0]);
-            REGB10 = TAG_Int(1);
-            REGB10 = TAG_Int(UNTAG_Int(REGB2)+UNTAG_Int(REGB10));
-            REGB9 = TAG_Int(1);
-            REGB9 = TAG_Int(UNTAG_Int(REGB7)+UNTAG_Int(REGB9));
-            REGB11 = TAG_Int(1);
-            REGB11 = TAG_Int(UNTAG_Int(REGB1)+UNTAG_Int(REGB11));
-            fra.me.REG[5] = NEW_Location_location___Location___init(fra.me.REG[5], REGB10, REGB9, REGB11, REGB6);
-            fra.me.REG[5] = NEW_TKwthen_lexer___TKwthen___init_tk(fra.me.REG[5]);
-            /* ./parser//lexer.nit:1549 */
-            CALL_lexer___Lexer___push_back(fra.me.REG[0])(fra.me.REG[0], REGB5);
-            /* ./parser//lexer.nit:1550 */
-            ATTR_lexer___Lexer____pos(fra.me.REG[0]) = REGB6;
-            /* ./parser//lexer.nit:1551 */
-            ATTR_lexer___Lexer____line(fra.me.REG[0]) = REGB7;
-            fra.me.REG[4] = fra.me.REG[5];
-            /* ./parser//lexer.nit:1552 */
-            goto label8;
-          }
-          REGB11 = TAG_Int(27);
-          REGB9 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB11));
-          /* ./parser//lexer.nit:1554 */
-          if (UNTAG_Bool(REGB9)) {
-          } else {
-            REGB11 = TAG_Bool((REGB4)==(REGB11));
-            REGB9 = REGB11;
-          /* ./parser//lexer.nit:1554 */
-          }
-          if (UNTAG_Bool(REGB9)) {
-            REGB9 = TAG_Bool(ATTR_lexer___Lexer____filename(fra.me.REG[0])!=NIT_NULL);
-            /* ./parser//lexer.nit:1555 */
-            if (UNTAG_Bool(REGB9)) {
-            } else {
-              fprintf(stderr, "Uninitialized attribute %s", "_filename");
-              fprintf(stderr, " (%s:%d)\n", LOCATE_lexer, 1555);
-              nit_exit(1);
-            }
-            fra.me.REG[5] = ATTR_lexer___Lexer____filename(fra.me.REG[0]);
-            REGB9 = TAG_Int(1);
-            REGB9 = TAG_Int(UNTAG_Int(REGB2)+UNTAG_Int(REGB9));
-            REGB11 = TAG_Int(1);
-            REGB11 = TAG_Int(UNTAG_Int(REGB7)+UNTAG_Int(REGB11));
-            REGB10 = TAG_Int(1);
-            REGB10 = TAG_Int(UNTAG_Int(REGB1)+UNTAG_Int(REGB10));
-            fra.me.REG[5] = NEW_Location_location___Location___init(fra.me.REG[5], REGB9, REGB11, REGB10, REGB6);
-            fra.me.REG[5] = NEW_TKwelse_lexer___TKwelse___init_tk(fra.me.REG[5]);
-            /* ./parser//lexer.nit:1557 */
-            CALL_lexer___Lexer___push_back(fra.me.REG[0])(fra.me.REG[0], REGB5);
-            /* ./parser//lexer.nit:1558 */
-            ATTR_lexer___Lexer____pos(fra.me.REG[0]) = REGB6;
-            /* ./parser//lexer.nit:1559 */
-            ATTR_lexer___Lexer____line(fra.me.REG[0]) = REGB7;
-            fra.me.REG[4] = fra.me.REG[5];
-            /* ./parser//lexer.nit:1560 */
-            goto label8;
-          }
-          REGB10 = TAG_Int(28);
-          REGB11 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB10));
-          /* ./parser//lexer.nit:1562 */
-          if (UNTAG_Bool(REGB11)) {
-          } else {
-            REGB10 = TAG_Bool((REGB4)==(REGB10));
-            REGB11 = REGB10;
+          REGB11 = REGB9;
+        }
+        if (UNTAG_Bool(REGB11)) {
+          /* ./parser//lexer.nit:1547 */
+          fra.me.REG[4] = NEW_TPluseq_lexer___TPluseq___init_tk(fra.me.REG[2]);
+          fra.me.REG[3] = fra.me.REG[4];
+          goto label3;
+        }
+        /* ./parser//lexer.nit:1549 */
+        REGB11 = TAG_Int(61);
+        REGB9 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB11));
+        if (UNTAG_Bool(REGB9)) {
+        } else {
+          /* ./../lib/standard//kernel.nit:207 */
+          REGB11 = TAG_Bool((REGB4)==(REGB11));
+          /* ./parser//lexer.nit:1549 */
+          REGB9 = REGB11;
+        }
+        if (UNTAG_Bool(REGB9)) {
+          /* ./parser//lexer.nit:1550 */
+          fra.me.REG[4] = NEW_TMinuseq_lexer___TMinuseq___init_tk(fra.me.REG[2]);
+          fra.me.REG[3] = fra.me.REG[4];
+          goto label3;
+        }
+        /* ./parser//lexer.nit:1552 */
+        REGB9 = TAG_Int(62);
+        REGB11 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB9));
+        if (UNTAG_Bool(REGB11)) {
+        } else {
+          /* ./../lib/standard//kernel.nit:207 */
+          REGB9 = TAG_Bool((REGB4)==(REGB9));
+          /* ./parser//lexer.nit:1552 */
+          REGB11 = REGB9;
+        }
+        if (UNTAG_Bool(REGB11)) {
+          /* ./parser//lexer.nit:1553 */
+          fra.me.REG[4] = NEW_TDotdotdot_lexer___TDotdotdot___init_tk(fra.me.REG[2]);
+          fra.me.REG[3] = fra.me.REG[4];
+          goto label3;
+        }
+        /* ./parser//lexer.nit:1555 */
+        REGB11 = TAG_Int(63);
+        REGB9 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB11));
+        if (UNTAG_Bool(REGB9)) {
+        } else {
+          /* ./../lib/standard//kernel.nit:207 */
+          REGB11 = TAG_Bool((REGB4)==(REGB11));
+          /* ./parser//lexer.nit:1555 */
+          REGB9 = REGB11;
+        }
+        if (UNTAG_Bool(REGB9)) {
+          /* ./parser//lexer.nit:1556 */
+          fra.me.REG[4] = NEW_TDotdot_lexer___TDotdot___init_tk(fra.me.REG[2]);
+          fra.me.REG[3] = fra.me.REG[4];
+          goto label3;
+        }
+        /* ./parser//lexer.nit:1558 */
+        REGB9 = TAG_Int(64);
+        REGB11 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB9));
+        if (UNTAG_Bool(REGB11)) {
+        } else {
+          /* ./../lib/standard//kernel.nit:207 */
+          REGB9 = TAG_Bool((REGB4)==(REGB9));
+          /* ./parser//lexer.nit:1558 */
+          REGB11 = REGB9;
+        }
+        if (UNTAG_Bool(REGB11)) {
+          /* ./parser//lexer.nit:1559 */
+          fra.me.REG[4] = NEW_TDot_lexer___TDot___init_tk(fra.me.REG[2]);
+          fra.me.REG[3] = fra.me.REG[4];
+          goto label3;
+        }
+        /* ./parser//lexer.nit:1561 */
+        REGB11 = TAG_Int(65);
+        REGB9 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB11));
+        if (UNTAG_Bool(REGB9)) {
+        } else {
+          /* ./../lib/standard//kernel.nit:207 */
+          REGB11 = TAG_Bool((REGB4)==(REGB11));
+          /* ./parser//lexer.nit:1561 */
+          REGB9 = REGB11;
+        }
+        if (UNTAG_Bool(REGB9)) {
           /* ./parser//lexer.nit:1562 */
-          }
-          if (UNTAG_Bool(REGB11)) {
-            REGB11 = TAG_Bool(ATTR_lexer___Lexer____filename(fra.me.REG[0])!=NIT_NULL);
-            /* ./parser//lexer.nit:1563 */
-            if (UNTAG_Bool(REGB11)) {
-            } else {
-              fprintf(stderr, "Uninitialized attribute %s", "_filename");
-              fprintf(stderr, " (%s:%d)\n", LOCATE_lexer, 1563);
-              nit_exit(1);
-            }
-            fra.me.REG[5] = ATTR_lexer___Lexer____filename(fra.me.REG[0]);
-            REGB11 = TAG_Int(1);
-            REGB11 = TAG_Int(UNTAG_Int(REGB2)+UNTAG_Int(REGB11));
-            REGB10 = TAG_Int(1);
-            REGB10 = TAG_Int(UNTAG_Int(REGB7)+UNTAG_Int(REGB10));
-            REGB9 = TAG_Int(1);
-            REGB9 = TAG_Int(UNTAG_Int(REGB1)+UNTAG_Int(REGB9));
-            fra.me.REG[5] = NEW_Location_location___Location___init(fra.me.REG[5], REGB11, REGB10, REGB9, REGB6);
-            fra.me.REG[5] = NEW_TKwwhile_lexer___TKwwhile___init_tk(fra.me.REG[5]);
-            /* ./parser//lexer.nit:1565 */
-            CALL_lexer___Lexer___push_back(fra.me.REG[0])(fra.me.REG[0], REGB5);
-            /* ./parser//lexer.nit:1566 */
-            ATTR_lexer___Lexer____pos(fra.me.REG[0]) = REGB6;
-            /* ./parser//lexer.nit:1567 */
-            ATTR_lexer___Lexer____line(fra.me.REG[0]) = REGB7;
-            fra.me.REG[4] = fra.me.REG[5];
-            /* ./parser//lexer.nit:1568 */
-            goto label8;
-          }
-          REGB9 = TAG_Int(29);
-          REGB10 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB9));
-          /* ./parser//lexer.nit:1570 */
-          if (UNTAG_Bool(REGB10)) {
-          } else {
-            REGB9 = TAG_Bool((REGB4)==(REGB9));
-            REGB10 = REGB9;
+          fra.me.REG[4] = NEW_TPlus_lexer___TPlus___init_tk(fra.me.REG[2]);
+          fra.me.REG[3] = fra.me.REG[4];
+          goto label3;
+        }
+        /* ./parser//lexer.nit:1564 */
+        REGB9 = TAG_Int(66);
+        REGB11 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB9));
+        if (UNTAG_Bool(REGB11)) {
+        } else {
+          /* ./../lib/standard//kernel.nit:207 */
+          REGB9 = TAG_Bool((REGB4)==(REGB9));
+          /* ./parser//lexer.nit:1564 */
+          REGB11 = REGB9;
+        }
+        if (UNTAG_Bool(REGB11)) {
+          /* ./parser//lexer.nit:1565 */
+          fra.me.REG[4] = NEW_TMinus_lexer___TMinus___init_tk(fra.me.REG[2]);
+          fra.me.REG[3] = fra.me.REG[4];
+          goto label3;
+        }
+        /* ./parser//lexer.nit:1567 */
+        REGB11 = TAG_Int(67);
+        REGB9 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB11));
+        if (UNTAG_Bool(REGB9)) {
+        } else {
+          /* ./../lib/standard//kernel.nit:207 */
+          REGB11 = TAG_Bool((REGB4)==(REGB11));
+          /* ./parser//lexer.nit:1567 */
+          REGB9 = REGB11;
+        }
+        if (UNTAG_Bool(REGB9)) {
+          /* ./parser//lexer.nit:1568 */
+          fra.me.REG[4] = NEW_TStar_lexer___TStar___init_tk(fra.me.REG[2]);
+          fra.me.REG[3] = fra.me.REG[4];
+          goto label3;
+        }
+        /* ./parser//lexer.nit:1570 */
+        REGB9 = TAG_Int(68);
+        REGB11 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB9));
+        if (UNTAG_Bool(REGB11)) {
+        } else {
+          /* ./../lib/standard//kernel.nit:207 */
+          REGB9 = TAG_Bool((REGB4)==(REGB9));
           /* ./parser//lexer.nit:1570 */
-          }
-          if (UNTAG_Bool(REGB10)) {
-            REGB10 = TAG_Bool(ATTR_lexer___Lexer____filename(fra.me.REG[0])!=NIT_NULL);
-            /* ./parser//lexer.nit:1571 */
-            if (UNTAG_Bool(REGB10)) {
-            } else {
-              fprintf(stderr, "Uninitialized attribute %s", "_filename");
-              fprintf(stderr, " (%s:%d)\n", LOCATE_lexer, 1571);
-              nit_exit(1);
-            }
-            fra.me.REG[5] = ATTR_lexer___Lexer____filename(fra.me.REG[0]);
-            REGB10 = TAG_Int(1);
-            REGB10 = TAG_Int(UNTAG_Int(REGB2)+UNTAG_Int(REGB10));
-            REGB9 = TAG_Int(1);
-            REGB9 = TAG_Int(UNTAG_Int(REGB7)+UNTAG_Int(REGB9));
-            REGB11 = TAG_Int(1);
-            REGB11 = TAG_Int(UNTAG_Int(REGB1)+UNTAG_Int(REGB11));
-            fra.me.REG[5] = NEW_Location_location___Location___init(fra.me.REG[5], REGB10, REGB9, REGB11, REGB6);
-            fra.me.REG[5] = NEW_TKwloop_lexer___TKwloop___init_tk(fra.me.REG[5]);
-            /* ./parser//lexer.nit:1573 */
-            CALL_lexer___Lexer___push_back(fra.me.REG[0])(fra.me.REG[0], REGB5);
-            /* ./parser//lexer.nit:1574 */
-            ATTR_lexer___Lexer____pos(fra.me.REG[0]) = REGB6;
-            /* ./parser//lexer.nit:1575 */
-            ATTR_lexer___Lexer____line(fra.me.REG[0]) = REGB7;
-            fra.me.REG[4] = fra.me.REG[5];
-            /* ./parser//lexer.nit:1576 */
-            goto label8;
-          }
-          REGB11 = TAG_Int(30);
-          REGB9 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB11));
-          /* ./parser//lexer.nit:1578 */
-          if (UNTAG_Bool(REGB9)) {
-          } else {
-            REGB11 = TAG_Bool((REGB4)==(REGB11));
-            REGB9 = REGB11;
-          /* ./parser//lexer.nit:1578 */
-          }
-          if (UNTAG_Bool(REGB9)) {
-            REGB9 = TAG_Bool(ATTR_lexer___Lexer____filename(fra.me.REG[0])!=NIT_NULL);
-            /* ./parser//lexer.nit:1579 */
-            if (UNTAG_Bool(REGB9)) {
-            } else {
-              fprintf(stderr, "Uninitialized attribute %s", "_filename");
-              fprintf(stderr, " (%s:%d)\n", LOCATE_lexer, 1579);
-              nit_exit(1);
-            }
-            fra.me.REG[5] = ATTR_lexer___Lexer____filename(fra.me.REG[0]);
-            REGB9 = TAG_Int(1);
-            REGB9 = TAG_Int(UNTAG_Int(REGB2)+UNTAG_Int(REGB9));
-            REGB11 = TAG_Int(1);
-            REGB11 = TAG_Int(UNTAG_Int(REGB7)+UNTAG_Int(REGB11));
-            REGB10 = TAG_Int(1);
-            REGB10 = TAG_Int(UNTAG_Int(REGB1)+UNTAG_Int(REGB10));
-            fra.me.REG[5] = NEW_Location_location___Location___init(fra.me.REG[5], REGB9, REGB11, REGB10, REGB6);
-            fra.me.REG[5] = NEW_TKwfor_lexer___TKwfor___init_tk(fra.me.REG[5]);
-            /* ./parser//lexer.nit:1581 */
-            CALL_lexer___Lexer___push_back(fra.me.REG[0])(fra.me.REG[0], REGB5);
-            /* ./parser//lexer.nit:1582 */
-            ATTR_lexer___Lexer____pos(fra.me.REG[0]) = REGB6;
-            /* ./parser//lexer.nit:1583 */
-            ATTR_lexer___Lexer____line(fra.me.REG[0]) = REGB7;
-            fra.me.REG[4] = fra.me.REG[5];
-            /* ./parser//lexer.nit:1584 */
-            goto label8;
-          }
-          REGB10 = TAG_Int(31);
-          REGB11 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB10));
-          /* ./parser//lexer.nit:1586 */
-          if (UNTAG_Bool(REGB11)) {
-          } else {
-            REGB10 = TAG_Bool((REGB4)==(REGB10));
-            REGB11 = REGB10;
+          REGB11 = REGB9;
+        }
+        if (UNTAG_Bool(REGB11)) {
+          /* ./parser//lexer.nit:1571 */
+          fra.me.REG[4] = NEW_TSlash_lexer___TSlash___init_tk(fra.me.REG[2]);
+          fra.me.REG[3] = fra.me.REG[4];
+          goto label3;
+        }
+        /* ./parser//lexer.nit:1573 */
+        REGB11 = TAG_Int(69);
+        REGB9 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB11));
+        if (UNTAG_Bool(REGB9)) {
+        } else {
+          /* ./../lib/standard//kernel.nit:207 */
+          REGB11 = TAG_Bool((REGB4)==(REGB11));
+          /* ./parser//lexer.nit:1573 */
+          REGB9 = REGB11;
+        }
+        if (UNTAG_Bool(REGB9)) {
+          /* ./parser//lexer.nit:1574 */
+          fra.me.REG[4] = NEW_TPercent_lexer___TPercent___init_tk(fra.me.REG[2]);
+          fra.me.REG[3] = fra.me.REG[4];
+          goto label3;
+        }
+        /* ./parser//lexer.nit:1576 */
+        REGB9 = TAG_Int(70);
+        REGB11 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB9));
+        if (UNTAG_Bool(REGB11)) {
+        } else {
+          /* ./../lib/standard//kernel.nit:207 */
+          REGB9 = TAG_Bool((REGB4)==(REGB9));
+          /* ./parser//lexer.nit:1576 */
+          REGB11 = REGB9;
+        }
+        if (UNTAG_Bool(REGB11)) {
+          /* ./parser//lexer.nit:1577 */
+          fra.me.REG[4] = NEW_TEq_lexer___TEq___init_tk(fra.me.REG[2]);
+          fra.me.REG[3] = fra.me.REG[4];
+          goto label3;
+        }
+        /* ./parser//lexer.nit:1579 */
+        REGB11 = TAG_Int(71);
+        REGB9 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB11));
+        if (UNTAG_Bool(REGB9)) {
+        } else {
+          /* ./../lib/standard//kernel.nit:207 */
+          REGB11 = TAG_Bool((REGB4)==(REGB11));
+          /* ./parser//lexer.nit:1579 */
+          REGB9 = REGB11;
+        }
+        if (UNTAG_Bool(REGB9)) {
+          /* ./parser//lexer.nit:1580 */
+          fra.me.REG[4] = NEW_TNe_lexer___TNe___init_tk(fra.me.REG[2]);
+          fra.me.REG[3] = fra.me.REG[4];
+          goto label3;
+        }
+        /* ./parser//lexer.nit:1582 */
+        REGB9 = TAG_Int(72);
+        REGB11 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB9));
+        if (UNTAG_Bool(REGB11)) {
+        } else {
+          /* ./../lib/standard//kernel.nit:207 */
+          REGB9 = TAG_Bool((REGB4)==(REGB9));
+          /* ./parser//lexer.nit:1582 */
+          REGB11 = REGB9;
+        }
+        if (UNTAG_Bool(REGB11)) {
+          /* ./parser//lexer.nit:1583 */
+          fra.me.REG[4] = NEW_TLt_lexer___TLt___init_tk(fra.me.REG[2]);
+          fra.me.REG[3] = fra.me.REG[4];
+          goto label3;
+        }
+        /* ./parser//lexer.nit:1585 */
+        REGB11 = TAG_Int(73);
+        REGB9 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB11));
+        if (UNTAG_Bool(REGB9)) {
+        } else {
+          /* ./../lib/standard//kernel.nit:207 */
+          REGB11 = TAG_Bool((REGB4)==(REGB11));
+          /* ./parser//lexer.nit:1585 */
+          REGB9 = REGB11;
+        }
+        if (UNTAG_Bool(REGB9)) {
           /* ./parser//lexer.nit:1586 */
-          }
-          if (UNTAG_Bool(REGB11)) {
-            REGB11 = TAG_Bool(ATTR_lexer___Lexer____filename(fra.me.REG[0])!=NIT_NULL);
-            /* ./parser//lexer.nit:1587 */
-            if (UNTAG_Bool(REGB11)) {
-            } else {
-              fprintf(stderr, "Uninitialized attribute %s", "_filename");
-              fprintf(stderr, " (%s:%d)\n", LOCATE_lexer, 1587);
-              nit_exit(1);
-            }
-            fra.me.REG[5] = ATTR_lexer___Lexer____filename(fra.me.REG[0]);
-            REGB11 = TAG_Int(1);
-            REGB11 = TAG_Int(UNTAG_Int(REGB2)+UNTAG_Int(REGB11));
-            REGB10 = TAG_Int(1);
-            REGB10 = TAG_Int(UNTAG_Int(REGB7)+UNTAG_Int(REGB10));
-            REGB9 = TAG_Int(1);
-            REGB9 = TAG_Int(UNTAG_Int(REGB1)+UNTAG_Int(REGB9));
-            fra.me.REG[5] = NEW_Location_location___Location___init(fra.me.REG[5], REGB11, REGB10, REGB9, REGB6);
-            fra.me.REG[5] = NEW_TKwin_lexer___TKwin___init_tk(fra.me.REG[5]);
-            /* ./parser//lexer.nit:1589 */
-            CALL_lexer___Lexer___push_back(fra.me.REG[0])(fra.me.REG[0], REGB5);
-            /* ./parser//lexer.nit:1590 */
-            ATTR_lexer___Lexer____pos(fra.me.REG[0]) = REGB6;
-            /* ./parser//lexer.nit:1591 */
-            ATTR_lexer___Lexer____line(fra.me.REG[0]) = REGB7;
-            fra.me.REG[4] = fra.me.REG[5];
-            /* ./parser//lexer.nit:1592 */
-            goto label8;
-          }
-          REGB9 = TAG_Int(32);
-          REGB10 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB9));
-          /* ./parser//lexer.nit:1594 */
-          if (UNTAG_Bool(REGB10)) {
-          } else {
-            REGB9 = TAG_Bool((REGB4)==(REGB9));
-            REGB10 = REGB9;
+          fra.me.REG[4] = NEW_TLe_lexer___TLe___init_tk(fra.me.REG[2]);
+          fra.me.REG[3] = fra.me.REG[4];
+          goto label3;
+        }
+        /* ./parser//lexer.nit:1588 */
+        REGB9 = TAG_Int(74);
+        REGB11 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB9));
+        if (UNTAG_Bool(REGB11)) {
+        } else {
+          /* ./../lib/standard//kernel.nit:207 */
+          REGB9 = TAG_Bool((REGB4)==(REGB9));
+          /* ./parser//lexer.nit:1588 */
+          REGB11 = REGB9;
+        }
+        if (UNTAG_Bool(REGB11)) {
+          /* ./parser//lexer.nit:1589 */
+          fra.me.REG[4] = NEW_TLl_lexer___TLl___init_tk(fra.me.REG[2]);
+          fra.me.REG[3] = fra.me.REG[4];
+          goto label3;
+        }
+        /* ./parser//lexer.nit:1591 */
+        REGB11 = TAG_Int(75);
+        REGB9 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB11));
+        if (UNTAG_Bool(REGB9)) {
+        } else {
+          /* ./../lib/standard//kernel.nit:207 */
+          REGB11 = TAG_Bool((REGB4)==(REGB11));
+          /* ./parser//lexer.nit:1591 */
+          REGB9 = REGB11;
+        }
+        if (UNTAG_Bool(REGB9)) {
+          /* ./parser//lexer.nit:1592 */
+          fra.me.REG[4] = NEW_TGt_lexer___TGt___init_tk(fra.me.REG[2]);
+          fra.me.REG[3] = fra.me.REG[4];
+          goto label3;
+        }
+        /* ./parser//lexer.nit:1594 */
+        REGB9 = TAG_Int(76);
+        REGB11 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB9));
+        if (UNTAG_Bool(REGB11)) {
+        } else {
+          /* ./../lib/standard//kernel.nit:207 */
+          REGB9 = TAG_Bool((REGB4)==(REGB9));
           /* ./parser//lexer.nit:1594 */
-          }
-          if (UNTAG_Bool(REGB10)) {
-            REGB10 = TAG_Bool(ATTR_lexer___Lexer____filename(fra.me.REG[0])!=NIT_NULL);
-            /* ./parser//lexer.nit:1595 */
-            if (UNTAG_Bool(REGB10)) {
-            } else {
-              fprintf(stderr, "Uninitialized attribute %s", "_filename");
-              fprintf(stderr, " (%s:%d)\n", LOCATE_lexer, 1595);
-              nit_exit(1);
-            }
-            fra.me.REG[5] = ATTR_lexer___Lexer____filename(fra.me.REG[0]);
-            REGB10 = TAG_Int(1);
-            REGB10 = TAG_Int(UNTAG_Int(REGB2)+UNTAG_Int(REGB10));
-            REGB9 = TAG_Int(1);
-            REGB9 = TAG_Int(UNTAG_Int(REGB7)+UNTAG_Int(REGB9));
-            REGB11 = TAG_Int(1);
-            REGB11 = TAG_Int(UNTAG_Int(REGB1)+UNTAG_Int(REGB11));
-            fra.me.REG[5] = NEW_Location_location___Location___init(fra.me.REG[5], REGB10, REGB9, REGB11, REGB6);
-            fra.me.REG[5] = NEW_TKwand_lexer___TKwand___init_tk(fra.me.REG[5]);
-            /* ./parser//lexer.nit:1597 */
-            CALL_lexer___Lexer___push_back(fra.me.REG[0])(fra.me.REG[0], REGB5);
-            /* ./parser//lexer.nit:1598 */
-            ATTR_lexer___Lexer____pos(fra.me.REG[0]) = REGB6;
-            /* ./parser//lexer.nit:1599 */
-            ATTR_lexer___Lexer____line(fra.me.REG[0]) = REGB7;
-            fra.me.REG[4] = fra.me.REG[5];
-            /* ./parser//lexer.nit:1600 */
-            goto label8;
-          }
-          REGB11 = TAG_Int(33);
-          REGB9 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB11));
-          /* ./parser//lexer.nit:1602 */
-          if (UNTAG_Bool(REGB9)) {
-          } else {
-            REGB11 = TAG_Bool((REGB4)==(REGB11));
-            REGB9 = REGB11;
-          /* ./parser//lexer.nit:1602 */
-          }
-          if (UNTAG_Bool(REGB9)) {
-            REGB9 = TAG_Bool(ATTR_lexer___Lexer____filename(fra.me.REG[0])!=NIT_NULL);
-            /* ./parser//lexer.nit:1603 */
-            if (UNTAG_Bool(REGB9)) {
-            } else {
-              fprintf(stderr, "Uninitialized attribute %s", "_filename");
-              fprintf(stderr, " (%s:%d)\n", LOCATE_lexer, 1603);
-              nit_exit(1);
-            }
-            fra.me.REG[5] = ATTR_lexer___Lexer____filename(fra.me.REG[0]);
-            REGB9 = TAG_Int(1);
-            REGB9 = TAG_Int(UNTAG_Int(REGB2)+UNTAG_Int(REGB9));
-            REGB11 = TAG_Int(1);
-            REGB11 = TAG_Int(UNTAG_Int(REGB7)+UNTAG_Int(REGB11));
-            REGB10 = TAG_Int(1);
-            REGB10 = TAG_Int(UNTAG_Int(REGB1)+UNTAG_Int(REGB10));
-            fra.me.REG[5] = NEW_Location_location___Location___init(fra.me.REG[5], REGB9, REGB11, REGB10, REGB6);
-            fra.me.REG[5] = NEW_TKwor_lexer___TKwor___init_tk(fra.me.REG[5]);
-            /* ./parser//lexer.nit:1605 */
-            CALL_lexer___Lexer___push_back(fra.me.REG[0])(fra.me.REG[0], REGB5);
-            /* ./parser//lexer.nit:1606 */
-            ATTR_lexer___Lexer____pos(fra.me.REG[0]) = REGB6;
-            /* ./parser//lexer.nit:1607 */
-            ATTR_lexer___Lexer____line(fra.me.REG[0]) = REGB7;
-            fra.me.REG[4] = fra.me.REG[5];
-            /* ./parser//lexer.nit:1608 */
-            goto label8;
-          }
-          REGB10 = TAG_Int(34);
-          REGB11 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB10));
-          /* ./parser//lexer.nit:1610 */
-          if (UNTAG_Bool(REGB11)) {
-          } else {
-            REGB10 = TAG_Bool((REGB4)==(REGB10));
-            REGB11 = REGB10;
-          /* ./parser//lexer.nit:1610 */
-          }
-          if (UNTAG_Bool(REGB11)) {
-            REGB11 = TAG_Bool(ATTR_lexer___Lexer____filename(fra.me.REG[0])!=NIT_NULL);
-            /* ./parser//lexer.nit:1611 */
-            if (UNTAG_Bool(REGB11)) {
-            } else {
-              fprintf(stderr, "Uninitialized attribute %s", "_filename");
-              fprintf(stderr, " (%s:%d)\n", LOCATE_lexer, 1611);
-              nit_exit(1);
-            }
-            fra.me.REG[5] = ATTR_lexer___Lexer____filename(fra.me.REG[0]);
-            REGB11 = TAG_Int(1);
-            REGB11 = TAG_Int(UNTAG_Int(REGB2)+UNTAG_Int(REGB11));
-            REGB10 = TAG_Int(1);
-            REGB10 = TAG_Int(UNTAG_Int(REGB7)+UNTAG_Int(REGB10));
-            REGB9 = TAG_Int(1);
-            REGB9 = TAG_Int(UNTAG_Int(REGB1)+UNTAG_Int(REGB9));
-            fra.me.REG[5] = NEW_Location_location___Location___init(fra.me.REG[5], REGB11, REGB10, REGB9, REGB6);
-            fra.me.REG[5] = NEW_TKwnot_lexer___TKwnot___init_tk(fra.me.REG[5]);
-            /* ./parser//lexer.nit:1613 */
-            CALL_lexer___Lexer___push_back(fra.me.REG[0])(fra.me.REG[0], REGB5);
-            /* ./parser//lexer.nit:1614 */
-            ATTR_lexer___Lexer____pos(fra.me.REG[0]) = REGB6;
-            /* ./parser//lexer.nit:1615 */
-            ATTR_lexer___Lexer____line(fra.me.REG[0]) = REGB7;
-            fra.me.REG[4] = fra.me.REG[5];
-            /* ./parser//lexer.nit:1616 */
-            goto label8;
-          }
-          REGB9 = TAG_Int(35);
-          REGB10 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB9));
-          /* ./parser//lexer.nit:1618 */
-          if (UNTAG_Bool(REGB10)) {
-          } else {
-            REGB9 = TAG_Bool((REGB4)==(REGB9));
-            REGB10 = REGB9;
-          /* ./parser//lexer.nit:1618 */
-          }
-          if (UNTAG_Bool(REGB10)) {
-            REGB10 = TAG_Bool(ATTR_lexer___Lexer____filename(fra.me.REG[0])!=NIT_NULL);
-            /* ./parser//lexer.nit:1619 */
-            if (UNTAG_Bool(REGB10)) {
-            } else {
-              fprintf(stderr, "Uninitialized attribute %s", "_filename");
-              fprintf(stderr, " (%s:%d)\n", LOCATE_lexer, 1619);
-              nit_exit(1);
-            }
-            fra.me.REG[5] = ATTR_lexer___Lexer____filename(fra.me.REG[0]);
-            REGB10 = TAG_Int(1);
-            REGB10 = TAG_Int(UNTAG_Int(REGB2)+UNTAG_Int(REGB10));
-            REGB9 = TAG_Int(1);
-            REGB9 = TAG_Int(UNTAG_Int(REGB7)+UNTAG_Int(REGB9));
-            REGB11 = TAG_Int(1);
-            REGB11 = TAG_Int(UNTAG_Int(REGB1)+UNTAG_Int(REGB11));
-            fra.me.REG[5] = NEW_Location_location___Location___init(fra.me.REG[5], REGB10, REGB9, REGB11, REGB6);
-            fra.me.REG[5] = NEW_TKwreturn_lexer___TKwreturn___init_tk(fra.me.REG[5]);
-            /* ./parser//lexer.nit:1621 */
-            CALL_lexer___Lexer___push_back(fra.me.REG[0])(fra.me.REG[0], REGB5);
-            /* ./parser//lexer.nit:1622 */
-            ATTR_lexer___Lexer____pos(fra.me.REG[0]) = REGB6;
-            /* ./parser//lexer.nit:1623 */
-            ATTR_lexer___Lexer____line(fra.me.REG[0]) = REGB7;
-            fra.me.REG[4] = fra.me.REG[5];
-            /* ./parser//lexer.nit:1624 */
-            goto label8;
-          }
-          REGB11 = TAG_Int(36);
-          REGB9 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB11));
-          /* ./parser//lexer.nit:1626 */
-          if (UNTAG_Bool(REGB9)) {
-          } else {
-            REGB11 = TAG_Bool((REGB4)==(REGB11));
-            REGB9 = REGB11;
-          /* ./parser//lexer.nit:1626 */
-          }
-          if (UNTAG_Bool(REGB9)) {
-            REGB9 = TAG_Bool(ATTR_lexer___Lexer____filename(fra.me.REG[0])!=NIT_NULL);
-            /* ./parser//lexer.nit:1627 */
-            if (UNTAG_Bool(REGB9)) {
-            } else {
-              fprintf(stderr, "Uninitialized attribute %s", "_filename");
-              fprintf(stderr, " (%s:%d)\n", LOCATE_lexer, 1627);
-              nit_exit(1);
-            }
-            fra.me.REG[5] = ATTR_lexer___Lexer____filename(fra.me.REG[0]);
-            REGB9 = TAG_Int(1);
-            REGB9 = TAG_Int(UNTAG_Int(REGB2)+UNTAG_Int(REGB9));
-            REGB11 = TAG_Int(1);
-            REGB11 = TAG_Int(UNTAG_Int(REGB7)+UNTAG_Int(REGB11));
-            REGB10 = TAG_Int(1);
-            REGB10 = TAG_Int(UNTAG_Int(REGB1)+UNTAG_Int(REGB10));
-            fra.me.REG[5] = NEW_Location_location___Location___init(fra.me.REG[5], REGB9, REGB11, REGB10, REGB6);
-            fra.me.REG[5] = NEW_TKwcontinue_lexer___TKwcontinue___init_tk(fra.me.REG[5]);
-            /* ./parser//lexer.nit:1629 */
-            CALL_lexer___Lexer___push_back(fra.me.REG[0])(fra.me.REG[0], REGB5);
-            /* ./parser//lexer.nit:1630 */
-            ATTR_lexer___Lexer____pos(fra.me.REG[0]) = REGB6;
-            /* ./parser//lexer.nit:1631 */
-            ATTR_lexer___Lexer____line(fra.me.REG[0]) = REGB7;
-            fra.me.REG[4] = fra.me.REG[5];
-            /* ./parser//lexer.nit:1632 */
-            goto label8;
-          }
-          REGB10 = TAG_Int(37);
-          REGB11 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB10));
-          /* ./parser//lexer.nit:1634 */
-          if (UNTAG_Bool(REGB11)) {
-          } else {
-            REGB10 = TAG_Bool((REGB4)==(REGB10));
-            REGB11 = REGB10;
-          /* ./parser//lexer.nit:1634 */
-          }
-          if (UNTAG_Bool(REGB11)) {
-            REGB11 = TAG_Bool(ATTR_lexer___Lexer____filename(fra.me.REG[0])!=NIT_NULL);
-            /* ./parser//lexer.nit:1635 */
-            if (UNTAG_Bool(REGB11)) {
-            } else {
-              fprintf(stderr, "Uninitialized attribute %s", "_filename");
-              fprintf(stderr, " (%s:%d)\n", LOCATE_lexer, 1635);
-              nit_exit(1);
-            }
-            fra.me.REG[5] = ATTR_lexer___Lexer____filename(fra.me.REG[0]);
-            REGB11 = TAG_Int(1);
-            REGB11 = TAG_Int(UNTAG_Int(REGB2)+UNTAG_Int(REGB11));
-            REGB10 = TAG_Int(1);
-            REGB10 = TAG_Int(UNTAG_Int(REGB7)+UNTAG_Int(REGB10));
-            REGB9 = TAG_Int(1);
-            REGB9 = TAG_Int(UNTAG_Int(REGB1)+UNTAG_Int(REGB9));
-            fra.me.REG[5] = NEW_Location_location___Location___init(fra.me.REG[5], REGB11, REGB10, REGB9, REGB6);
-            fra.me.REG[5] = NEW_TKwbreak_lexer___TKwbreak___init_tk(fra.me.REG[5]);
-            /* ./parser//lexer.nit:1637 */
-            CALL_lexer___Lexer___push_back(fra.me.REG[0])(fra.me.REG[0], REGB5);
-            /* ./parser//lexer.nit:1638 */
-            ATTR_lexer___Lexer____pos(fra.me.REG[0]) = REGB6;
-            /* ./parser//lexer.nit:1639 */
-            ATTR_lexer___Lexer____line(fra.me.REG[0]) = REGB7;
-            fra.me.REG[4] = fra.me.REG[5];
-            /* ./parser//lexer.nit:1640 */
-            goto label8;
-          }
-          REGB9 = TAG_Int(38);
-          REGB10 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB9));
-          /* ./parser//lexer.nit:1642 */
-          if (UNTAG_Bool(REGB10)) {
-          } else {
-            REGB9 = TAG_Bool((REGB4)==(REGB9));
-            REGB10 = REGB9;
-          /* ./parser//lexer.nit:1642 */
-          }
-          if (UNTAG_Bool(REGB10)) {
-            REGB10 = TAG_Bool(ATTR_lexer___Lexer____filename(fra.me.REG[0])!=NIT_NULL);
-            /* ./parser//lexer.nit:1643 */
-            if (UNTAG_Bool(REGB10)) {
-            } else {
-              fprintf(stderr, "Uninitialized attribute %s", "_filename");
-              fprintf(stderr, " (%s:%d)\n", LOCATE_lexer, 1643);
-              nit_exit(1);
-            }
-            fra.me.REG[5] = ATTR_lexer___Lexer____filename(fra.me.REG[0]);
-            REGB10 = TAG_Int(1);
-            REGB10 = TAG_Int(UNTAG_Int(REGB2)+UNTAG_Int(REGB10));
-            REGB9 = TAG_Int(1);
-            REGB9 = TAG_Int(UNTAG_Int(REGB7)+UNTAG_Int(REGB9));
-            REGB11 = TAG_Int(1);
-            REGB11 = TAG_Int(UNTAG_Int(REGB1)+UNTAG_Int(REGB11));
-            fra.me.REG[5] = NEW_Location_location___Location___init(fra.me.REG[5], REGB10, REGB9, REGB11, REGB6);
-            fra.me.REG[5] = NEW_TKwabort_lexer___TKwabort___init_tk(fra.me.REG[5]);
-            /* ./parser//lexer.nit:1645 */
-            CALL_lexer___Lexer___push_back(fra.me.REG[0])(fra.me.REG[0], REGB5);
-            /* ./parser//lexer.nit:1646 */
-            ATTR_lexer___Lexer____pos(fra.me.REG[0]) = REGB6;
-            /* ./parser//lexer.nit:1647 */
-            ATTR_lexer___Lexer____line(fra.me.REG[0]) = REGB7;
-            fra.me.REG[4] = fra.me.REG[5];
-            /* ./parser//lexer.nit:1648 */
-            goto label8;
-          }
-          REGB11 = TAG_Int(39);
-          REGB9 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB11));
-          /* ./parser//lexer.nit:1650 */
-          if (UNTAG_Bool(REGB9)) {
-          } else {
-            REGB11 = TAG_Bool((REGB4)==(REGB11));
-            REGB9 = REGB11;
-          /* ./parser//lexer.nit:1650 */
-          }
-          if (UNTAG_Bool(REGB9)) {
-            REGB9 = TAG_Bool(ATTR_lexer___Lexer____filename(fra.me.REG[0])!=NIT_NULL);
-            /* ./parser//lexer.nit:1651 */
-            if (UNTAG_Bool(REGB9)) {
-            } else {
-              fprintf(stderr, "Uninitialized attribute %s", "_filename");
-              fprintf(stderr, " (%s:%d)\n", LOCATE_lexer, 1651);
-              nit_exit(1);
-            }
-            fra.me.REG[5] = ATTR_lexer___Lexer____filename(fra.me.REG[0]);
-            REGB9 = TAG_Int(1);
-            REGB9 = TAG_Int(UNTAG_Int(REGB2)+UNTAG_Int(REGB9));
-            REGB11 = TAG_Int(1);
-            REGB11 = TAG_Int(UNTAG_Int(REGB7)+UNTAG_Int(REGB11));
-            REGB10 = TAG_Int(1);
-            REGB10 = TAG_Int(UNTAG_Int(REGB1)+UNTAG_Int(REGB10));
-            fra.me.REG[5] = NEW_Location_location___Location___init(fra.me.REG[5], REGB9, REGB11, REGB10, REGB6);
-            fra.me.REG[5] = NEW_TKwassert_lexer___TKwassert___init_tk(fra.me.REG[5]);
-            /* ./parser//lexer.nit:1653 */
-            CALL_lexer___Lexer___push_back(fra.me.REG[0])(fra.me.REG[0], REGB5);
-            /* ./parser//lexer.nit:1654 */
-            ATTR_lexer___Lexer____pos(fra.me.REG[0]) = REGB6;
-            /* ./parser//lexer.nit:1655 */
-            ATTR_lexer___Lexer____line(fra.me.REG[0]) = REGB7;
-            fra.me.REG[4] = fra.me.REG[5];
-            /* ./parser//lexer.nit:1656 */
-            goto label8;
-          }
-          REGB10 = TAG_Int(40);
-          REGB11 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB10));
-          /* ./parser//lexer.nit:1658 */
-          if (UNTAG_Bool(REGB11)) {
-          } else {
-            REGB10 = TAG_Bool((REGB4)==(REGB10));
-            REGB11 = REGB10;
-          /* ./parser//lexer.nit:1658 */
-          }
-          if (UNTAG_Bool(REGB11)) {
-            REGB11 = TAG_Bool(ATTR_lexer___Lexer____filename(fra.me.REG[0])!=NIT_NULL);
-            /* ./parser//lexer.nit:1659 */
-            if (UNTAG_Bool(REGB11)) {
-            } else {
-              fprintf(stderr, "Uninitialized attribute %s", "_filename");
-              fprintf(stderr, " (%s:%d)\n", LOCATE_lexer, 1659);
-              nit_exit(1);
-            }
-            fra.me.REG[5] = ATTR_lexer___Lexer____filename(fra.me.REG[0]);
-            REGB11 = TAG_Int(1);
-            REGB11 = TAG_Int(UNTAG_Int(REGB2)+UNTAG_Int(REGB11));
-            REGB10 = TAG_Int(1);
-            REGB10 = TAG_Int(UNTAG_Int(REGB7)+UNTAG_Int(REGB10));
-            REGB9 = TAG_Int(1);
-            REGB9 = TAG_Int(UNTAG_Int(REGB1)+UNTAG_Int(REGB9));
-            fra.me.REG[5] = NEW_Location_location___Location___init(fra.me.REG[5], REGB11, REGB10, REGB9, REGB6);
-            fra.me.REG[5] = NEW_TKwnew_lexer___TKwnew___init_tk(fra.me.REG[5]);
-            /* ./parser//lexer.nit:1661 */
-            CALL_lexer___Lexer___push_back(fra.me.REG[0])(fra.me.REG[0], REGB5);
-            /* ./parser//lexer.nit:1662 */
-            ATTR_lexer___Lexer____pos(fra.me.REG[0]) = REGB6;
-            /* ./parser//lexer.nit:1663 */
-            ATTR_lexer___Lexer____line(fra.me.REG[0]) = REGB7;
-            fra.me.REG[4] = fra.me.REG[5];
-            /* ./parser//lexer.nit:1664 */
-            goto label8;
-          }
-          REGB9 = TAG_Int(41);
-          REGB10 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB9));
-          /* ./parser//lexer.nit:1666 */
-          if (UNTAG_Bool(REGB10)) {
-          } else {
-            REGB9 = TAG_Bool((REGB4)==(REGB9));
-            REGB10 = REGB9;
-          /* ./parser//lexer.nit:1666 */
-          }
-          if (UNTAG_Bool(REGB10)) {
-            REGB10 = TAG_Bool(ATTR_lexer___Lexer____filename(fra.me.REG[0])!=NIT_NULL);
-            /* ./parser//lexer.nit:1667 */
-            if (UNTAG_Bool(REGB10)) {
-            } else {
-              fprintf(stderr, "Uninitialized attribute %s", "_filename");
-              fprintf(stderr, " (%s:%d)\n", LOCATE_lexer, 1667);
-              nit_exit(1);
-            }
-            fra.me.REG[5] = ATTR_lexer___Lexer____filename(fra.me.REG[0]);
-            REGB10 = TAG_Int(1);
-            REGB10 = TAG_Int(UNTAG_Int(REGB2)+UNTAG_Int(REGB10));
-            REGB9 = TAG_Int(1);
-            REGB9 = TAG_Int(UNTAG_Int(REGB7)+UNTAG_Int(REGB9));
-            REGB11 = TAG_Int(1);
-            REGB11 = TAG_Int(UNTAG_Int(REGB1)+UNTAG_Int(REGB11));
-            fra.me.REG[5] = NEW_Location_location___Location___init(fra.me.REG[5], REGB10, REGB9, REGB11, REGB6);
-            fra.me.REG[5] = NEW_TKwisa_lexer___TKwisa___init_tk(fra.me.REG[5]);
-            /* ./parser//lexer.nit:1669 */
-            CALL_lexer___Lexer___push_back(fra.me.REG[0])(fra.me.REG[0], REGB5);
-            /* ./parser//lexer.nit:1670 */
-            ATTR_lexer___Lexer____pos(fra.me.REG[0]) = REGB6;
-            /* ./parser//lexer.nit:1671 */
-            ATTR_lexer___Lexer____line(fra.me.REG[0]) = REGB7;
-            fra.me.REG[4] = fra.me.REG[5];
-            /* ./parser//lexer.nit:1672 */
-            goto label8;
-          }
-          REGB11 = TAG_Int(42);
-          REGB9 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB11));
-          /* ./parser//lexer.nit:1674 */
-          if (UNTAG_Bool(REGB9)) {
-          } else {
-            REGB11 = TAG_Bool((REGB4)==(REGB11));
-            REGB9 = REGB11;
-          /* ./parser//lexer.nit:1674 */
-          }
-          if (UNTAG_Bool(REGB9)) {
-            REGB9 = TAG_Bool(ATTR_lexer___Lexer____filename(fra.me.REG[0])!=NIT_NULL);
-            /* ./parser//lexer.nit:1675 */
-            if (UNTAG_Bool(REGB9)) {
-            } else {
-              fprintf(stderr, "Uninitialized attribute %s", "_filename");
-              fprintf(stderr, " (%s:%d)\n", LOCATE_lexer, 1675);
-              nit_exit(1);
-            }
-            fra.me.REG[5] = ATTR_lexer___Lexer____filename(fra.me.REG[0]);
-            REGB9 = TAG_Int(1);
-            REGB9 = TAG_Int(UNTAG_Int(REGB2)+UNTAG_Int(REGB9));
-            REGB11 = TAG_Int(1);
-            REGB11 = TAG_Int(UNTAG_Int(REGB7)+UNTAG_Int(REGB11));
-            REGB10 = TAG_Int(1);
-            REGB10 = TAG_Int(UNTAG_Int(REGB1)+UNTAG_Int(REGB10));
-            fra.me.REG[5] = NEW_Location_location___Location___init(fra.me.REG[5], REGB9, REGB11, REGB10, REGB6);
-            fra.me.REG[5] = NEW_TKwonce_lexer___TKwonce___init_tk(fra.me.REG[5]);
-            /* ./parser//lexer.nit:1677 */
-            CALL_lexer___Lexer___push_back(fra.me.REG[0])(fra.me.REG[0], REGB5);
-            /* ./parser//lexer.nit:1678 */
-            ATTR_lexer___Lexer____pos(fra.me.REG[0]) = REGB6;
-            /* ./parser//lexer.nit:1679 */
-            ATTR_lexer___Lexer____line(fra.me.REG[0]) = REGB7;
-            fra.me.REG[4] = fra.me.REG[5];
-            /* ./parser//lexer.nit:1680 */
-            goto label8;
-          }
-          REGB10 = TAG_Int(43);
-          REGB11 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB10));
-          /* ./parser//lexer.nit:1682 */
-          if (UNTAG_Bool(REGB11)) {
-          } else {
-            REGB10 = TAG_Bool((REGB4)==(REGB10));
-            REGB11 = REGB10;
-          /* ./parser//lexer.nit:1682 */
-          }
-          if (UNTAG_Bool(REGB11)) {
-            REGB11 = TAG_Bool(ATTR_lexer___Lexer____filename(fra.me.REG[0])!=NIT_NULL);
-            /* ./parser//lexer.nit:1683 */
-            if (UNTAG_Bool(REGB11)) {
-            } else {
-              fprintf(stderr, "Uninitialized attribute %s", "_filename");
-              fprintf(stderr, " (%s:%d)\n", LOCATE_lexer, 1683);
-              nit_exit(1);
-            }
-            fra.me.REG[5] = ATTR_lexer___Lexer____filename(fra.me.REG[0]);
-            REGB11 = TAG_Int(1);
-            REGB11 = TAG_Int(UNTAG_Int(REGB2)+UNTAG_Int(REGB11));
-            REGB10 = TAG_Int(1);
-            REGB10 = TAG_Int(UNTAG_Int(REGB7)+UNTAG_Int(REGB10));
-            REGB9 = TAG_Int(1);
-            REGB9 = TAG_Int(UNTAG_Int(REGB1)+UNTAG_Int(REGB9));
-            fra.me.REG[5] = NEW_Location_location___Location___init(fra.me.REG[5], REGB11, REGB10, REGB9, REGB6);
-            fra.me.REG[5] = NEW_TKwsuper_lexer___TKwsuper___init_tk(fra.me.REG[5]);
-            /* ./parser//lexer.nit:1685 */
-            CALL_lexer___Lexer___push_back(fra.me.REG[0])(fra.me.REG[0], REGB5);
-            /* ./parser//lexer.nit:1686 */
-            ATTR_lexer___Lexer____pos(fra.me.REG[0]) = REGB6;
-            /* ./parser//lexer.nit:1687 */
-            ATTR_lexer___Lexer____line(fra.me.REG[0]) = REGB7;
-            fra.me.REG[4] = fra.me.REG[5];
-            /* ./parser//lexer.nit:1688 */
-            goto label8;
-          }
-          REGB9 = TAG_Int(44);
-          REGB10 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB9));
-          /* ./parser//lexer.nit:1690 */
-          if (UNTAG_Bool(REGB10)) {
-          } else {
-            REGB9 = TAG_Bool((REGB4)==(REGB9));
-            REGB10 = REGB9;
-          /* ./parser//lexer.nit:1690 */
-          }
-          if (UNTAG_Bool(REGB10)) {
-            REGB10 = TAG_Bool(ATTR_lexer___Lexer____filename(fra.me.REG[0])!=NIT_NULL);
-            /* ./parser//lexer.nit:1691 */
-            if (UNTAG_Bool(REGB10)) {
-            } else {
-              fprintf(stderr, "Uninitialized attribute %s", "_filename");
-              fprintf(stderr, " (%s:%d)\n", LOCATE_lexer, 1691);
-              nit_exit(1);
-            }
-            fra.me.REG[5] = ATTR_lexer___Lexer____filename(fra.me.REG[0]);
-            REGB10 = TAG_Int(1);
-            REGB10 = TAG_Int(UNTAG_Int(REGB2)+UNTAG_Int(REGB10));
-            REGB9 = TAG_Int(1);
-            REGB9 = TAG_Int(UNTAG_Int(REGB7)+UNTAG_Int(REGB9));
-            REGB11 = TAG_Int(1);
-            REGB11 = TAG_Int(UNTAG_Int(REGB1)+UNTAG_Int(REGB11));
-            fra.me.REG[5] = NEW_Location_location___Location___init(fra.me.REG[5], REGB10, REGB9, REGB11, REGB6);
-            fra.me.REG[5] = NEW_TKwself_lexer___TKwself___init_tk(fra.me.REG[5]);
-            /* ./parser//lexer.nit:1693 */
-            CALL_lexer___Lexer___push_back(fra.me.REG[0])(fra.me.REG[0], REGB5);
-            /* ./parser//lexer.nit:1694 */
-            ATTR_lexer___Lexer____pos(fra.me.REG[0]) = REGB6;
-            /* ./parser//lexer.nit:1695 */
-            ATTR_lexer___Lexer____line(fra.me.REG[0]) = REGB7;
-            fra.me.REG[4] = fra.me.REG[5];
-            /* ./parser//lexer.nit:1696 */
-            goto label8;
-          }
-          REGB11 = TAG_Int(45);
-          REGB9 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB11));
-          /* ./parser//lexer.nit:1698 */
-          if (UNTAG_Bool(REGB9)) {
-          } else {
-            REGB11 = TAG_Bool((REGB4)==(REGB11));
-            REGB9 = REGB11;
-          /* ./parser//lexer.nit:1698 */
-          }
-          if (UNTAG_Bool(REGB9)) {
-            REGB9 = TAG_Bool(ATTR_lexer___Lexer____filename(fra.me.REG[0])!=NIT_NULL);
-            /* ./parser//lexer.nit:1699 */
-            if (UNTAG_Bool(REGB9)) {
-            } else {
-              fprintf(stderr, "Uninitialized attribute %s", "_filename");
-              fprintf(stderr, " (%s:%d)\n", LOCATE_lexer, 1699);
-              nit_exit(1);
-            }
-            fra.me.REG[5] = ATTR_lexer___Lexer____filename(fra.me.REG[0]);
-            REGB9 = TAG_Int(1);
-            REGB9 = TAG_Int(UNTAG_Int(REGB2)+UNTAG_Int(REGB9));
-            REGB11 = TAG_Int(1);
-            REGB11 = TAG_Int(UNTAG_Int(REGB7)+UNTAG_Int(REGB11));
-            REGB10 = TAG_Int(1);
-            REGB10 = TAG_Int(UNTAG_Int(REGB1)+UNTAG_Int(REGB10));
-            fra.me.REG[5] = NEW_Location_location___Location___init(fra.me.REG[5], REGB9, REGB11, REGB10, REGB6);
-            fra.me.REG[5] = NEW_TKwtrue_lexer___TKwtrue___init_tk(fra.me.REG[5]);
-            /* ./parser//lexer.nit:1701 */
-            CALL_lexer___Lexer___push_back(fra.me.REG[0])(fra.me.REG[0], REGB5);
-            /* ./parser//lexer.nit:1702 */
-            ATTR_lexer___Lexer____pos(fra.me.REG[0]) = REGB6;
-            /* ./parser//lexer.nit:1703 */
-            ATTR_lexer___Lexer____line(fra.me.REG[0]) = REGB7;
-            fra.me.REG[4] = fra.me.REG[5];
-            /* ./parser//lexer.nit:1704 */
-            goto label8;
-          }
-          REGB10 = TAG_Int(46);
-          REGB11 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB10));
-          /* ./parser//lexer.nit:1706 */
-          if (UNTAG_Bool(REGB11)) {
-          } else {
-            REGB10 = TAG_Bool((REGB4)==(REGB10));
-            REGB11 = REGB10;
-          /* ./parser//lexer.nit:1706 */
-          }
-          if (UNTAG_Bool(REGB11)) {
-            REGB11 = TAG_Bool(ATTR_lexer___Lexer____filename(fra.me.REG[0])!=NIT_NULL);
-            /* ./parser//lexer.nit:1707 */
-            if (UNTAG_Bool(REGB11)) {
-            } else {
-              fprintf(stderr, "Uninitialized attribute %s", "_filename");
-              fprintf(stderr, " (%s:%d)\n", LOCATE_lexer, 1707);
-              nit_exit(1);
-            }
-            fra.me.REG[5] = ATTR_lexer___Lexer____filename(fra.me.REG[0]);
-            REGB11 = TAG_Int(1);
-            REGB11 = TAG_Int(UNTAG_Int(REGB2)+UNTAG_Int(REGB11));
-            REGB10 = TAG_Int(1);
-            REGB10 = TAG_Int(UNTAG_Int(REGB7)+UNTAG_Int(REGB10));
-            REGB9 = TAG_Int(1);
-            REGB9 = TAG_Int(UNTAG_Int(REGB1)+UNTAG_Int(REGB9));
-            fra.me.REG[5] = NEW_Location_location___Location___init(fra.me.REG[5], REGB11, REGB10, REGB9, REGB6);
-            fra.me.REG[5] = NEW_TKwfalse_lexer___TKwfalse___init_tk(fra.me.REG[5]);
-            /* ./parser//lexer.nit:1709 */
-            CALL_lexer___Lexer___push_back(fra.me.REG[0])(fra.me.REG[0], REGB5);
-            /* ./parser//lexer.nit:1710 */
-            ATTR_lexer___Lexer____pos(fra.me.REG[0]) = REGB6;
-            /* ./parser//lexer.nit:1711 */
-            ATTR_lexer___Lexer____line(fra.me.REG[0]) = REGB7;
-            fra.me.REG[4] = fra.me.REG[5];
-            /* ./parser//lexer.nit:1712 */
-            goto label8;
-          }
-          REGB9 = TAG_Int(47);
-          REGB10 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB9));
-          /* ./parser//lexer.nit:1714 */
-          if (UNTAG_Bool(REGB10)) {
-          } else {
-            REGB9 = TAG_Bool((REGB4)==(REGB9));
-            REGB10 = REGB9;
-          /* ./parser//lexer.nit:1714 */
-          }
-          if (UNTAG_Bool(REGB10)) {
-            REGB10 = TAG_Bool(ATTR_lexer___Lexer____filename(fra.me.REG[0])!=NIT_NULL);
-            /* ./parser//lexer.nit:1715 */
-            if (UNTAG_Bool(REGB10)) {
-            } else {
-              fprintf(stderr, "Uninitialized attribute %s", "_filename");
-              fprintf(stderr, " (%s:%d)\n", LOCATE_lexer, 1715);
-              nit_exit(1);
-            }
-            fra.me.REG[5] = ATTR_lexer___Lexer____filename(fra.me.REG[0]);
-            REGB10 = TAG_Int(1);
-            REGB10 = TAG_Int(UNTAG_Int(REGB2)+UNTAG_Int(REGB10));
-            REGB9 = TAG_Int(1);
-            REGB9 = TAG_Int(UNTAG_Int(REGB7)+UNTAG_Int(REGB9));
-            REGB11 = TAG_Int(1);
-            REGB11 = TAG_Int(UNTAG_Int(REGB1)+UNTAG_Int(REGB11));
-            fra.me.REG[5] = NEW_Location_location___Location___init(fra.me.REG[5], REGB10, REGB9, REGB11, REGB6);
-            fra.me.REG[5] = NEW_TKwnull_lexer___TKwnull___init_tk(fra.me.REG[5]);
-            /* ./parser//lexer.nit:1717 */
-            CALL_lexer___Lexer___push_back(fra.me.REG[0])(fra.me.REG[0], REGB5);
-            /* ./parser//lexer.nit:1718 */
-            ATTR_lexer___Lexer____pos(fra.me.REG[0]) = REGB6;
-            /* ./parser//lexer.nit:1719 */
-            ATTR_lexer___Lexer____line(fra.me.REG[0]) = REGB7;
-            fra.me.REG[4] = fra.me.REG[5];
-            /* ./parser//lexer.nit:1720 */
-            goto label8;
-          }
-          REGB11 = TAG_Int(48);
-          REGB9 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB11));
-          /* ./parser//lexer.nit:1722 */
-          if (UNTAG_Bool(REGB9)) {
-          } else {
-            REGB11 = TAG_Bool((REGB4)==(REGB11));
-            REGB9 = REGB11;
-          /* ./parser//lexer.nit:1722 */
-          }
-          if (UNTAG_Bool(REGB9)) {
-            REGB9 = TAG_Bool(ATTR_lexer___Lexer____filename(fra.me.REG[0])!=NIT_NULL);
-            /* ./parser//lexer.nit:1723 */
-            if (UNTAG_Bool(REGB9)) {
-            } else {
-              fprintf(stderr, "Uninitialized attribute %s", "_filename");
-              fprintf(stderr, " (%s:%d)\n", LOCATE_lexer, 1723);
-              nit_exit(1);
-            }
-            fra.me.REG[5] = ATTR_lexer___Lexer____filename(fra.me.REG[0]);
-            REGB9 = TAG_Int(1);
-            REGB9 = TAG_Int(UNTAG_Int(REGB2)+UNTAG_Int(REGB9));
-            REGB11 = TAG_Int(1);
-            REGB11 = TAG_Int(UNTAG_Int(REGB7)+UNTAG_Int(REGB11));
-            REGB10 = TAG_Int(1);
-            REGB10 = TAG_Int(UNTAG_Int(REGB1)+UNTAG_Int(REGB10));
-            fra.me.REG[5] = NEW_Location_location___Location___init(fra.me.REG[5], REGB9, REGB11, REGB10, REGB6);
-            fra.me.REG[5] = NEW_TKwas_lexer___TKwas___init_tk(fra.me.REG[5]);
-            /* ./parser//lexer.nit:1725 */
-            CALL_lexer___Lexer___push_back(fra.me.REG[0])(fra.me.REG[0], REGB5);
-            /* ./parser//lexer.nit:1726 */
-            ATTR_lexer___Lexer____pos(fra.me.REG[0]) = REGB6;
-            /* ./parser//lexer.nit:1727 */
-            ATTR_lexer___Lexer____line(fra.me.REG[0]) = REGB7;
-            fra.me.REG[4] = fra.me.REG[5];
-            /* ./parser//lexer.nit:1728 */
-            goto label8;
-          }
-          REGB10 = TAG_Int(49);
-          REGB11 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB10));
-          /* ./parser//lexer.nit:1730 */
-          if (UNTAG_Bool(REGB11)) {
-          } else {
-            REGB10 = TAG_Bool((REGB4)==(REGB10));
-            REGB11 = REGB10;
-          /* ./parser//lexer.nit:1730 */
-          }
-          if (UNTAG_Bool(REGB11)) {
-            REGB11 = TAG_Bool(ATTR_lexer___Lexer____filename(fra.me.REG[0])!=NIT_NULL);
-            /* ./parser//lexer.nit:1731 */
-            if (UNTAG_Bool(REGB11)) {
-            } else {
-              fprintf(stderr, "Uninitialized attribute %s", "_filename");
-              fprintf(stderr, " (%s:%d)\n", LOCATE_lexer, 1731);
-              nit_exit(1);
-            }
-            fra.me.REG[5] = ATTR_lexer___Lexer____filename(fra.me.REG[0]);
-            REGB11 = TAG_Int(1);
-            REGB11 = TAG_Int(UNTAG_Int(REGB2)+UNTAG_Int(REGB11));
-            REGB10 = TAG_Int(1);
-            REGB10 = TAG_Int(UNTAG_Int(REGB7)+UNTAG_Int(REGB10));
-            REGB9 = TAG_Int(1);
-            REGB9 = TAG_Int(UNTAG_Int(REGB1)+UNTAG_Int(REGB9));
-            fra.me.REG[5] = NEW_Location_location___Location___init(fra.me.REG[5], REGB11, REGB10, REGB9, REGB6);
-            fra.me.REG[5] = NEW_TKwnullable_lexer___TKwnullable___init_tk(fra.me.REG[5]);
-            /* ./parser//lexer.nit:1733 */
-            CALL_lexer___Lexer___push_back(fra.me.REG[0])(fra.me.REG[0], REGB5);
-            /* ./parser//lexer.nit:1734 */
-            ATTR_lexer___Lexer____pos(fra.me.REG[0]) = REGB6;
-            /* ./parser//lexer.nit:1735 */
-            ATTR_lexer___Lexer____line(fra.me.REG[0]) = REGB7;
-            fra.me.REG[4] = fra.me.REG[5];
-            /* ./parser//lexer.nit:1736 */
-            goto label8;
-          }
-          REGB9 = TAG_Int(50);
-          REGB10 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB9));
-          /* ./parser//lexer.nit:1738 */
-          if (UNTAG_Bool(REGB10)) {
-          } else {
-            REGB9 = TAG_Bool((REGB4)==(REGB9));
-            REGB10 = REGB9;
-          /* ./parser//lexer.nit:1738 */
-          }
-          if (UNTAG_Bool(REGB10)) {
-            REGB10 = TAG_Bool(ATTR_lexer___Lexer____filename(fra.me.REG[0])!=NIT_NULL);
-            /* ./parser//lexer.nit:1739 */
-            if (UNTAG_Bool(REGB10)) {
-            } else {
-              fprintf(stderr, "Uninitialized attribute %s", "_filename");
-              fprintf(stderr, " (%s:%d)\n", LOCATE_lexer, 1739);
-              nit_exit(1);
-            }
-            fra.me.REG[5] = ATTR_lexer___Lexer____filename(fra.me.REG[0]);
-            REGB10 = TAG_Int(1);
-            REGB10 = TAG_Int(UNTAG_Int(REGB2)+UNTAG_Int(REGB10));
-            REGB9 = TAG_Int(1);
-            REGB9 = TAG_Int(UNTAG_Int(REGB7)+UNTAG_Int(REGB9));
-            REGB11 = TAG_Int(1);
-            REGB11 = TAG_Int(UNTAG_Int(REGB1)+UNTAG_Int(REGB11));
-            fra.me.REG[5] = NEW_Location_location___Location___init(fra.me.REG[5], REGB10, REGB9, REGB11, REGB6);
-            fra.me.REG[5] = NEW_TKwisset_lexer___TKwisset___init_tk(fra.me.REG[5]);
-            /* ./parser//lexer.nit:1741 */
-            CALL_lexer___Lexer___push_back(fra.me.REG[0])(fra.me.REG[0], REGB5);
-            /* ./parser//lexer.nit:1742 */
-            ATTR_lexer___Lexer____pos(fra.me.REG[0]) = REGB6;
-            /* ./parser//lexer.nit:1743 */
-            ATTR_lexer___Lexer____line(fra.me.REG[0]) = REGB7;
-            fra.me.REG[4] = fra.me.REG[5];
-            /* ./parser//lexer.nit:1744 */
-            goto label8;
-          }
-          REGB11 = TAG_Int(51);
-          REGB9 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB11));
-          /* ./parser//lexer.nit:1746 */
-          if (UNTAG_Bool(REGB9)) {
-          } else {
-            REGB11 = TAG_Bool((REGB4)==(REGB11));
-            REGB9 = REGB11;
-          /* ./parser//lexer.nit:1746 */
-          }
-          if (UNTAG_Bool(REGB9)) {
-            REGB9 = TAG_Bool(ATTR_lexer___Lexer____filename(fra.me.REG[0])!=NIT_NULL);
-            /* ./parser//lexer.nit:1747 */
-            if (UNTAG_Bool(REGB9)) {
-            } else {
-              fprintf(stderr, "Uninitialized attribute %s", "_filename");
-              fprintf(stderr, " (%s:%d)\n", LOCATE_lexer, 1747);
-              nit_exit(1);
-            }
-            fra.me.REG[5] = ATTR_lexer___Lexer____filename(fra.me.REG[0]);
-            REGB9 = TAG_Int(1);
-            REGB9 = TAG_Int(UNTAG_Int(REGB2)+UNTAG_Int(REGB9));
-            REGB11 = TAG_Int(1);
-            REGB11 = TAG_Int(UNTAG_Int(REGB7)+UNTAG_Int(REGB11));
-            REGB10 = TAG_Int(1);
-            REGB10 = TAG_Int(UNTAG_Int(REGB1)+UNTAG_Int(REGB10));
-            fra.me.REG[5] = NEW_Location_location___Location___init(fra.me.REG[5], REGB9, REGB11, REGB10, REGB6);
-            fra.me.REG[5] = NEW_TKwlabel_lexer___TKwlabel___init_tk(fra.me.REG[5]);
-            /* ./parser//lexer.nit:1749 */
-            CALL_lexer___Lexer___push_back(fra.me.REG[0])(fra.me.REG[0], REGB5);
-            /* ./parser//lexer.nit:1750 */
-            ATTR_lexer___Lexer____pos(fra.me.REG[0]) = REGB6;
-            /* ./parser//lexer.nit:1751 */
-            ATTR_lexer___Lexer____line(fra.me.REG[0]) = REGB7;
-            fra.me.REG[4] = fra.me.REG[5];
-            /* ./parser//lexer.nit:1752 */
-            goto label8;
-          }
-          REGB10 = TAG_Int(52);
-          REGB11 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB10));
-          /* ./parser//lexer.nit:1754 */
-          if (UNTAG_Bool(REGB11)) {
-          } else {
-            REGB10 = TAG_Bool((REGB4)==(REGB10));
-            REGB11 = REGB10;
-          /* ./parser//lexer.nit:1754 */
-          }
-          if (UNTAG_Bool(REGB11)) {
-            REGB11 = TAG_Bool(ATTR_lexer___Lexer____filename(fra.me.REG[0])!=NIT_NULL);
-            /* ./parser//lexer.nit:1755 */
-            if (UNTAG_Bool(REGB11)) {
-            } else {
-              fprintf(stderr, "Uninitialized attribute %s", "_filename");
-              fprintf(stderr, " (%s:%d)\n", LOCATE_lexer, 1755);
-              nit_exit(1);
-            }
-            fra.me.REG[5] = ATTR_lexer___Lexer____filename(fra.me.REG[0]);
-            REGB11 = TAG_Int(1);
-            REGB11 = TAG_Int(UNTAG_Int(REGB2)+UNTAG_Int(REGB11));
-            REGB10 = TAG_Int(1);
-            REGB10 = TAG_Int(UNTAG_Int(REGB7)+UNTAG_Int(REGB10));
-            REGB9 = TAG_Int(1);
-            REGB9 = TAG_Int(UNTAG_Int(REGB1)+UNTAG_Int(REGB9));
-            fra.me.REG[5] = NEW_Location_location___Location___init(fra.me.REG[5], REGB11, REGB10, REGB9, REGB6);
-            fra.me.REG[5] = NEW_TOpar_lexer___TOpar___init_tk(fra.me.REG[5]);
-            /* ./parser//lexer.nit:1757 */
-            CALL_lexer___Lexer___push_back(fra.me.REG[0])(fra.me.REG[0], REGB5);
-            /* ./parser//lexer.nit:1758 */
-            ATTR_lexer___Lexer____pos(fra.me.REG[0]) = REGB6;
-            /* ./parser//lexer.nit:1759 */
-            ATTR_lexer___Lexer____line(fra.me.REG[0]) = REGB7;
-            fra.me.REG[4] = fra.me.REG[5];
-            /* ./parser//lexer.nit:1760 */
-            goto label8;
-          }
-          REGB9 = TAG_Int(53);
-          REGB10 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB9));
-          /* ./parser//lexer.nit:1762 */
-          if (UNTAG_Bool(REGB10)) {
-          } else {
-            REGB9 = TAG_Bool((REGB4)==(REGB9));
-            REGB10 = REGB9;
-          /* ./parser//lexer.nit:1762 */
-          }
-          if (UNTAG_Bool(REGB10)) {
-            REGB10 = TAG_Bool(ATTR_lexer___Lexer____filename(fra.me.REG[0])!=NIT_NULL);
-            /* ./parser//lexer.nit:1763 */
-            if (UNTAG_Bool(REGB10)) {
-            } else {
-              fprintf(stderr, "Uninitialized attribute %s", "_filename");
-              fprintf(stderr, " (%s:%d)\n", LOCATE_lexer, 1763);
-              nit_exit(1);
-            }
-            fra.me.REG[5] = ATTR_lexer___Lexer____filename(fra.me.REG[0]);
-            REGB10 = TAG_Int(1);
-            REGB10 = TAG_Int(UNTAG_Int(REGB2)+UNTAG_Int(REGB10));
-            REGB9 = TAG_Int(1);
-            REGB9 = TAG_Int(UNTAG_Int(REGB7)+UNTAG_Int(REGB9));
-            REGB11 = TAG_Int(1);
-            REGB11 = TAG_Int(UNTAG_Int(REGB1)+UNTAG_Int(REGB11));
-            fra.me.REG[5] = NEW_Location_location___Location___init(fra.me.REG[5], REGB10, REGB9, REGB11, REGB6);
-            fra.me.REG[5] = NEW_TCpar_lexer___TCpar___init_tk(fra.me.REG[5]);
-            /* ./parser//lexer.nit:1765 */
-            CALL_lexer___Lexer___push_back(fra.me.REG[0])(fra.me.REG[0], REGB5);
-            /* ./parser//lexer.nit:1766 */
-            ATTR_lexer___Lexer____pos(fra.me.REG[0]) = REGB6;
-            /* ./parser//lexer.nit:1767 */
-            ATTR_lexer___Lexer____line(fra.me.REG[0]) = REGB7;
-            fra.me.REG[4] = fra.me.REG[5];
-            /* ./parser//lexer.nit:1768 */
-            goto label8;
-          }
-          REGB11 = TAG_Int(54);
-          REGB9 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB11));
-          /* ./parser//lexer.nit:1770 */
-          if (UNTAG_Bool(REGB9)) {
-          } else {
-            REGB11 = TAG_Bool((REGB4)==(REGB11));
-            REGB9 = REGB11;
-          /* ./parser//lexer.nit:1770 */
-          }
-          if (UNTAG_Bool(REGB9)) {
-            REGB9 = TAG_Bool(ATTR_lexer___Lexer____filename(fra.me.REG[0])!=NIT_NULL);
-            /* ./parser//lexer.nit:1771 */
-            if (UNTAG_Bool(REGB9)) {
-            } else {
-              fprintf(stderr, "Uninitialized attribute %s", "_filename");
-              fprintf(stderr, " (%s:%d)\n", LOCATE_lexer, 1771);
-              nit_exit(1);
-            }
-            fra.me.REG[5] = ATTR_lexer___Lexer____filename(fra.me.REG[0]);
-            REGB9 = TAG_Int(1);
-            REGB9 = TAG_Int(UNTAG_Int(REGB2)+UNTAG_Int(REGB9));
-            REGB11 = TAG_Int(1);
-            REGB11 = TAG_Int(UNTAG_Int(REGB7)+UNTAG_Int(REGB11));
-            REGB10 = TAG_Int(1);
-            REGB10 = TAG_Int(UNTAG_Int(REGB1)+UNTAG_Int(REGB10));
-            fra.me.REG[5] = NEW_Location_location___Location___init(fra.me.REG[5], REGB9, REGB11, REGB10, REGB6);
-            fra.me.REG[5] = NEW_TObra_lexer___TObra___init_tk(fra.me.REG[5]);
-            /* ./parser//lexer.nit:1773 */
-            CALL_lexer___Lexer___push_back(fra.me.REG[0])(fra.me.REG[0], REGB5);
-            /* ./parser//lexer.nit:1774 */
-            ATTR_lexer___Lexer____pos(fra.me.REG[0]) = REGB6;
-            /* ./parser//lexer.nit:1775 */
-            ATTR_lexer___Lexer____line(fra.me.REG[0]) = REGB7;
-            fra.me.REG[4] = fra.me.REG[5];
-            /* ./parser//lexer.nit:1776 */
-            goto label8;
-          }
-          REGB10 = TAG_Int(55);
-          REGB11 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB10));
-          /* ./parser//lexer.nit:1778 */
-          if (UNTAG_Bool(REGB11)) {
-          } else {
-            REGB10 = TAG_Bool((REGB4)==(REGB10));
-            REGB11 = REGB10;
-          /* ./parser//lexer.nit:1778 */
-          }
-          if (UNTAG_Bool(REGB11)) {
-            REGB11 = TAG_Bool(ATTR_lexer___Lexer____filename(fra.me.REG[0])!=NIT_NULL);
-            /* ./parser//lexer.nit:1779 */
-            if (UNTAG_Bool(REGB11)) {
-            } else {
-              fprintf(stderr, "Uninitialized attribute %s", "_filename");
-              fprintf(stderr, " (%s:%d)\n", LOCATE_lexer, 1779);
-              nit_exit(1);
-            }
-            fra.me.REG[5] = ATTR_lexer___Lexer____filename(fra.me.REG[0]);
-            REGB11 = TAG_Int(1);
-            REGB11 = TAG_Int(UNTAG_Int(REGB2)+UNTAG_Int(REGB11));
-            REGB10 = TAG_Int(1);
-            REGB10 = TAG_Int(UNTAG_Int(REGB7)+UNTAG_Int(REGB10));
-            REGB9 = TAG_Int(1);
-            REGB9 = TAG_Int(UNTAG_Int(REGB1)+UNTAG_Int(REGB9));
-            fra.me.REG[5] = NEW_Location_location___Location___init(fra.me.REG[5], REGB11, REGB10, REGB9, REGB6);
-            fra.me.REG[5] = NEW_TCbra_lexer___TCbra___init_tk(fra.me.REG[5]);
-            /* ./parser//lexer.nit:1781 */
-            CALL_lexer___Lexer___push_back(fra.me.REG[0])(fra.me.REG[0], REGB5);
-            /* ./parser//lexer.nit:1782 */
-            ATTR_lexer___Lexer____pos(fra.me.REG[0]) = REGB6;
-            /* ./parser//lexer.nit:1783 */
-            ATTR_lexer___Lexer____line(fra.me.REG[0]) = REGB7;
-            fra.me.REG[4] = fra.me.REG[5];
-            /* ./parser//lexer.nit:1784 */
-            goto label8;
-          }
-          REGB9 = TAG_Int(56);
-          REGB10 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB9));
-          /* ./parser//lexer.nit:1786 */
-          if (UNTAG_Bool(REGB10)) {
-          } else {
-            REGB9 = TAG_Bool((REGB4)==(REGB9));
-            REGB10 = REGB9;
-          /* ./parser//lexer.nit:1786 */
-          }
-          if (UNTAG_Bool(REGB10)) {
-            REGB10 = TAG_Bool(ATTR_lexer___Lexer____filename(fra.me.REG[0])!=NIT_NULL);
-            /* ./parser//lexer.nit:1787 */
-            if (UNTAG_Bool(REGB10)) {
-            } else {
-              fprintf(stderr, "Uninitialized attribute %s", "_filename");
-              fprintf(stderr, " (%s:%d)\n", LOCATE_lexer, 1787);
-              nit_exit(1);
-            }
-            fra.me.REG[5] = ATTR_lexer___Lexer____filename(fra.me.REG[0]);
-            REGB10 = TAG_Int(1);
-            REGB10 = TAG_Int(UNTAG_Int(REGB2)+UNTAG_Int(REGB10));
-            REGB9 = TAG_Int(1);
-            REGB9 = TAG_Int(UNTAG_Int(REGB7)+UNTAG_Int(REGB9));
-            REGB11 = TAG_Int(1);
-            REGB11 = TAG_Int(UNTAG_Int(REGB1)+UNTAG_Int(REGB11));
-            fra.me.REG[5] = NEW_Location_location___Location___init(fra.me.REG[5], REGB10, REGB9, REGB11, REGB6);
-            fra.me.REG[5] = NEW_TComma_lexer___TComma___init_tk(fra.me.REG[5]);
-            /* ./parser//lexer.nit:1789 */
-            CALL_lexer___Lexer___push_back(fra.me.REG[0])(fra.me.REG[0], REGB5);
-            /* ./parser//lexer.nit:1790 */
-            ATTR_lexer___Lexer____pos(fra.me.REG[0]) = REGB6;
-            /* ./parser//lexer.nit:1791 */
-            ATTR_lexer___Lexer____line(fra.me.REG[0]) = REGB7;
-            fra.me.REG[4] = fra.me.REG[5];
-            /* ./parser//lexer.nit:1792 */
-            goto label8;
-          }
-          REGB11 = TAG_Int(57);
-          REGB9 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB11));
-          /* ./parser//lexer.nit:1794 */
-          if (UNTAG_Bool(REGB9)) {
-          } else {
-            REGB11 = TAG_Bool((REGB4)==(REGB11));
-            REGB9 = REGB11;
-          /* ./parser//lexer.nit:1794 */
-          }
-          if (UNTAG_Bool(REGB9)) {
-            REGB9 = TAG_Bool(ATTR_lexer___Lexer____filename(fra.me.REG[0])!=NIT_NULL);
-            /* ./parser//lexer.nit:1795 */
-            if (UNTAG_Bool(REGB9)) {
-            } else {
-              fprintf(stderr, "Uninitialized attribute %s", "_filename");
-              fprintf(stderr, " (%s:%d)\n", LOCATE_lexer, 1795);
-              nit_exit(1);
-            }
-            fra.me.REG[5] = ATTR_lexer___Lexer____filename(fra.me.REG[0]);
-            REGB9 = TAG_Int(1);
-            REGB9 = TAG_Int(UNTAG_Int(REGB2)+UNTAG_Int(REGB9));
-            REGB11 = TAG_Int(1);
-            REGB11 = TAG_Int(UNTAG_Int(REGB7)+UNTAG_Int(REGB11));
-            REGB10 = TAG_Int(1);
-            REGB10 = TAG_Int(UNTAG_Int(REGB1)+UNTAG_Int(REGB10));
-            fra.me.REG[5] = NEW_Location_location___Location___init(fra.me.REG[5], REGB9, REGB11, REGB10, REGB6);
-            fra.me.REG[5] = NEW_TColumn_lexer___TColumn___init_tk(fra.me.REG[5]);
-            /* ./parser//lexer.nit:1797 */
-            CALL_lexer___Lexer___push_back(fra.me.REG[0])(fra.me.REG[0], REGB5);
-            /* ./parser//lexer.nit:1798 */
-            ATTR_lexer___Lexer____pos(fra.me.REG[0]) = REGB6;
-            /* ./parser//lexer.nit:1799 */
-            ATTR_lexer___Lexer____line(fra.me.REG[0]) = REGB7;
-            fra.me.REG[4] = fra.me.REG[5];
-            /* ./parser//lexer.nit:1800 */
-            goto label8;
-          }
-          REGB10 = TAG_Int(58);
-          REGB11 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB10));
-          /* ./parser//lexer.nit:1802 */
-          if (UNTAG_Bool(REGB11)) {
-          } else {
-            REGB10 = TAG_Bool((REGB4)==(REGB10));
-            REGB11 = REGB10;
-          /* ./parser//lexer.nit:1802 */
-          }
-          if (UNTAG_Bool(REGB11)) {
-            REGB11 = TAG_Bool(ATTR_lexer___Lexer____filename(fra.me.REG[0])!=NIT_NULL);
-            /* ./parser//lexer.nit:1803 */
-            if (UNTAG_Bool(REGB11)) {
-            } else {
-              fprintf(stderr, "Uninitialized attribute %s", "_filename");
-              fprintf(stderr, " (%s:%d)\n", LOCATE_lexer, 1803);
-              nit_exit(1);
-            }
-            fra.me.REG[5] = ATTR_lexer___Lexer____filename(fra.me.REG[0]);
-            REGB11 = TAG_Int(1);
-            REGB11 = TAG_Int(UNTAG_Int(REGB2)+UNTAG_Int(REGB11));
-            REGB10 = TAG_Int(1);
-            REGB10 = TAG_Int(UNTAG_Int(REGB7)+UNTAG_Int(REGB10));
-            REGB9 = TAG_Int(1);
-            REGB9 = TAG_Int(UNTAG_Int(REGB1)+UNTAG_Int(REGB9));
-            fra.me.REG[5] = NEW_Location_location___Location___init(fra.me.REG[5], REGB11, REGB10, REGB9, REGB6);
-            fra.me.REG[5] = NEW_TQuad_lexer___TQuad___init_tk(fra.me.REG[5]);
-            /* ./parser//lexer.nit:1805 */
-            CALL_lexer___Lexer___push_back(fra.me.REG[0])(fra.me.REG[0], REGB5);
-            /* ./parser//lexer.nit:1806 */
-            ATTR_lexer___Lexer____pos(fra.me.REG[0]) = REGB6;
-            /* ./parser//lexer.nit:1807 */
-            ATTR_lexer___Lexer____line(fra.me.REG[0]) = REGB7;
-            fra.me.REG[4] = fra.me.REG[5];
-            /* ./parser//lexer.nit:1808 */
-            goto label8;
-          }
-          REGB9 = TAG_Int(59);
-          REGB10 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB9));
-          /* ./parser//lexer.nit:1810 */
-          if (UNTAG_Bool(REGB10)) {
-          } else {
-            REGB9 = TAG_Bool((REGB4)==(REGB9));
-            REGB10 = REGB9;
-          /* ./parser//lexer.nit:1810 */
-          }
-          if (UNTAG_Bool(REGB10)) {
-            REGB10 = TAG_Bool(ATTR_lexer___Lexer____filename(fra.me.REG[0])!=NIT_NULL);
-            /* ./parser//lexer.nit:1811 */
-            if (UNTAG_Bool(REGB10)) {
-            } else {
-              fprintf(stderr, "Uninitialized attribute %s", "_filename");
-              fprintf(stderr, " (%s:%d)\n", LOCATE_lexer, 1811);
-              nit_exit(1);
-            }
-            fra.me.REG[5] = ATTR_lexer___Lexer____filename(fra.me.REG[0]);
-            REGB10 = TAG_Int(1);
-            REGB10 = TAG_Int(UNTAG_Int(REGB2)+UNTAG_Int(REGB10));
-            REGB9 = TAG_Int(1);
-            REGB9 = TAG_Int(UNTAG_Int(REGB7)+UNTAG_Int(REGB9));
-            REGB11 = TAG_Int(1);
-            REGB11 = TAG_Int(UNTAG_Int(REGB1)+UNTAG_Int(REGB11));
-            fra.me.REG[5] = NEW_Location_location___Location___init(fra.me.REG[5], REGB10, REGB9, REGB11, REGB6);
-            fra.me.REG[5] = NEW_TAssign_lexer___TAssign___init_tk(fra.me.REG[5]);
-            /* ./parser//lexer.nit:1813 */
-            CALL_lexer___Lexer___push_back(fra.me.REG[0])(fra.me.REG[0], REGB5);
-            /* ./parser//lexer.nit:1814 */
-            ATTR_lexer___Lexer____pos(fra.me.REG[0]) = REGB6;
-            /* ./parser//lexer.nit:1815 */
-            ATTR_lexer___Lexer____line(fra.me.REG[0]) = REGB7;
-            fra.me.REG[4] = fra.me.REG[5];
-            /* ./parser//lexer.nit:1816 */
-            goto label8;
-          }
-          REGB11 = TAG_Int(60);
-          REGB9 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB11));
-          /* ./parser//lexer.nit:1818 */
-          if (UNTAG_Bool(REGB9)) {
-          } else {
-            REGB11 = TAG_Bool((REGB4)==(REGB11));
-            REGB9 = REGB11;
-          /* ./parser//lexer.nit:1818 */
-          }
-          if (UNTAG_Bool(REGB9)) {
-            REGB9 = TAG_Bool(ATTR_lexer___Lexer____filename(fra.me.REG[0])!=NIT_NULL);
-            /* ./parser//lexer.nit:1819 */
-            if (UNTAG_Bool(REGB9)) {
-            } else {
-              fprintf(stderr, "Uninitialized attribute %s", "_filename");
-              fprintf(stderr, " (%s:%d)\n", LOCATE_lexer, 1819);
-              nit_exit(1);
-            }
-            fra.me.REG[5] = ATTR_lexer___Lexer____filename(fra.me.REG[0]);
-            REGB9 = TAG_Int(1);
-            REGB9 = TAG_Int(UNTAG_Int(REGB2)+UNTAG_Int(REGB9));
-            REGB11 = TAG_Int(1);
-            REGB11 = TAG_Int(UNTAG_Int(REGB7)+UNTAG_Int(REGB11));
-            REGB10 = TAG_Int(1);
-            REGB10 = TAG_Int(UNTAG_Int(REGB1)+UNTAG_Int(REGB10));
-            fra.me.REG[5] = NEW_Location_location___Location___init(fra.me.REG[5], REGB9, REGB11, REGB10, REGB6);
-            fra.me.REG[5] = NEW_TPluseq_lexer___TPluseq___init_tk(fra.me.REG[5]);
-            /* ./parser//lexer.nit:1821 */
-            CALL_lexer___Lexer___push_back(fra.me.REG[0])(fra.me.REG[0], REGB5);
-            /* ./parser//lexer.nit:1822 */
-            ATTR_lexer___Lexer____pos(fra.me.REG[0]) = REGB6;
-            /* ./parser//lexer.nit:1823 */
-            ATTR_lexer___Lexer____line(fra.me.REG[0]) = REGB7;
-            fra.me.REG[4] = fra.me.REG[5];
-            /* ./parser//lexer.nit:1824 */
-            goto label8;
-          }
-          REGB10 = TAG_Int(61);
-          REGB11 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB10));
-          /* ./parser//lexer.nit:1826 */
-          if (UNTAG_Bool(REGB11)) {
-          } else {
-            REGB10 = TAG_Bool((REGB4)==(REGB10));
-            REGB11 = REGB10;
-          /* ./parser//lexer.nit:1826 */
-          }
-          if (UNTAG_Bool(REGB11)) {
-            REGB11 = TAG_Bool(ATTR_lexer___Lexer____filename(fra.me.REG[0])!=NIT_NULL);
-            /* ./parser//lexer.nit:1827 */
-            if (UNTAG_Bool(REGB11)) {
-            } else {
-              fprintf(stderr, "Uninitialized attribute %s", "_filename");
-              fprintf(stderr, " (%s:%d)\n", LOCATE_lexer, 1827);
-              nit_exit(1);
-            }
-            fra.me.REG[5] = ATTR_lexer___Lexer____filename(fra.me.REG[0]);
-            REGB11 = TAG_Int(1);
-            REGB11 = TAG_Int(UNTAG_Int(REGB2)+UNTAG_Int(REGB11));
-            REGB10 = TAG_Int(1);
-            REGB10 = TAG_Int(UNTAG_Int(REGB7)+UNTAG_Int(REGB10));
-            REGB9 = TAG_Int(1);
-            REGB9 = TAG_Int(UNTAG_Int(REGB1)+UNTAG_Int(REGB9));
-            fra.me.REG[5] = NEW_Location_location___Location___init(fra.me.REG[5], REGB11, REGB10, REGB9, REGB6);
-            fra.me.REG[5] = NEW_TMinuseq_lexer___TMinuseq___init_tk(fra.me.REG[5]);
-            /* ./parser//lexer.nit:1829 */
-            CALL_lexer___Lexer___push_back(fra.me.REG[0])(fra.me.REG[0], REGB5);
-            /* ./parser//lexer.nit:1830 */
-            ATTR_lexer___Lexer____pos(fra.me.REG[0]) = REGB6;
-            /* ./parser//lexer.nit:1831 */
-            ATTR_lexer___Lexer____line(fra.me.REG[0]) = REGB7;
-            fra.me.REG[4] = fra.me.REG[5];
-            /* ./parser//lexer.nit:1832 */
-            goto label8;
-          }
-          REGB9 = TAG_Int(62);
-          REGB10 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB9));
-          /* ./parser//lexer.nit:1834 */
-          if (UNTAG_Bool(REGB10)) {
-          } else {
-            REGB9 = TAG_Bool((REGB4)==(REGB9));
-            REGB10 = REGB9;
-          /* ./parser//lexer.nit:1834 */
-          }
-          if (UNTAG_Bool(REGB10)) {
-            REGB10 = TAG_Bool(ATTR_lexer___Lexer____filename(fra.me.REG[0])!=NIT_NULL);
-            /* ./parser//lexer.nit:1835 */
-            if (UNTAG_Bool(REGB10)) {
-            } else {
-              fprintf(stderr, "Uninitialized attribute %s", "_filename");
-              fprintf(stderr, " (%s:%d)\n", LOCATE_lexer, 1835);
-              nit_exit(1);
-            }
-            fra.me.REG[5] = ATTR_lexer___Lexer____filename(fra.me.REG[0]);
-            REGB10 = TAG_Int(1);
-            REGB10 = TAG_Int(UNTAG_Int(REGB2)+UNTAG_Int(REGB10));
-            REGB9 = TAG_Int(1);
-            REGB9 = TAG_Int(UNTAG_Int(REGB7)+UNTAG_Int(REGB9));
-            REGB11 = TAG_Int(1);
-            REGB11 = TAG_Int(UNTAG_Int(REGB1)+UNTAG_Int(REGB11));
-            fra.me.REG[5] = NEW_Location_location___Location___init(fra.me.REG[5], REGB10, REGB9, REGB11, REGB6);
-            fra.me.REG[5] = NEW_TDotdotdot_lexer___TDotdotdot___init_tk(fra.me.REG[5]);
-            /* ./parser//lexer.nit:1837 */
-            CALL_lexer___Lexer___push_back(fra.me.REG[0])(fra.me.REG[0], REGB5);
-            /* ./parser//lexer.nit:1838 */
-            ATTR_lexer___Lexer____pos(fra.me.REG[0]) = REGB6;
-            /* ./parser//lexer.nit:1839 */
-            ATTR_lexer___Lexer____line(fra.me.REG[0]) = REGB7;
-            fra.me.REG[4] = fra.me.REG[5];
-            /* ./parser//lexer.nit:1840 */
-            goto label8;
-          }
-          REGB11 = TAG_Int(63);
-          REGB9 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB11));
-          /* ./parser//lexer.nit:1842 */
-          if (UNTAG_Bool(REGB9)) {
-          } else {
-            REGB11 = TAG_Bool((REGB4)==(REGB11));
-            REGB9 = REGB11;
-          /* ./parser//lexer.nit:1842 */
-          }
-          if (UNTAG_Bool(REGB9)) {
-            REGB9 = TAG_Bool(ATTR_lexer___Lexer____filename(fra.me.REG[0])!=NIT_NULL);
-            /* ./parser//lexer.nit:1843 */
-            if (UNTAG_Bool(REGB9)) {
-            } else {
-              fprintf(stderr, "Uninitialized attribute %s", "_filename");
-              fprintf(stderr, " (%s:%d)\n", LOCATE_lexer, 1843);
-              nit_exit(1);
-            }
-            fra.me.REG[5] = ATTR_lexer___Lexer____filename(fra.me.REG[0]);
-            REGB9 = TAG_Int(1);
-            REGB9 = TAG_Int(UNTAG_Int(REGB2)+UNTAG_Int(REGB9));
-            REGB11 = TAG_Int(1);
-            REGB11 = TAG_Int(UNTAG_Int(REGB7)+UNTAG_Int(REGB11));
-            REGB10 = TAG_Int(1);
-            REGB10 = TAG_Int(UNTAG_Int(REGB1)+UNTAG_Int(REGB10));
-            fra.me.REG[5] = NEW_Location_location___Location___init(fra.me.REG[5], REGB9, REGB11, REGB10, REGB6);
-            fra.me.REG[5] = NEW_TDotdot_lexer___TDotdot___init_tk(fra.me.REG[5]);
-            /* ./parser//lexer.nit:1845 */
-            CALL_lexer___Lexer___push_back(fra.me.REG[0])(fra.me.REG[0], REGB5);
-            /* ./parser//lexer.nit:1846 */
-            ATTR_lexer___Lexer____pos(fra.me.REG[0]) = REGB6;
-            /* ./parser//lexer.nit:1847 */
-            ATTR_lexer___Lexer____line(fra.me.REG[0]) = REGB7;
-            fra.me.REG[4] = fra.me.REG[5];
-            /* ./parser//lexer.nit:1848 */
-            goto label8;
-          }
-          REGB10 = TAG_Int(64);
-          REGB11 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB10));
-          /* ./parser//lexer.nit:1850 */
-          if (UNTAG_Bool(REGB11)) {
-          } else {
-            REGB10 = TAG_Bool((REGB4)==(REGB10));
-            REGB11 = REGB10;
-          /* ./parser//lexer.nit:1850 */
-          }
-          if (UNTAG_Bool(REGB11)) {
-            REGB11 = TAG_Bool(ATTR_lexer___Lexer____filename(fra.me.REG[0])!=NIT_NULL);
-            /* ./parser//lexer.nit:1851 */
-            if (UNTAG_Bool(REGB11)) {
-            } else {
-              fprintf(stderr, "Uninitialized attribute %s", "_filename");
-              fprintf(stderr, " (%s:%d)\n", LOCATE_lexer, 1851);
-              nit_exit(1);
-            }
-            fra.me.REG[5] = ATTR_lexer___Lexer____filename(fra.me.REG[0]);
-            REGB11 = TAG_Int(1);
-            REGB11 = TAG_Int(UNTAG_Int(REGB2)+UNTAG_Int(REGB11));
-            REGB10 = TAG_Int(1);
-            REGB10 = TAG_Int(UNTAG_Int(REGB7)+UNTAG_Int(REGB10));
-            REGB9 = TAG_Int(1);
-            REGB9 = TAG_Int(UNTAG_Int(REGB1)+UNTAG_Int(REGB9));
-            fra.me.REG[5] = NEW_Location_location___Location___init(fra.me.REG[5], REGB11, REGB10, REGB9, REGB6);
-            fra.me.REG[5] = NEW_TDot_lexer___TDot___init_tk(fra.me.REG[5]);
-            /* ./parser//lexer.nit:1853 */
-            CALL_lexer___Lexer___push_back(fra.me.REG[0])(fra.me.REG[0], REGB5);
-            /* ./parser//lexer.nit:1854 */
-            ATTR_lexer___Lexer____pos(fra.me.REG[0]) = REGB6;
-            /* ./parser//lexer.nit:1855 */
-            ATTR_lexer___Lexer____line(fra.me.REG[0]) = REGB7;
-            fra.me.REG[4] = fra.me.REG[5];
-            /* ./parser//lexer.nit:1856 */
-            goto label8;
-          }
-          REGB9 = TAG_Int(65);
-          REGB10 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB9));
-          /* ./parser//lexer.nit:1858 */
-          if (UNTAG_Bool(REGB10)) {
-          } else {
-            REGB9 = TAG_Bool((REGB4)==(REGB9));
-            REGB10 = REGB9;
-          /* ./parser//lexer.nit:1858 */
-          }
-          if (UNTAG_Bool(REGB10)) {
-            REGB10 = TAG_Bool(ATTR_lexer___Lexer____filename(fra.me.REG[0])!=NIT_NULL);
-            /* ./parser//lexer.nit:1859 */
-            if (UNTAG_Bool(REGB10)) {
-            } else {
-              fprintf(stderr, "Uninitialized attribute %s", "_filename");
-              fprintf(stderr, " (%s:%d)\n", LOCATE_lexer, 1859);
-              nit_exit(1);
-            }
-            fra.me.REG[5] = ATTR_lexer___Lexer____filename(fra.me.REG[0]);
-            REGB10 = TAG_Int(1);
-            REGB10 = TAG_Int(UNTAG_Int(REGB2)+UNTAG_Int(REGB10));
-            REGB9 = TAG_Int(1);
-            REGB9 = TAG_Int(UNTAG_Int(REGB7)+UNTAG_Int(REGB9));
-            REGB11 = TAG_Int(1);
-            REGB11 = TAG_Int(UNTAG_Int(REGB1)+UNTAG_Int(REGB11));
-            fra.me.REG[5] = NEW_Location_location___Location___init(fra.me.REG[5], REGB10, REGB9, REGB11, REGB6);
-            fra.me.REG[5] = NEW_TPlus_lexer___TPlus___init_tk(fra.me.REG[5]);
-            /* ./parser//lexer.nit:1861 */
-            CALL_lexer___Lexer___push_back(fra.me.REG[0])(fra.me.REG[0], REGB5);
-            /* ./parser//lexer.nit:1862 */
-            ATTR_lexer___Lexer____pos(fra.me.REG[0]) = REGB6;
-            /* ./parser//lexer.nit:1863 */
-            ATTR_lexer___Lexer____line(fra.me.REG[0]) = REGB7;
-            fra.me.REG[4] = fra.me.REG[5];
-            /* ./parser//lexer.nit:1864 */
-            goto label8;
-          }
-          REGB11 = TAG_Int(66);
-          REGB9 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB11));
-          /* ./parser//lexer.nit:1866 */
-          if (UNTAG_Bool(REGB9)) {
-          } else {
-            REGB11 = TAG_Bool((REGB4)==(REGB11));
-            REGB9 = REGB11;
-          /* ./parser//lexer.nit:1866 */
-          }
-          if (UNTAG_Bool(REGB9)) {
-            REGB9 = TAG_Bool(ATTR_lexer___Lexer____filename(fra.me.REG[0])!=NIT_NULL);
-            /* ./parser//lexer.nit:1867 */
-            if (UNTAG_Bool(REGB9)) {
-            } else {
-              fprintf(stderr, "Uninitialized attribute %s", "_filename");
-              fprintf(stderr, " (%s:%d)\n", LOCATE_lexer, 1867);
-              nit_exit(1);
-            }
-            fra.me.REG[5] = ATTR_lexer___Lexer____filename(fra.me.REG[0]);
-            REGB9 = TAG_Int(1);
-            REGB9 = TAG_Int(UNTAG_Int(REGB2)+UNTAG_Int(REGB9));
-            REGB11 = TAG_Int(1);
-            REGB11 = TAG_Int(UNTAG_Int(REGB7)+UNTAG_Int(REGB11));
-            REGB10 = TAG_Int(1);
-            REGB10 = TAG_Int(UNTAG_Int(REGB1)+UNTAG_Int(REGB10));
-            fra.me.REG[5] = NEW_Location_location___Location___init(fra.me.REG[5], REGB9, REGB11, REGB10, REGB6);
-            fra.me.REG[5] = NEW_TMinus_lexer___TMinus___init_tk(fra.me.REG[5]);
-            /* ./parser//lexer.nit:1869 */
-            CALL_lexer___Lexer___push_back(fra.me.REG[0])(fra.me.REG[0], REGB5);
-            /* ./parser//lexer.nit:1870 */
-            ATTR_lexer___Lexer____pos(fra.me.REG[0]) = REGB6;
-            /* ./parser//lexer.nit:1871 */
-            ATTR_lexer___Lexer____line(fra.me.REG[0]) = REGB7;
-            fra.me.REG[4] = fra.me.REG[5];
-            /* ./parser//lexer.nit:1872 */
-            goto label8;
-          }
-          REGB10 = TAG_Int(67);
-          REGB11 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB10));
-          /* ./parser//lexer.nit:1874 */
-          if (UNTAG_Bool(REGB11)) {
-          } else {
-            REGB10 = TAG_Bool((REGB4)==(REGB10));
-            REGB11 = REGB10;
-          /* ./parser//lexer.nit:1874 */
-          }
-          if (UNTAG_Bool(REGB11)) {
-            REGB11 = TAG_Bool(ATTR_lexer___Lexer____filename(fra.me.REG[0])!=NIT_NULL);
-            /* ./parser//lexer.nit:1875 */
-            if (UNTAG_Bool(REGB11)) {
-            } else {
-              fprintf(stderr, "Uninitialized attribute %s", "_filename");
-              fprintf(stderr, " (%s:%d)\n", LOCATE_lexer, 1875);
-              nit_exit(1);
-            }
-            fra.me.REG[5] = ATTR_lexer___Lexer____filename(fra.me.REG[0]);
-            REGB11 = TAG_Int(1);
-            REGB11 = TAG_Int(UNTAG_Int(REGB2)+UNTAG_Int(REGB11));
-            REGB10 = TAG_Int(1);
-            REGB10 = TAG_Int(UNTAG_Int(REGB7)+UNTAG_Int(REGB10));
-            REGB9 = TAG_Int(1);
-            REGB9 = TAG_Int(UNTAG_Int(REGB1)+UNTAG_Int(REGB9));
-            fra.me.REG[5] = NEW_Location_location___Location___init(fra.me.REG[5], REGB11, REGB10, REGB9, REGB6);
-            fra.me.REG[5] = NEW_TStar_lexer___TStar___init_tk(fra.me.REG[5]);
-            /* ./parser//lexer.nit:1877 */
-            CALL_lexer___Lexer___push_back(fra.me.REG[0])(fra.me.REG[0], REGB5);
-            /* ./parser//lexer.nit:1878 */
-            ATTR_lexer___Lexer____pos(fra.me.REG[0]) = REGB6;
-            /* ./parser//lexer.nit:1879 */
-            ATTR_lexer___Lexer____line(fra.me.REG[0]) = REGB7;
-            fra.me.REG[4] = fra.me.REG[5];
-            /* ./parser//lexer.nit:1880 */
-            goto label8;
-          }
-          REGB9 = TAG_Int(68);
-          REGB10 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB9));
-          /* ./parser//lexer.nit:1882 */
-          if (UNTAG_Bool(REGB10)) {
-          } else {
-            REGB9 = TAG_Bool((REGB4)==(REGB9));
-            REGB10 = REGB9;
-          /* ./parser//lexer.nit:1882 */
-          }
-          if (UNTAG_Bool(REGB10)) {
-            REGB10 = TAG_Bool(ATTR_lexer___Lexer____filename(fra.me.REG[0])!=NIT_NULL);
-            /* ./parser//lexer.nit:1883 */
-            if (UNTAG_Bool(REGB10)) {
-            } else {
-              fprintf(stderr, "Uninitialized attribute %s", "_filename");
-              fprintf(stderr, " (%s:%d)\n", LOCATE_lexer, 1883);
-              nit_exit(1);
-            }
-            fra.me.REG[5] = ATTR_lexer___Lexer____filename(fra.me.REG[0]);
-            REGB10 = TAG_Int(1);
-            REGB10 = TAG_Int(UNTAG_Int(REGB2)+UNTAG_Int(REGB10));
-            REGB9 = TAG_Int(1);
-            REGB9 = TAG_Int(UNTAG_Int(REGB7)+UNTAG_Int(REGB9));
-            REGB11 = TAG_Int(1);
-            REGB11 = TAG_Int(UNTAG_Int(REGB1)+UNTAG_Int(REGB11));
-            fra.me.REG[5] = NEW_Location_location___Location___init(fra.me.REG[5], REGB10, REGB9, REGB11, REGB6);
-            fra.me.REG[5] = NEW_TSlash_lexer___TSlash___init_tk(fra.me.REG[5]);
-            /* ./parser//lexer.nit:1885 */
-            CALL_lexer___Lexer___push_back(fra.me.REG[0])(fra.me.REG[0], REGB5);
-            /* ./parser//lexer.nit:1886 */
-            ATTR_lexer___Lexer____pos(fra.me.REG[0]) = REGB6;
-            /* ./parser//lexer.nit:1887 */
-            ATTR_lexer___Lexer____line(fra.me.REG[0]) = REGB7;
-            fra.me.REG[4] = fra.me.REG[5];
-            /* ./parser//lexer.nit:1888 */
-            goto label8;
-          }
-          REGB11 = TAG_Int(69);
-          REGB9 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB11));
-          /* ./parser//lexer.nit:1890 */
-          if (UNTAG_Bool(REGB9)) {
-          } else {
-            REGB11 = TAG_Bool((REGB4)==(REGB11));
-            REGB9 = REGB11;
-          /* ./parser//lexer.nit:1890 */
-          }
-          if (UNTAG_Bool(REGB9)) {
-            REGB9 = TAG_Bool(ATTR_lexer___Lexer____filename(fra.me.REG[0])!=NIT_NULL);
-            /* ./parser//lexer.nit:1891 */
-            if (UNTAG_Bool(REGB9)) {
-            } else {
-              fprintf(stderr, "Uninitialized attribute %s", "_filename");
-              fprintf(stderr, " (%s:%d)\n", LOCATE_lexer, 1891);
-              nit_exit(1);
-            }
-            fra.me.REG[5] = ATTR_lexer___Lexer____filename(fra.me.REG[0]);
-            REGB9 = TAG_Int(1);
-            REGB9 = TAG_Int(UNTAG_Int(REGB2)+UNTAG_Int(REGB9));
-            REGB11 = TAG_Int(1);
-            REGB11 = TAG_Int(UNTAG_Int(REGB7)+UNTAG_Int(REGB11));
-            REGB10 = TAG_Int(1);
-            REGB10 = TAG_Int(UNTAG_Int(REGB1)+UNTAG_Int(REGB10));
-            fra.me.REG[5] = NEW_Location_location___Location___init(fra.me.REG[5], REGB9, REGB11, REGB10, REGB6);
-            fra.me.REG[5] = NEW_TPercent_lexer___TPercent___init_tk(fra.me.REG[5]);
-            /* ./parser//lexer.nit:1893 */
-            CALL_lexer___Lexer___push_back(fra.me.REG[0])(fra.me.REG[0], REGB5);
-            /* ./parser//lexer.nit:1894 */
-            ATTR_lexer___Lexer____pos(fra.me.REG[0]) = REGB6;
-            /* ./parser//lexer.nit:1895 */
-            ATTR_lexer___Lexer____line(fra.me.REG[0]) = REGB7;
-            fra.me.REG[4] = fra.me.REG[5];
-            /* ./parser//lexer.nit:1896 */
-            goto label8;
-          }
-          REGB10 = TAG_Int(70);
-          REGB11 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB10));
-          /* ./parser//lexer.nit:1898 */
-          if (UNTAG_Bool(REGB11)) {
-          } else {
-            REGB10 = TAG_Bool((REGB4)==(REGB10));
-            REGB11 = REGB10;
-          /* ./parser//lexer.nit:1898 */
-          }
-          if (UNTAG_Bool(REGB11)) {
-            REGB11 = TAG_Bool(ATTR_lexer___Lexer____filename(fra.me.REG[0])!=NIT_NULL);
-            /* ./parser//lexer.nit:1899 */
-            if (UNTAG_Bool(REGB11)) {
-            } else {
-              fprintf(stderr, "Uninitialized attribute %s", "_filename");
-              fprintf(stderr, " (%s:%d)\n", LOCATE_lexer, 1899);
-              nit_exit(1);
-            }
-            fra.me.REG[5] = ATTR_lexer___Lexer____filename(fra.me.REG[0]);
-            REGB11 = TAG_Int(1);
-            REGB11 = TAG_Int(UNTAG_Int(REGB2)+UNTAG_Int(REGB11));
-            REGB10 = TAG_Int(1);
-            REGB10 = TAG_Int(UNTAG_Int(REGB7)+UNTAG_Int(REGB10));
-            REGB9 = TAG_Int(1);
-            REGB9 = TAG_Int(UNTAG_Int(REGB1)+UNTAG_Int(REGB9));
-            fra.me.REG[5] = NEW_Location_location___Location___init(fra.me.REG[5], REGB11, REGB10, REGB9, REGB6);
-            fra.me.REG[5] = NEW_TEq_lexer___TEq___init_tk(fra.me.REG[5]);
-            /* ./parser//lexer.nit:1901 */
-            CALL_lexer___Lexer___push_back(fra.me.REG[0])(fra.me.REG[0], REGB5);
-            /* ./parser//lexer.nit:1902 */
-            ATTR_lexer___Lexer____pos(fra.me.REG[0]) = REGB6;
-            /* ./parser//lexer.nit:1903 */
-            ATTR_lexer___Lexer____line(fra.me.REG[0]) = REGB7;
-            fra.me.REG[4] = fra.me.REG[5];
-            /* ./parser//lexer.nit:1904 */
-            goto label8;
-          }
-          REGB9 = TAG_Int(71);
-          REGB10 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB9));
-          /* ./parser//lexer.nit:1906 */
-          if (UNTAG_Bool(REGB10)) {
-          } else {
-            REGB9 = TAG_Bool((REGB4)==(REGB9));
-            REGB10 = REGB9;
-          /* ./parser//lexer.nit:1906 */
-          }
-          if (UNTAG_Bool(REGB10)) {
-            REGB10 = TAG_Bool(ATTR_lexer___Lexer____filename(fra.me.REG[0])!=NIT_NULL);
-            /* ./parser//lexer.nit:1907 */
-            if (UNTAG_Bool(REGB10)) {
-            } else {
-              fprintf(stderr, "Uninitialized attribute %s", "_filename");
-              fprintf(stderr, " (%s:%d)\n", LOCATE_lexer, 1907);
-              nit_exit(1);
-            }
-            fra.me.REG[5] = ATTR_lexer___Lexer____filename(fra.me.REG[0]);
-            REGB10 = TAG_Int(1);
-            REGB10 = TAG_Int(UNTAG_Int(REGB2)+UNTAG_Int(REGB10));
-            REGB9 = TAG_Int(1);
-            REGB9 = TAG_Int(UNTAG_Int(REGB7)+UNTAG_Int(REGB9));
-            REGB11 = TAG_Int(1);
-            REGB11 = TAG_Int(UNTAG_Int(REGB1)+UNTAG_Int(REGB11));
-            fra.me.REG[5] = NEW_Location_location___Location___init(fra.me.REG[5], REGB10, REGB9, REGB11, REGB6);
-            fra.me.REG[5] = NEW_TNe_lexer___TNe___init_tk(fra.me.REG[5]);
-            /* ./parser//lexer.nit:1909 */
-            CALL_lexer___Lexer___push_back(fra.me.REG[0])(fra.me.REG[0], REGB5);
-            /* ./parser//lexer.nit:1910 */
-            ATTR_lexer___Lexer____pos(fra.me.REG[0]) = REGB6;
-            /* ./parser//lexer.nit:1911 */
-            ATTR_lexer___Lexer____line(fra.me.REG[0]) = REGB7;
-            fra.me.REG[4] = fra.me.REG[5];
-            /* ./parser//lexer.nit:1912 */
-            goto label8;
-          }
-          REGB11 = TAG_Int(72);
-          REGB9 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB11));
-          /* ./parser//lexer.nit:1914 */
-          if (UNTAG_Bool(REGB9)) {
-          } else {
-            REGB11 = TAG_Bool((REGB4)==(REGB11));
-            REGB9 = REGB11;
-          /* ./parser//lexer.nit:1914 */
-          }
-          if (UNTAG_Bool(REGB9)) {
-            REGB9 = TAG_Bool(ATTR_lexer___Lexer____filename(fra.me.REG[0])!=NIT_NULL);
-            /* ./parser//lexer.nit:1915 */
-            if (UNTAG_Bool(REGB9)) {
-            } else {
-              fprintf(stderr, "Uninitialized attribute %s", "_filename");
-              fprintf(stderr, " (%s:%d)\n", LOCATE_lexer, 1915);
-              nit_exit(1);
-            }
-            fra.me.REG[5] = ATTR_lexer___Lexer____filename(fra.me.REG[0]);
-            REGB9 = TAG_Int(1);
-            REGB9 = TAG_Int(UNTAG_Int(REGB2)+UNTAG_Int(REGB9));
-            REGB11 = TAG_Int(1);
-            REGB11 = TAG_Int(UNTAG_Int(REGB7)+UNTAG_Int(REGB11));
-            REGB10 = TAG_Int(1);
-            REGB10 = TAG_Int(UNTAG_Int(REGB1)+UNTAG_Int(REGB10));
-            fra.me.REG[5] = NEW_Location_location___Location___init(fra.me.REG[5], REGB9, REGB11, REGB10, REGB6);
-            fra.me.REG[5] = NEW_TLt_lexer___TLt___init_tk(fra.me.REG[5]);
-            /* ./parser//lexer.nit:1917 */
-            CALL_lexer___Lexer___push_back(fra.me.REG[0])(fra.me.REG[0], REGB5);
-            /* ./parser//lexer.nit:1918 */
-            ATTR_lexer___Lexer____pos(fra.me.REG[0]) = REGB6;
-            /* ./parser//lexer.nit:1919 */
-            ATTR_lexer___Lexer____line(fra.me.REG[0]) = REGB7;
-            fra.me.REG[4] = fra.me.REG[5];
-            /* ./parser//lexer.nit:1920 */
-            goto label8;
-          }
-          REGB10 = TAG_Int(73);
-          REGB11 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB10));
-          /* ./parser//lexer.nit:1922 */
-          if (UNTAG_Bool(REGB11)) {
-          } else {
-            REGB10 = TAG_Bool((REGB4)==(REGB10));
-            REGB11 = REGB10;
-          /* ./parser//lexer.nit:1922 */
-          }
-          if (UNTAG_Bool(REGB11)) {
-            REGB11 = TAG_Bool(ATTR_lexer___Lexer____filename(fra.me.REG[0])!=NIT_NULL);
-            /* ./parser//lexer.nit:1923 */
-            if (UNTAG_Bool(REGB11)) {
-            } else {
-              fprintf(stderr, "Uninitialized attribute %s", "_filename");
-              fprintf(stderr, " (%s:%d)\n", LOCATE_lexer, 1923);
-              nit_exit(1);
-            }
-            fra.me.REG[5] = ATTR_lexer___Lexer____filename(fra.me.REG[0]);
-            REGB11 = TAG_Int(1);
-            REGB11 = TAG_Int(UNTAG_Int(REGB2)+UNTAG_Int(REGB11));
-            REGB10 = TAG_Int(1);
-            REGB10 = TAG_Int(UNTAG_Int(REGB7)+UNTAG_Int(REGB10));
-            REGB9 = TAG_Int(1);
-            REGB9 = TAG_Int(UNTAG_Int(REGB1)+UNTAG_Int(REGB9));
-            fra.me.REG[5] = NEW_Location_location___Location___init(fra.me.REG[5], REGB11, REGB10, REGB9, REGB6);
-            fra.me.REG[5] = NEW_TLe_lexer___TLe___init_tk(fra.me.REG[5]);
-            /* ./parser//lexer.nit:1925 */
-            CALL_lexer___Lexer___push_back(fra.me.REG[0])(fra.me.REG[0], REGB5);
-            /* ./parser//lexer.nit:1926 */
-            ATTR_lexer___Lexer____pos(fra.me.REG[0]) = REGB6;
-            /* ./parser//lexer.nit:1927 */
-            ATTR_lexer___Lexer____line(fra.me.REG[0]) = REGB7;
-            fra.me.REG[4] = fra.me.REG[5];
-            /* ./parser//lexer.nit:1928 */
-            goto label8;
-          }
-          REGB9 = TAG_Int(74);
-          REGB10 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB9));
-          /* ./parser//lexer.nit:1930 */
-          if (UNTAG_Bool(REGB10)) {
-          } else {
-            REGB9 = TAG_Bool((REGB4)==(REGB9));
-            REGB10 = REGB9;
-          /* ./parser//lexer.nit:1930 */
-          }
-          if (UNTAG_Bool(REGB10)) {
-            REGB10 = TAG_Bool(ATTR_lexer___Lexer____filename(fra.me.REG[0])!=NIT_NULL);
-            /* ./parser//lexer.nit:1931 */
-            if (UNTAG_Bool(REGB10)) {
-            } else {
-              fprintf(stderr, "Uninitialized attribute %s", "_filename");
-              fprintf(stderr, " (%s:%d)\n", LOCATE_lexer, 1931);
-              nit_exit(1);
-            }
-            fra.me.REG[5] = ATTR_lexer___Lexer____filename(fra.me.REG[0]);
-            REGB10 = TAG_Int(1);
-            REGB10 = TAG_Int(UNTAG_Int(REGB2)+UNTAG_Int(REGB10));
-            REGB9 = TAG_Int(1);
-            REGB9 = TAG_Int(UNTAG_Int(REGB7)+UNTAG_Int(REGB9));
-            REGB11 = TAG_Int(1);
-            REGB11 = TAG_Int(UNTAG_Int(REGB1)+UNTAG_Int(REGB11));
-            fra.me.REG[5] = NEW_Location_location___Location___init(fra.me.REG[5], REGB10, REGB9, REGB11, REGB6);
-            fra.me.REG[5] = NEW_TGt_lexer___TGt___init_tk(fra.me.REG[5]);
-            /* ./parser//lexer.nit:1933 */
-            CALL_lexer___Lexer___push_back(fra.me.REG[0])(fra.me.REG[0], REGB5);
-            /* ./parser//lexer.nit:1934 */
-            ATTR_lexer___Lexer____pos(fra.me.REG[0]) = REGB6;
-            /* ./parser//lexer.nit:1935 */
-            ATTR_lexer___Lexer____line(fra.me.REG[0]) = REGB7;
-            fra.me.REG[4] = fra.me.REG[5];
-            /* ./parser//lexer.nit:1936 */
-            goto label8;
-          }
-          REGB11 = TAG_Int(75);
-          REGB9 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB11));
-          /* ./parser//lexer.nit:1938 */
-          if (UNTAG_Bool(REGB9)) {
-          } else {
-            REGB11 = TAG_Bool((REGB4)==(REGB11));
-            REGB9 = REGB11;
-          /* ./parser//lexer.nit:1938 */
-          }
-          if (UNTAG_Bool(REGB9)) {
-            REGB9 = TAG_Bool(ATTR_lexer___Lexer____filename(fra.me.REG[0])!=NIT_NULL);
-            /* ./parser//lexer.nit:1939 */
-            if (UNTAG_Bool(REGB9)) {
-            } else {
-              fprintf(stderr, "Uninitialized attribute %s", "_filename");
-              fprintf(stderr, " (%s:%d)\n", LOCATE_lexer, 1939);
-              nit_exit(1);
-            }
-            fra.me.REG[5] = ATTR_lexer___Lexer____filename(fra.me.REG[0]);
-            REGB9 = TAG_Int(1);
-            REGB9 = TAG_Int(UNTAG_Int(REGB2)+UNTAG_Int(REGB9));
-            REGB11 = TAG_Int(1);
-            REGB11 = TAG_Int(UNTAG_Int(REGB7)+UNTAG_Int(REGB11));
-            REGB10 = TAG_Int(1);
-            REGB10 = TAG_Int(UNTAG_Int(REGB1)+UNTAG_Int(REGB10));
-            fra.me.REG[5] = NEW_Location_location___Location___init(fra.me.REG[5], REGB9, REGB11, REGB10, REGB6);
-            fra.me.REG[5] = NEW_TGe_lexer___TGe___init_tk(fra.me.REG[5]);
-            /* ./parser//lexer.nit:1941 */
-            CALL_lexer___Lexer___push_back(fra.me.REG[0])(fra.me.REG[0], REGB5);
-            /* ./parser//lexer.nit:1942 */
-            ATTR_lexer___Lexer____pos(fra.me.REG[0]) = REGB6;
-            /* ./parser//lexer.nit:1943 */
-            ATTR_lexer___Lexer____line(fra.me.REG[0]) = REGB7;
-            fra.me.REG[4] = fra.me.REG[5];
-            /* ./parser//lexer.nit:1944 */
-            goto label8;
-          }
-          REGB10 = TAG_Int(76);
-          REGB11 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB10));
-          /* ./parser//lexer.nit:1946 */
-          if (UNTAG_Bool(REGB11)) {
-          } else {
-            REGB10 = TAG_Bool((REGB4)==(REGB10));
-            REGB11 = REGB10;
-          /* ./parser//lexer.nit:1946 */
-          }
-          if (UNTAG_Bool(REGB11)) {
-            REGB11 = TAG_Bool(ATTR_lexer___Lexer____filename(fra.me.REG[0])!=NIT_NULL);
-            /* ./parser//lexer.nit:1947 */
-            if (UNTAG_Bool(REGB11)) {
-            } else {
-              fprintf(stderr, "Uninitialized attribute %s", "_filename");
-              fprintf(stderr, " (%s:%d)\n", LOCATE_lexer, 1947);
-              nit_exit(1);
-            }
-            fra.me.REG[5] = ATTR_lexer___Lexer____filename(fra.me.REG[0]);
-            REGB11 = TAG_Int(1);
-            REGB11 = TAG_Int(UNTAG_Int(REGB2)+UNTAG_Int(REGB11));
-            REGB10 = TAG_Int(1);
-            REGB10 = TAG_Int(UNTAG_Int(REGB7)+UNTAG_Int(REGB10));
-            REGB9 = TAG_Int(1);
-            REGB9 = TAG_Int(UNTAG_Int(REGB1)+UNTAG_Int(REGB9));
-            fra.me.REG[5] = NEW_Location_location___Location___init(fra.me.REG[5], REGB11, REGB10, REGB9, REGB6);
-            fra.me.REG[5] = NEW_TStarship_lexer___TStarship___init_tk(fra.me.REG[5]);
-            /* ./parser//lexer.nit:1949 */
-            CALL_lexer___Lexer___push_back(fra.me.REG[0])(fra.me.REG[0], REGB5);
-            /* ./parser//lexer.nit:1950 */
-            ATTR_lexer___Lexer____pos(fra.me.REG[0]) = REGB6;
-            /* ./parser//lexer.nit:1951 */
-            ATTR_lexer___Lexer____line(fra.me.REG[0]) = REGB7;
-            fra.me.REG[4] = fra.me.REG[5];
-            /* ./parser//lexer.nit:1952 */
-            goto label8;
-          }
-          REGB9 = TAG_Int(77);
-          REGB10 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB9));
-          /* ./parser//lexer.nit:1954 */
-          if (UNTAG_Bool(REGB10)) {
-          } else {
-            REGB9 = TAG_Bool((REGB4)==(REGB9));
-            REGB10 = REGB9;
-          /* ./parser//lexer.nit:1954 */
-          }
-          if (UNTAG_Bool(REGB10)) {
-            REGB10 = TAG_Bool(ATTR_lexer___Lexer____filename(fra.me.REG[0])!=NIT_NULL);
-            /* ./parser//lexer.nit:1955 */
-            if (UNTAG_Bool(REGB10)) {
-            } else {
-              fprintf(stderr, "Uninitialized attribute %s", "_filename");
-              fprintf(stderr, " (%s:%d)\n", LOCATE_lexer, 1955);
-              nit_exit(1);
-            }
-            fra.me.REG[5] = ATTR_lexer___Lexer____filename(fra.me.REG[0]);
-            REGB10 = TAG_Int(1);
-            REGB10 = TAG_Int(UNTAG_Int(REGB2)+UNTAG_Int(REGB10));
-            REGB9 = TAG_Int(1);
-            REGB9 = TAG_Int(UNTAG_Int(REGB7)+UNTAG_Int(REGB9));
-            REGB11 = TAG_Int(1);
-            REGB11 = TAG_Int(UNTAG_Int(REGB1)+UNTAG_Int(REGB11));
-            fra.me.REG[5] = NEW_Location_location___Location___init(fra.me.REG[5], REGB10, REGB9, REGB11, REGB6);
-            fra.me.REG[5] = NEW_TBang_lexer___TBang___init_tk(fra.me.REG[5]);
-            /* ./parser//lexer.nit:1957 */
-            CALL_lexer___Lexer___push_back(fra.me.REG[0])(fra.me.REG[0], REGB5);
-            /* ./parser//lexer.nit:1958 */
-            ATTR_lexer___Lexer____pos(fra.me.REG[0]) = REGB6;
-            /* ./parser//lexer.nit:1959 */
-            ATTR_lexer___Lexer____line(fra.me.REG[0]) = REGB7;
-            fra.me.REG[4] = fra.me.REG[5];
-            /* ./parser//lexer.nit:1960 */
-            goto label8;
-          }
-          REGB11 = TAG_Int(78);
-          REGB9 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB11));
-          /* ./parser//lexer.nit:1962 */
-          if (UNTAG_Bool(REGB9)) {
-          } else {
-            REGB11 = TAG_Bool((REGB4)==(REGB11));
-            REGB9 = REGB11;
-          /* ./parser//lexer.nit:1962 */
-          }
-          if (UNTAG_Bool(REGB9)) {
-            REGB9 = TAG_Bool(ATTR_lexer___Lexer____filename(fra.me.REG[0])!=NIT_NULL);
-            /* ./parser//lexer.nit:1963 */
-            if (UNTAG_Bool(REGB9)) {
-            } else {
-              fprintf(stderr, "Uninitialized attribute %s", "_filename");
-              fprintf(stderr, " (%s:%d)\n", LOCATE_lexer, 1963);
-              nit_exit(1);
-            }
-            fra.me.REG[5] = ATTR_lexer___Lexer____filename(fra.me.REG[0]);
-            REGB9 = TAG_Int(1);
-            REGB9 = TAG_Int(UNTAG_Int(REGB2)+UNTAG_Int(REGB9));
-            REGB11 = TAG_Int(1);
-            REGB11 = TAG_Int(UNTAG_Int(REGB7)+UNTAG_Int(REGB11));
-            REGB10 = TAG_Int(1);
-            REGB10 = TAG_Int(UNTAG_Int(REGB1)+UNTAG_Int(REGB10));
-            fra.me.REG[5] = NEW_Location_location___Location___init(fra.me.REG[5], REGB9, REGB11, REGB10, REGB6);
-            REGB10 = TAG_Int(0);
-            fra.me.REG[6] = CALL_string___AbstractString___substring(fra.me.REG[3])(fra.me.REG[3], REGB10, REGB5);
-            fra.me.REG[5] = NEW_TClassid_lexer___TClassid___init_tk(fra.me.REG[6], fra.me.REG[5]);
-            /* ./parser//lexer.nit:1966 */
-            CALL_lexer___Lexer___push_back(fra.me.REG[0])(fra.me.REG[0], REGB5);
-            /* ./parser//lexer.nit:1967 */
-            ATTR_lexer___Lexer____pos(fra.me.REG[0]) = REGB6;
-            /* ./parser//lexer.nit:1968 */
-            ATTR_lexer___Lexer____line(fra.me.REG[0]) = REGB7;
-            fra.me.REG[4] = fra.me.REG[5];
-            /* ./parser//lexer.nit:1969 */
-            goto label8;
-          }
-          REGB10 = TAG_Int(79);
-          REGB11 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB10));
-          /* ./parser//lexer.nit:1971 */
-          if (UNTAG_Bool(REGB11)) {
-          } else {
-            REGB10 = TAG_Bool((REGB4)==(REGB10));
-            REGB11 = REGB10;
-          /* ./parser//lexer.nit:1971 */
-          }
-          if (UNTAG_Bool(REGB11)) {
-            REGB11 = TAG_Bool(ATTR_lexer___Lexer____filename(fra.me.REG[0])!=NIT_NULL);
-            /* ./parser//lexer.nit:1972 */
-            if (UNTAG_Bool(REGB11)) {
-            } else {
-              fprintf(stderr, "Uninitialized attribute %s", "_filename");
-              fprintf(stderr, " (%s:%d)\n", LOCATE_lexer, 1972);
-              nit_exit(1);
-            }
-            fra.me.REG[5] = ATTR_lexer___Lexer____filename(fra.me.REG[0]);
-            REGB11 = TAG_Int(1);
-            REGB11 = TAG_Int(UNTAG_Int(REGB2)+UNTAG_Int(REGB11));
-            REGB10 = TAG_Int(1);
-            REGB10 = TAG_Int(UNTAG_Int(REGB7)+UNTAG_Int(REGB10));
-            REGB9 = TAG_Int(1);
-            REGB9 = TAG_Int(UNTAG_Int(REGB1)+UNTAG_Int(REGB9));
-            fra.me.REG[5] = NEW_Location_location___Location___init(fra.me.REG[5], REGB11, REGB10, REGB9, REGB6);
-            REGB9 = TAG_Int(0);
-            fra.me.REG[6] = CALL_string___AbstractString___substring(fra.me.REG[3])(fra.me.REG[3], REGB9, REGB5);
-            fra.me.REG[5] = NEW_TId_lexer___TId___init_tk(fra.me.REG[6], fra.me.REG[5]);
-            /* ./parser//lexer.nit:1975 */
-            CALL_lexer___Lexer___push_back(fra.me.REG[0])(fra.me.REG[0], REGB5);
-            /* ./parser//lexer.nit:1976 */
-            ATTR_lexer___Lexer____pos(fra.me.REG[0]) = REGB6;
-            /* ./parser//lexer.nit:1977 */
-            ATTR_lexer___Lexer____line(fra.me.REG[0]) = REGB7;
-            fra.me.REG[4] = fra.me.REG[5];
-            /* ./parser//lexer.nit:1978 */
-            goto label8;
-          }
-          REGB9 = TAG_Int(80);
-          REGB10 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB9));
-          /* ./parser//lexer.nit:1980 */
-          if (UNTAG_Bool(REGB10)) {
-          } else {
-            REGB9 = TAG_Bool((REGB4)==(REGB9));
-            REGB10 = REGB9;
-          /* ./parser//lexer.nit:1980 */
-          }
-          if (UNTAG_Bool(REGB10)) {
-            REGB10 = TAG_Bool(ATTR_lexer___Lexer____filename(fra.me.REG[0])!=NIT_NULL);
-            /* ./parser//lexer.nit:1981 */
-            if (UNTAG_Bool(REGB10)) {
-            } else {
-              fprintf(stderr, "Uninitialized attribute %s", "_filename");
-              fprintf(stderr, " (%s:%d)\n", LOCATE_lexer, 1981);
-              nit_exit(1);
-            }
-            fra.me.REG[5] = ATTR_lexer___Lexer____filename(fra.me.REG[0]);
-            REGB10 = TAG_Int(1);
-            REGB10 = TAG_Int(UNTAG_Int(REGB2)+UNTAG_Int(REGB10));
-            REGB9 = TAG_Int(1);
-            REGB9 = TAG_Int(UNTAG_Int(REGB7)+UNTAG_Int(REGB9));
-            REGB11 = TAG_Int(1);
-            REGB11 = TAG_Int(UNTAG_Int(REGB1)+UNTAG_Int(REGB11));
-            fra.me.REG[5] = NEW_Location_location___Location___init(fra.me.REG[5], REGB10, REGB9, REGB11, REGB6);
-            REGB11 = TAG_Int(0);
-            fra.me.REG[6] = CALL_string___AbstractString___substring(fra.me.REG[3])(fra.me.REG[3], REGB11, REGB5);
-            fra.me.REG[5] = NEW_TAttrid_lexer___TAttrid___init_tk(fra.me.REG[6], fra.me.REG[5]);
-            /* ./parser//lexer.nit:1984 */
-            CALL_lexer___Lexer___push_back(fra.me.REG[0])(fra.me.REG[0], REGB5);
-            /* ./parser//lexer.nit:1985 */
-            ATTR_lexer___Lexer____pos(fra.me.REG[0]) = REGB6;
-            /* ./parser//lexer.nit:1986 */
-            ATTR_lexer___Lexer____line(fra.me.REG[0]) = REGB7;
-            fra.me.REG[4] = fra.me.REG[5];
-            /* ./parser//lexer.nit:1987 */
-            goto label8;
-          }
-          REGB11 = TAG_Int(81);
-          REGB9 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB11));
-          /* ./parser//lexer.nit:1989 */
-          if (UNTAG_Bool(REGB9)) {
-          } else {
-            REGB11 = TAG_Bool((REGB4)==(REGB11));
-            REGB9 = REGB11;
-          /* ./parser//lexer.nit:1989 */
-          }
-          if (UNTAG_Bool(REGB9)) {
-            REGB9 = TAG_Bool(ATTR_lexer___Lexer____filename(fra.me.REG[0])!=NIT_NULL);
-            /* ./parser//lexer.nit:1990 */
-            if (UNTAG_Bool(REGB9)) {
-            } else {
-              fprintf(stderr, "Uninitialized attribute %s", "_filename");
-              fprintf(stderr, " (%s:%d)\n", LOCATE_lexer, 1990);
-              nit_exit(1);
-            }
-            fra.me.REG[5] = ATTR_lexer___Lexer____filename(fra.me.REG[0]);
-            REGB9 = TAG_Int(1);
-            REGB9 = TAG_Int(UNTAG_Int(REGB2)+UNTAG_Int(REGB9));
-            REGB11 = TAG_Int(1);
-            REGB11 = TAG_Int(UNTAG_Int(REGB7)+UNTAG_Int(REGB11));
-            REGB10 = TAG_Int(1);
-            REGB10 = TAG_Int(UNTAG_Int(REGB1)+UNTAG_Int(REGB10));
-            fra.me.REG[5] = NEW_Location_location___Location___init(fra.me.REG[5], REGB9, REGB11, REGB10, REGB6);
-            REGB10 = TAG_Int(0);
-            fra.me.REG[6] = CALL_string___AbstractString___substring(fra.me.REG[3])(fra.me.REG[3], REGB10, REGB5);
-            fra.me.REG[5] = NEW_TNumber_lexer___TNumber___init_tk(fra.me.REG[6], fra.me.REG[5]);
-            /* ./parser//lexer.nit:1993 */
-            CALL_lexer___Lexer___push_back(fra.me.REG[0])(fra.me.REG[0], REGB5);
-            /* ./parser//lexer.nit:1994 */
-            ATTR_lexer___Lexer____pos(fra.me.REG[0]) = REGB6;
-            /* ./parser//lexer.nit:1995 */
-            ATTR_lexer___Lexer____line(fra.me.REG[0]) = REGB7;
-            fra.me.REG[4] = fra.me.REG[5];
-            /* ./parser//lexer.nit:1996 */
-            goto label8;
-          }
-          REGB10 = TAG_Int(82);
-          REGB11 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB10));
-          /* ./parser//lexer.nit:1998 */
-          if (UNTAG_Bool(REGB11)) {
-          } else {
-            REGB10 = TAG_Bool((REGB4)==(REGB10));
-            REGB11 = REGB10;
-          /* ./parser//lexer.nit:1998 */
-          }
-          if (UNTAG_Bool(REGB11)) {
-            REGB11 = TAG_Bool(ATTR_lexer___Lexer____filename(fra.me.REG[0])!=NIT_NULL);
-            /* ./parser//lexer.nit:1999 */
-            if (UNTAG_Bool(REGB11)) {
-            } else {
-              fprintf(stderr, "Uninitialized attribute %s", "_filename");
-              fprintf(stderr, " (%s:%d)\n", LOCATE_lexer, 1999);
-              nit_exit(1);
-            }
-            fra.me.REG[5] = ATTR_lexer___Lexer____filename(fra.me.REG[0]);
-            REGB11 = TAG_Int(1);
-            REGB11 = TAG_Int(UNTAG_Int(REGB2)+UNTAG_Int(REGB11));
-            REGB10 = TAG_Int(1);
-            REGB10 = TAG_Int(UNTAG_Int(REGB7)+UNTAG_Int(REGB10));
-            REGB9 = TAG_Int(1);
-            REGB9 = TAG_Int(UNTAG_Int(REGB1)+UNTAG_Int(REGB9));
-            fra.me.REG[5] = NEW_Location_location___Location___init(fra.me.REG[5], REGB11, REGB10, REGB9, REGB6);
-            REGB9 = TAG_Int(0);
-            fra.me.REG[6] = CALL_string___AbstractString___substring(fra.me.REG[3])(fra.me.REG[3], REGB9, REGB5);
-            fra.me.REG[5] = NEW_TFloat_lexer___TFloat___init_tk(fra.me.REG[6], fra.me.REG[5]);
-            /* ./parser//lexer.nit:2002 */
-            CALL_lexer___Lexer___push_back(fra.me.REG[0])(fra.me.REG[0], REGB5);
-            /* ./parser//lexer.nit:2003 */
-            ATTR_lexer___Lexer____pos(fra.me.REG[0]) = REGB6;
-            /* ./parser//lexer.nit:2004 */
-            ATTR_lexer___Lexer____line(fra.me.REG[0]) = REGB7;
-            fra.me.REG[4] = fra.me.REG[5];
-            /* ./parser//lexer.nit:2005 */
-            goto label8;
-          }
-          REGB9 = TAG_Int(83);
-          REGB10 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB9));
-          /* ./parser//lexer.nit:2007 */
-          if (UNTAG_Bool(REGB10)) {
-          } else {
-            REGB9 = TAG_Bool((REGB4)==(REGB9));
-            REGB10 = REGB9;
-          /* ./parser//lexer.nit:2007 */
-          }
-          if (UNTAG_Bool(REGB10)) {
-            REGB10 = TAG_Bool(ATTR_lexer___Lexer____filename(fra.me.REG[0])!=NIT_NULL);
-            /* ./parser//lexer.nit:2008 */
-            if (UNTAG_Bool(REGB10)) {
-            } else {
-              fprintf(stderr, "Uninitialized attribute %s", "_filename");
-              fprintf(stderr, " (%s:%d)\n", LOCATE_lexer, 2008);
-              nit_exit(1);
-            }
-            fra.me.REG[5] = ATTR_lexer___Lexer____filename(fra.me.REG[0]);
-            REGB10 = TAG_Int(1);
-            REGB10 = TAG_Int(UNTAG_Int(REGB2)+UNTAG_Int(REGB10));
-            REGB9 = TAG_Int(1);
-            REGB9 = TAG_Int(UNTAG_Int(REGB7)+UNTAG_Int(REGB9));
-            REGB11 = TAG_Int(1);
-            REGB11 = TAG_Int(UNTAG_Int(REGB1)+UNTAG_Int(REGB11));
-            fra.me.REG[5] = NEW_Location_location___Location___init(fra.me.REG[5], REGB10, REGB9, REGB11, REGB6);
-            REGB11 = TAG_Int(0);
-            fra.me.REG[6] = CALL_string___AbstractString___substring(fra.me.REG[3])(fra.me.REG[3], REGB11, REGB5);
-            fra.me.REG[5] = NEW_TChar_lexer___TChar___init_tk(fra.me.REG[6], fra.me.REG[5]);
-            /* ./parser//lexer.nit:2011 */
-            CALL_lexer___Lexer___push_back(fra.me.REG[0])(fra.me.REG[0], REGB5);
-            /* ./parser//lexer.nit:2012 */
-            ATTR_lexer___Lexer____pos(fra.me.REG[0]) = REGB6;
-            /* ./parser//lexer.nit:2013 */
-            ATTR_lexer___Lexer____line(fra.me.REG[0]) = REGB7;
-            fra.me.REG[4] = fra.me.REG[5];
-            /* ./parser//lexer.nit:2014 */
-            goto label8;
-          }
-          REGB11 = TAG_Int(84);
-          REGB9 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB11));
-          /* ./parser//lexer.nit:2016 */
-          if (UNTAG_Bool(REGB9)) {
-          } else {
-            REGB11 = TAG_Bool((REGB4)==(REGB11));
-            REGB9 = REGB11;
-          /* ./parser//lexer.nit:2016 */
-          }
-          if (UNTAG_Bool(REGB9)) {
-            REGB9 = TAG_Bool(ATTR_lexer___Lexer____filename(fra.me.REG[0])!=NIT_NULL);
-            /* ./parser//lexer.nit:2017 */
-            if (UNTAG_Bool(REGB9)) {
-            } else {
-              fprintf(stderr, "Uninitialized attribute %s", "_filename");
-              fprintf(stderr, " (%s:%d)\n", LOCATE_lexer, 2017);
-              nit_exit(1);
-            }
-            fra.me.REG[5] = ATTR_lexer___Lexer____filename(fra.me.REG[0]);
-            REGB9 = TAG_Int(1);
-            REGB9 = TAG_Int(UNTAG_Int(REGB2)+UNTAG_Int(REGB9));
-            REGB11 = TAG_Int(1);
-            REGB11 = TAG_Int(UNTAG_Int(REGB7)+UNTAG_Int(REGB11));
-            REGB10 = TAG_Int(1);
-            REGB10 = TAG_Int(UNTAG_Int(REGB1)+UNTAG_Int(REGB10));
-            fra.me.REG[5] = NEW_Location_location___Location___init(fra.me.REG[5], REGB9, REGB11, REGB10, REGB6);
-            REGB10 = TAG_Int(0);
-            fra.me.REG[6] = CALL_string___AbstractString___substring(fra.me.REG[3])(fra.me.REG[3], REGB10, REGB5);
-            fra.me.REG[5] = NEW_TString_lexer___TString___init_tk(fra.me.REG[6], fra.me.REG[5]);
-            /* ./parser//lexer.nit:2020 */
-            CALL_lexer___Lexer___push_back(fra.me.REG[0])(fra.me.REG[0], REGB5);
-            /* ./parser//lexer.nit:2021 */
-            ATTR_lexer___Lexer____pos(fra.me.REG[0]) = REGB6;
-            /* ./parser//lexer.nit:2022 */
-            ATTR_lexer___Lexer____line(fra.me.REG[0]) = REGB7;
-            fra.me.REG[4] = fra.me.REG[5];
-            /* ./parser//lexer.nit:2023 */
-            goto label8;
-          }
-          REGB10 = TAG_Int(85);
-          REGB11 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB10));
-          /* ./parser//lexer.nit:2025 */
-          if (UNTAG_Bool(REGB11)) {
-          } else {
-            REGB10 = TAG_Bool((REGB4)==(REGB10));
-            REGB11 = REGB10;
-          /* ./parser//lexer.nit:2025 */
-          }
-          if (UNTAG_Bool(REGB11)) {
-            REGB11 = TAG_Bool(ATTR_lexer___Lexer____filename(fra.me.REG[0])!=NIT_NULL);
-            /* ./parser//lexer.nit:2026 */
-            if (UNTAG_Bool(REGB11)) {
-            } else {
-              fprintf(stderr, "Uninitialized attribute %s", "_filename");
-              fprintf(stderr, " (%s:%d)\n", LOCATE_lexer, 2026);
-              nit_exit(1);
-            }
-            fra.me.REG[5] = ATTR_lexer___Lexer____filename(fra.me.REG[0]);
-            REGB11 = TAG_Int(1);
-            REGB11 = TAG_Int(UNTAG_Int(REGB2)+UNTAG_Int(REGB11));
-            REGB10 = TAG_Int(1);
-            REGB10 = TAG_Int(UNTAG_Int(REGB7)+UNTAG_Int(REGB10));
-            REGB9 = TAG_Int(1);
-            REGB9 = TAG_Int(UNTAG_Int(REGB1)+UNTAG_Int(REGB9));
-            fra.me.REG[5] = NEW_Location_location___Location___init(fra.me.REG[5], REGB11, REGB10, REGB9, REGB6);
-            REGB9 = TAG_Int(0);
-            fra.me.REG[6] = CALL_string___AbstractString___substring(fra.me.REG[3])(fra.me.REG[3], REGB9, REGB5);
-            fra.me.REG[5] = NEW_TStartString_lexer___TStartString___init_tk(fra.me.REG[6], fra.me.REG[5]);
-            /* ./parser//lexer.nit:2029 */
-            CALL_lexer___Lexer___push_back(fra.me.REG[0])(fra.me.REG[0], REGB5);
-            /* ./parser//lexer.nit:2030 */
-            ATTR_lexer___Lexer____pos(fra.me.REG[0]) = REGB6;
-            /* ./parser//lexer.nit:2031 */
-            ATTR_lexer___Lexer____line(fra.me.REG[0]) = REGB7;
-            fra.me.REG[4] = fra.me.REG[5];
-            /* ./parser//lexer.nit:2032 */
-            goto label8;
-          }
-          REGB9 = TAG_Int(86);
-          REGB10 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB9));
-          /* ./parser//lexer.nit:2034 */
-          if (UNTAG_Bool(REGB10)) {
-          } else {
-            REGB9 = TAG_Bool((REGB4)==(REGB9));
-            REGB10 = REGB9;
-          /* ./parser//lexer.nit:2034 */
-          }
-          if (UNTAG_Bool(REGB10)) {
-            REGB10 = TAG_Bool(ATTR_lexer___Lexer____filename(fra.me.REG[0])!=NIT_NULL);
-            /* ./parser//lexer.nit:2035 */
-            if (UNTAG_Bool(REGB10)) {
-            } else {
-              fprintf(stderr, "Uninitialized attribute %s", "_filename");
-              fprintf(stderr, " (%s:%d)\n", LOCATE_lexer, 2035);
-              nit_exit(1);
-            }
-            fra.me.REG[5] = ATTR_lexer___Lexer____filename(fra.me.REG[0]);
-            REGB10 = TAG_Int(1);
-            REGB10 = TAG_Int(UNTAG_Int(REGB2)+UNTAG_Int(REGB10));
-            REGB9 = TAG_Int(1);
-            REGB9 = TAG_Int(UNTAG_Int(REGB7)+UNTAG_Int(REGB9));
-            REGB11 = TAG_Int(1);
-            REGB11 = TAG_Int(UNTAG_Int(REGB1)+UNTAG_Int(REGB11));
-            fra.me.REG[5] = NEW_Location_location___Location___init(fra.me.REG[5], REGB10, REGB9, REGB11, REGB6);
-            REGB11 = TAG_Int(0);
-            fra.me.REG[6] = CALL_string___AbstractString___substring(fra.me.REG[3])(fra.me.REG[3], REGB11, REGB5);
-            fra.me.REG[5] = NEW_TMidString_lexer___TMidString___init_tk(fra.me.REG[6], fra.me.REG[5]);
-            /* ./parser//lexer.nit:2038 */
-            CALL_lexer___Lexer___push_back(fra.me.REG[0])(fra.me.REG[0], REGB5);
-            /* ./parser//lexer.nit:2039 */
-            ATTR_lexer___Lexer____pos(fra.me.REG[0]) = REGB6;
-            /* ./parser//lexer.nit:2040 */
-            ATTR_lexer___Lexer____line(fra.me.REG[0]) = REGB7;
-            fra.me.REG[4] = fra.me.REG[5];
-            /* ./parser//lexer.nit:2041 */
-            goto label8;
-          }
-          REGB11 = TAG_Int(87);
-          REGB9 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB11));
-          /* ./parser//lexer.nit:2043 */
-          if (UNTAG_Bool(REGB9)) {
-          } else {
-            REGB11 = TAG_Bool((REGB4)==(REGB11));
-            REGB9 = REGB11;
-          /* ./parser//lexer.nit:2043 */
-          }
-          if (UNTAG_Bool(REGB9)) {
-            REGB9 = TAG_Bool(ATTR_lexer___Lexer____filename(fra.me.REG[0])!=NIT_NULL);
-            /* ./parser//lexer.nit:2044 */
-            if (UNTAG_Bool(REGB9)) {
-            } else {
-              fprintf(stderr, "Uninitialized attribute %s", "_filename");
-              fprintf(stderr, " (%s:%d)\n", LOCATE_lexer, 2044);
-              nit_exit(1);
-            }
-            fra.me.REG[5] = ATTR_lexer___Lexer____filename(fra.me.REG[0]);
-            REGB9 = TAG_Int(1);
-            REGB9 = TAG_Int(UNTAG_Int(REGB2)+UNTAG_Int(REGB9));
-            REGB11 = TAG_Int(1);
-            REGB11 = TAG_Int(UNTAG_Int(REGB7)+UNTAG_Int(REGB11));
-            REGB10 = TAG_Int(1);
-            REGB10 = TAG_Int(UNTAG_Int(REGB1)+UNTAG_Int(REGB10));
-            fra.me.REG[5] = NEW_Location_location___Location___init(fra.me.REG[5], REGB9, REGB11, REGB10, REGB6);
-            REGB10 = TAG_Int(0);
-            fra.me.REG[6] = CALL_string___AbstractString___substring(fra.me.REG[3])(fra.me.REG[3], REGB10, REGB5);
-            fra.me.REG[5] = NEW_TEndString_lexer___TEndString___init_tk(fra.me.REG[6], fra.me.REG[5]);
-            /* ./parser//lexer.nit:2047 */
-            CALL_lexer___Lexer___push_back(fra.me.REG[0])(fra.me.REG[0], REGB5);
-            /* ./parser//lexer.nit:2048 */
-            ATTR_lexer___Lexer____pos(fra.me.REG[0]) = REGB6;
-            /* ./parser//lexer.nit:2049 */
-            ATTR_lexer___Lexer____line(fra.me.REG[0]) = REGB7;
-            fra.me.REG[4] = fra.me.REG[5];
-            /* ./parser//lexer.nit:2050 */
-            goto label8;
-          }
-        } else {
-          REGB10 = TAG_Bool(ATTR_lexer___Lexer____filename(fra.me.REG[0])!=NIT_NULL);
-          /* ./parser//lexer.nit:2053 */
-          if (UNTAG_Bool(REGB10)) {
-          } else {
-            fprintf(stderr, "Uninitialized attribute %s", "_filename");
-            fprintf(stderr, " (%s:%d)\n", LOCATE_lexer, 2053);
-            nit_exit(1);
-          }
-          fra.me.REG[5] = ATTR_lexer___Lexer____filename(fra.me.REG[0]);
-          REGB10 = TAG_Int(1);
-          REGB10 = TAG_Int(UNTAG_Int(REGB2)+UNTAG_Int(REGB10));
-          REGB11 = TAG_Int(1);
-          REGB11 = TAG_Int(UNTAG_Int(REGB2)+UNTAG_Int(REGB11));
-          REGB9 = TAG_Int(1);
-          REGB9 = TAG_Int(UNTAG_Int(REGB1)+UNTAG_Int(REGB9));
-          REGB12 = TAG_Int(1);
-          REGB12 = TAG_Int(UNTAG_Int(REGB1)+UNTAG_Int(REGB12));
-          fra.me.REG[5] = NEW_Location_location___Location___init(fra.me.REG[5], REGB10, REGB11, REGB9, REGB12);
-          REGB12 = TAG_Bool(ATTR_array___AbstractArrayRead____length(fra.me.REG[3])!=NIT_NULL);
-          /* ./../lib/standard//collection//array.nit:23 */
-          if (UNTAG_Bool(REGB12)) {
-          } else {
-            fprintf(stderr, "Uninitialized attribute %s", "_length");
-            fprintf(stderr, " (%s:%d)\n", LOCATE_array, 23);
-            nit_exit(1);
-          }
-          REGB12 = ATTR_array___AbstractArrayRead____length(fra.me.REG[3]);
-          REGB9 = TAG_Int(0);
-          REGB9 = TAG_Bool(UNTAG_Int(REGB12)>UNTAG_Int(REGB9));
-          /* ./parser//lexer.nit:2054 */
-          if (UNTAG_Bool(REGB9)) {
-            REGB9 = TAG_Int(3);
-            fra.me.REG[6] = NEW_Array_array___Array___with_capacity(REGB9);
-            /* ./parser//lexer.nit:2055 */
-            if (!once_value_9) {
-              fra.me.REG[7] = BOX_NativeString("Syntax error: unknown token ");
-              REGB9 = TAG_Int(28);
-              fra.me.REG[7] = NEW_String_string___String___with_native(fra.me.REG[7], REGB9);
-              once_value_9 = fra.me.REG[7];
-              register_static_object(&once_value_9);
-            } else fra.me.REG[7] = once_value_9;
-            array___Array___add(fra.me.REG[6], fra.me.REG[7]);
-            fra.me.REG[7] = CALL_string___Object___to_s(fra.me.REG[3])(fra.me.REG[3]);
-            array___Array___add(fra.me.REG[6], fra.me.REG[7]);
-            if (!once_value_10) {
-              fra.me.REG[7] = BOX_NativeString(".");
-              REGB9 = TAG_Int(1);
-              fra.me.REG[7] = NEW_String_string___String___with_native(fra.me.REG[7], REGB9);
-              once_value_10 = fra.me.REG[7];
-              register_static_object(&once_value_10);
-            } else fra.me.REG[7] = once_value_10;
-            array___Array___add(fra.me.REG[6], fra.me.REG[7]);
-            fra.me.REG[6] = CALL_string___Object___to_s(fra.me.REG[6])(fra.me.REG[6]);
-            fra.me.REG[6] = NEW_AError_lexer___AError___init_error(fra.me.REG[6], fra.me.REG[5]);
-            fra.me.REG[4] = fra.me.REG[6];
-            /* ./parser//lexer.nit:2056 */
-            goto label8;
-          } else {
-            fra.me.REG[5] = NEW_EOF_lexer___EOF___init(fra.me.REG[5]);
-            fra.me.REG[4] = fra.me.REG[5];
-            /* ./parser//lexer.nit:2059 */
-            goto label8;
-          }
-        }
-      }
-    } else {
-      /* ./parser//lexer.nit:1263 */
-      goto label11;
-    }
-  }
-  label11: while(0);
-  fra.me.REG[4] = NIT_NULL;
-  /* ./parser//lexer.nit:2064 */
-  goto label8;
-  label8: while(0);
-  stack_frame_head = fra.me.prev;
-  return fra.me.REG[4];
-}
-val_t lexer___Lexer___get_char(val_t p0){
-  struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
-  val_t REGB0;
-  val_t REGB1;
-  val_t REGB2;
-  val_t REGB3;
-  val_t tmp;
-  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
-  fra.me.file = LOCATE_lexer;
-  fra.me.line = 2067;
-  fra.me.meth = LOCATE_lexer___Lexer___get_char;
-  fra.me.has_broke = 0;
-  fra.me.REG_size = 2;
-  fra.me.REG[0] = NIT_NULL;
-  fra.me.REG[1] = NIT_NULL;
-  fra.me.REG[0] = p0;
-  REGB0 = TAG_Bool(ATTR_lexer___Lexer____eof(fra.me.REG[0])!=NIT_NULL);
-  /* ./parser//lexer.nit:2071 */
-  if (UNTAG_Bool(REGB0)) {
-  } else {
-    fprintf(stderr, "Uninitialized attribute %s", "_eof");
-    fprintf(stderr, " (%s:%d)\n", LOCATE_lexer, 2071);
-    nit_exit(1);
-  }
-  REGB0 = ATTR_lexer___Lexer____eof(fra.me.REG[0]);
-  if (UNTAG_Bool(REGB0)) {
-    REGB0 = TAG_Int(1);
-    REGB0 = TAG_Int(-UNTAG_Int(REGB0));
-    /* ./parser//lexer.nit:2072 */
-    goto label1;
-  }
-  REGB1 = TAG_Bool(ATTR_lexer___Lexer____stream_pos(fra.me.REG[0])!=NIT_NULL);
-  /* ./parser//lexer.nit:2077 */
-  if (UNTAG_Bool(REGB1)) {
-  } else {
-    fprintf(stderr, "Uninitialized attribute %s", "_stream_pos");
-    fprintf(stderr, " (%s:%d)\n", LOCATE_lexer, 2077);
-    nit_exit(1);
-  }
-  REGB1 = ATTR_lexer___Lexer____stream_pos(fra.me.REG[0]);
-  REGB2 = TAG_Int(0);
-  REGB2 = TAG_Bool(UNTAG_Int(REGB1)>=UNTAG_Int(REGB2));
-  /* ./parser//lexer.nit:2078 */
-  if (UNTAG_Bool(REGB2)) {
-    REGB2 = TAG_Bool(ATTR_lexer___Lexer____stream_buf(fra.me.REG[0])!=NIT_NULL);
-    /* ./parser//lexer.nit:2079 */
-    if (UNTAG_Bool(REGB2)) {
-    } else {
-      fprintf(stderr, "Uninitialized attribute %s", "_stream_buf");
-      fprintf(stderr, " (%s:%d)\n", LOCATE_lexer, 2079);
-      nit_exit(1);
-    }
-    fra.me.REG[1] = ATTR_lexer___Lexer____stream_buf(fra.me.REG[0]);
-    REGB2 = TAG_Bool(ATTR_lexer___Lexer____stream_pos(fra.me.REG[0])!=NIT_NULL);
-    if (UNTAG_Bool(REGB2)) {
-    } else {
-      fprintf(stderr, "Uninitialized attribute %s", "_stream_pos");
-      fprintf(stderr, " (%s:%d)\n", LOCATE_lexer, 2079);
-      nit_exit(1);
-    }
-    REGB2 = ATTR_lexer___Lexer____stream_pos(fra.me.REG[0]);
-    REGB2 = CALL_abstract_collection___MapRead_____bra(fra.me.REG[1])(fra.me.REG[1], REGB2);
-    REGB3 = TAG_Int(1);
-    REGB3 = TAG_Int(UNTAG_Int(REGB1)-UNTAG_Int(REGB3));
-    /* ./parser//lexer.nit:2080 */
-    ATTR_lexer___Lexer____stream_pos(fra.me.REG[0]) = REGB3;
-    REGB2 = TAG_Int((unsigned char)UNTAG_Char(REGB2));
-  /* ./parser//lexer.nit:2081 */
-  } else {
-    REGB3 = TAG_Bool(ATTR_lexer___Lexer____stream(fra.me.REG[0])!=NIT_NULL);
-    /* ./parser//lexer.nit:2083 */
-    if (UNTAG_Bool(REGB3)) {
-    } else {
-      fprintf(stderr, "Uninitialized attribute %s", "_stream");
-      fprintf(stderr, " (%s:%d)\n", LOCATE_lexer, 2083);
-      nit_exit(1);
-    }
-    fra.me.REG[1] = ATTR_lexer___Lexer____stream(fra.me.REG[0]);
-    REGB3 = CALL_stream___IStream___read_char(fra.me.REG[1])(fra.me.REG[1]);
-    REGB2 = REGB3;
-  }
-  REGB3 = TAG_Int(1);
-  REGB3 = TAG_Int(-UNTAG_Int(REGB3));
-  REGB1 = TAG_Bool(IS_EQUAL_OO(REGB2,REGB3));
-  /* ./parser//lexer.nit:2086 */
-  if (UNTAG_Bool(REGB1)) {
-  } else {
-    REGB3 = TAG_Bool((REGB2)==(REGB3));
-    REGB1 = REGB3;
-  /* ./parser//lexer.nit:2086 */
-  }
-  if (UNTAG_Bool(REGB1)) {
-    REGB1 = TAG_Bool(true);
-    /* ./parser//lexer.nit:2087 */
-    ATTR_lexer___Lexer____eof(fra.me.REG[0]) = REGB1;
-  }
-  REGB0 = REGB2;
-  /* ./parser//lexer.nit:2090 */
-  goto label1;
-  label1: while(0);
-  stack_frame_head = fra.me.prev;
-  return REGB0;
-}
-void lexer___Lexer___push_back(val_t p0, val_t p1){
-  struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
-  val_t REGB0;
-  val_t REGB1;
-  val_t REGB2;
-  val_t REGB3;
-  val_t tmp;
-  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
-  fra.me.file = LOCATE_lexer;
-  fra.me.line = 2093;
-  fra.me.meth = LOCATE_lexer___Lexer___push_back;
-  fra.me.has_broke = 0;
-  fra.me.REG_size = 3;
-  fra.me.REG[0] = NIT_NULL;
-  fra.me.REG[1] = NIT_NULL;
-  fra.me.REG[2] = NIT_NULL;
-  fra.me.REG[0] = p0;
-  REGB0 = p1;
-  REGB1 = TAG_Bool(ATTR_lexer___Lexer____text(fra.me.REG[0])!=NIT_NULL);
-  /* ./parser//lexer.nit:2097 */
-  if (UNTAG_Bool(REGB1)) {
-  } else {
-    fprintf(stderr, "Uninitialized attribute %s", "_text");
-    fprintf(stderr, " (%s:%d)\n", LOCATE_lexer, 2097);
-    nit_exit(1);
-  }
-  fra.me.REG[1] = ATTR_lexer___Lexer____text(fra.me.REG[0]);
-  REGB1 = TAG_Bool(ATTR_array___AbstractArrayRead____length(fra.me.REG[1])!=NIT_NULL);
-  /* ./../lib/standard//collection//array.nit:23 */
-  if (UNTAG_Bool(REGB1)) {
-  } else {
-    fprintf(stderr, "Uninitialized attribute %s", "_length");
-    fprintf(stderr, " (%s:%d)\n", LOCATE_array, 23);
-    nit_exit(1);
-  }
-  REGB1 = ATTR_array___AbstractArrayRead____length(fra.me.REG[1]);
-  REGB2 = TAG_Int(1);
-  REGB2 = TAG_Int(UNTAG_Int(REGB1)-UNTAG_Int(REGB2));
-  /* ./parser//lexer.nit:2099 */
-  while(1) {
-    REGB1 = TAG_Bool(UNTAG_Int(REGB2)>=UNTAG_Int(REGB0));
-    /* ./parser//lexer.nit:2099 */
-    if (UNTAG_Bool(REGB1)) {
-      REGB1 = TAG_Bool(false);
-      /* ./parser//lexer.nit:2100 */
-      ATTR_lexer___Lexer____eof(fra.me.REG[0]) = REGB1;
-      REGB1 = TAG_Bool(ATTR_lexer___Lexer____stream_pos(fra.me.REG[0])!=NIT_NULL);
-      /* ./parser//lexer.nit:2101 */
-      if (UNTAG_Bool(REGB1)) {
-      } else {
-        fprintf(stderr, "Uninitialized attribute %s", "_stream_pos");
-        fprintf(stderr, " (%s:%d)\n", LOCATE_lexer, 2101);
-        nit_exit(1);
-      }
-      REGB1 = ATTR_lexer___Lexer____stream_pos(fra.me.REG[0]);
-      REGB3 = TAG_Int(1);
-      REGB3 = TAG_Int(UNTAG_Int(REGB1)+UNTAG_Int(REGB3));
-      /* ./parser//lexer.nit:2101 */
-      ATTR_lexer___Lexer____stream_pos(fra.me.REG[0]) = REGB3;
-      REGB3 = TAG_Bool(ATTR_lexer___Lexer____stream_buf(fra.me.REG[0])!=NIT_NULL);
-      /* ./parser//lexer.nit:2102 */
-      if (UNTAG_Bool(REGB3)) {
-      } else {
-        fprintf(stderr, "Uninitialized attribute %s", "_stream_buf");
-        fprintf(stderr, " (%s:%d)\n", LOCATE_lexer, 2102);
-        nit_exit(1);
-      }
-      fra.me.REG[1] = ATTR_lexer___Lexer____stream_buf(fra.me.REG[0]);
-      REGB3 = TAG_Bool(ATTR_lexer___Lexer____stream_pos(fra.me.REG[0])!=NIT_NULL);
-      if (UNTAG_Bool(REGB3)) {
-      } else {
-        fprintf(stderr, "Uninitialized attribute %s", "_stream_pos");
-        fprintf(stderr, " (%s:%d)\n", LOCATE_lexer, 2102);
-        nit_exit(1);
-      }
-      REGB3 = ATTR_lexer___Lexer____stream_pos(fra.me.REG[0]);
-      REGB1 = TAG_Bool(ATTR_lexer___Lexer____text(fra.me.REG[0])!=NIT_NULL);
-      if (UNTAG_Bool(REGB1)) {
-      } else {
-        fprintf(stderr, "Uninitialized attribute %s", "_text");
-        fprintf(stderr, " (%s:%d)\n", LOCATE_lexer, 2102);
-        nit_exit(1);
-      }
-      fra.me.REG[2] = ATTR_lexer___Lexer____text(fra.me.REG[0]);
-      REGB1 = CALL_abstract_collection___MapRead_____bra(fra.me.REG[2])(fra.me.REG[2], REGB2);
-      CALL_abstract_collection___Map_____braeq(fra.me.REG[1])(fra.me.REG[1], REGB3, REGB1);
-      REGB1 = TAG_Int(1);
-      REGB1 = TAG_Int(UNTAG_Int(REGB2)-UNTAG_Int(REGB1));
-      REGB2 = REGB1;
-    /* ./parser//lexer.nit:2103 */
-    } else {
-      /* ./parser//lexer.nit:2099 */
-      goto label1;
-    }
-  }
-  label1: while(0);
-  stack_frame_head = fra.me.prev;
-  return;
-}
-void lexer___Lexer___build_goto_table(val_t p0){
-  struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
-  val_t REGB0;
-  val_t tmp;
-  static val_t once_value_1; /* Once value */
-  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
-  fra.me.file = LOCATE_lexer;
-  fra.me.line = 2108;
-  fra.me.meth = LOCATE_lexer___Lexer___build_goto_table;
-  fra.me.has_broke = 0;
-  fra.me.REG_size = 5;
-  fra.me.REG[0] = NIT_NULL;
-  fra.me.REG[1] = NIT_NULL;
-  fra.me.REG[2] = NIT_NULL;
-  fra.me.REG[3] = NIT_NULL;
-  fra.me.REG[4] = NIT_NULL;
-  fra.me.REG[0] = p0;
-  /* ./parser//lexer.nit:2110 */
-  if (!once_value_1) {
-    REGB0 = TAG_Int(1);
-    fra.me.REG[1] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(263);
-    fra.me.REG[2] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(49);
-    fra.me.REG[3] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(9);
-    /* ./parser//lexer.nit:2113 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(9);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(1);
-    array___Array___add(fra.me.REG[4], REGB0);
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(10);
-    /* ./parser//lexer.nit:2114 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(10);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(2);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2113 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(13);
-    /* ./parser//lexer.nit:2115 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(13);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(3);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2113 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(32);
-    /* ./parser//lexer.nit:2116 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(32);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(4);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2113 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(33);
-    /* ./parser//lexer.nit:2117 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(33);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(5);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2113 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(34);
-    /* ./parser//lexer.nit:2118 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(34);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(6);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2113 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(35);
-    /* ./parser//lexer.nit:2119 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(35);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(7);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2113 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(37);
-    /* ./parser//lexer.nit:2120 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(37);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(8);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2113 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(39);
-    /* ./parser//lexer.nit:2121 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(39);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(9);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2113 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(40);
-    /* ./parser//lexer.nit:2122 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(40);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(10);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2113 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(41);
-    /* ./parser//lexer.nit:2123 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(41);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(11);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2113 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(42);
-    /* ./parser//lexer.nit:2124 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(42);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(12);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2113 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(43);
-    /* ./parser//lexer.nit:2125 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(43);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(13);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2113 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(44);
-    /* ./parser//lexer.nit:2126 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(44);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(14);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2113 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(45);
-    /* ./parser//lexer.nit:2127 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(45);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(15);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2113 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(46);
-    /* ./parser//lexer.nit:2128 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(46);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(16);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2113 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(47);
-    /* ./parser//lexer.nit:2129 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(47);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(17);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2113 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(48);
-    /* ./parser//lexer.nit:2130 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(57);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(18);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2113 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(58);
-    /* ./parser//lexer.nit:2131 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(58);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(19);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2113 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(60);
-    /* ./parser//lexer.nit:2132 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(60);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(20);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2113 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(61);
-    /* ./parser//lexer.nit:2133 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(61);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(21);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2113 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(62);
-    /* ./parser//lexer.nit:2134 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(62);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(22);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2113 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(65);
-    /* ./parser//lexer.nit:2135 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(90);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(23);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2113 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(91);
-    /* ./parser//lexer.nit:2136 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(91);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(24);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2113 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(93);
-    /* ./parser//lexer.nit:2137 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(93);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(25);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2113 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(95);
-    /* ./parser//lexer.nit:2138 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(95);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(26);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2113 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(97);
-    /* ./parser//lexer.nit:2139 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(97);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(27);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2113 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(98);
-    /* ./parser//lexer.nit:2140 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(98);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(28);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2113 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(99);
-    /* ./parser//lexer.nit:2141 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(99);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(29);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2113 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(100);
-    /* ./parser//lexer.nit:2142 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(100);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(30);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2113 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(101);
-    /* ./parser//lexer.nit:2143 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(101);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(31);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2113 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(102);
-    /* ./parser//lexer.nit:2144 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(102);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(32);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2113 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(103);
-    /* ./parser//lexer.nit:2145 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(104);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(33);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2113 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(105);
-    /* ./parser//lexer.nit:2146 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(105);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(34);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2113 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(106);
-    /* ./parser//lexer.nit:2147 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(107);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(33);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2113 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(108);
-    /* ./parser//lexer.nit:2148 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(108);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(35);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2113 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(109);
-    /* ./parser//lexer.nit:2149 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(109);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(33);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2113 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(110);
-    /* ./parser//lexer.nit:2150 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(110);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(36);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2113 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(111);
-    /* ./parser//lexer.nit:2151 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(111);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(37);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2113 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(112);
-    /* ./parser//lexer.nit:2152 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(112);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(38);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2113 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(113);
-    /* ./parser//lexer.nit:2153 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(113);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(33);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2113 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(114);
-    /* ./parser//lexer.nit:2154 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(114);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(39);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2113 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(115);
-    /* ./parser//lexer.nit:2155 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(115);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(40);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2113 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(116);
-    /* ./parser//lexer.nit:2156 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(116);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(41);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2113 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(117);
-    /* ./parser//lexer.nit:2157 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(117);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(42);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2113 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(118);
-    /* ./parser//lexer.nit:2158 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(118);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(43);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2113 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(119);
-    /* ./parser//lexer.nit:2159 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(119);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(44);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2113 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(120);
-    /* ./parser//lexer.nit:2160 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(122);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(33);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2113 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(125);
-    /* ./parser//lexer.nit:2161 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(125);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(45);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2113 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    array___Array___add(fra.me.REG[2], fra.me.REG[3]);
-    REGB0 = TAG_Int(2);
-    fra.me.REG[3] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(9);
-    /* ./parser//lexer.nit:2164 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(9);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(1);
-    array___Array___add(fra.me.REG[4], REGB0);
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(32);
-    /* ./parser//lexer.nit:2165 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(32);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(4);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2164 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    /* ./parser//lexer.nit:2113 */
-    array___Array___add(fra.me.REG[2], fra.me.REG[3]);
-    fra.me.REG[3] = CALL_lexer___Lexer___nil_array(fra.me.REG[0])(fra.me.REG[0]);
-    /* ./parser//lexer.nit:2113 */
-    array___Array___add(fra.me.REG[2], fra.me.REG[3]);
-    REGB0 = TAG_Int(1);
-    fra.me.REG[3] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(10);
-    /* ./parser//lexer.nit:2169 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(10);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(46);
-    array___Array___add(fra.me.REG[4], REGB0);
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    /* ./parser//lexer.nit:2113 */
-    array___Array___add(fra.me.REG[2], fra.me.REG[3]);
-    REGB0 = TAG_Int(1);
-    fra.me.REG[3] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(9);
-    /* ./parser//lexer.nit:2172 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(32);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(3);
-    REGB0 = TAG_Int(-UNTAG_Int(REGB0));
-    /* ./parser//lexer.nit:2172 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    /* ./parser//lexer.nit:2113 */
-    array___Array___add(fra.me.REG[2], fra.me.REG[3]);
-    REGB0 = TAG_Int(1);
-    fra.me.REG[3] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(61);
-    /* ./parser//lexer.nit:2175 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(61);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(47);
-    array___Array___add(fra.me.REG[4], REGB0);
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    /* ./parser//lexer.nit:2113 */
-    array___Array___add(fra.me.REG[2], fra.me.REG[3]);
-    REGB0 = TAG_Int(9);
-    fra.me.REG[3] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(0);
-    /* ./parser//lexer.nit:2178 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(9);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(48);
-    array___Array___add(fra.me.REG[4], REGB0);
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(11);
-    /* ./parser//lexer.nit:2179 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(12);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(48);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2178 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(14);
-    /* ./parser//lexer.nit:2180 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(33);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(48);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2178 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(34);
-    /* ./parser//lexer.nit:2181 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(34);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(49);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2178 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(35);
-    /* ./parser//lexer.nit:2182 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(91);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(48);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2178 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(92);
-    /* ./parser//lexer.nit:2183 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(92);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(50);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2178 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(93);
-    /* ./parser//lexer.nit:2184 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(122);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(48);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2178 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(123);
-    /* ./parser//lexer.nit:2185 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(123);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(51);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2178 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(124);
-    /* ./parser//lexer.nit:2186 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(255);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(48);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2178 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    /* ./parser//lexer.nit:2113 */
-    array___Array___add(fra.me.REG[2], fra.me.REG[3]);
-    REGB0 = TAG_Int(5);
-    fra.me.REG[3] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(0);
-    /* ./parser//lexer.nit:2189 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(9);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(52);
-    array___Array___add(fra.me.REG[4], REGB0);
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(10);
-    /* ./parser//lexer.nit:2190 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(10);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(53);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2189 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(11);
-    /* ./parser//lexer.nit:2191 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(12);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(52);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2189 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(13);
-    /* ./parser//lexer.nit:2192 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(13);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(54);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2189 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(14);
-    /* ./parser//lexer.nit:2193 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(255);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(52);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2189 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    /* ./parser//lexer.nit:2113 */
-    array___Array___add(fra.me.REG[2], fra.me.REG[3]);
-    fra.me.REG[3] = CALL_lexer___Lexer___nil_array(fra.me.REG[0])(fra.me.REG[0]);
-    /* ./parser//lexer.nit:2113 */
-    array___Array___add(fra.me.REG[2], fra.me.REG[3]);
-    REGB0 = TAG_Int(5);
-    fra.me.REG[3] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(0);
-    /* ./parser//lexer.nit:2197 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(9);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(55);
-    array___Array___add(fra.me.REG[4], REGB0);
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(11);
-    /* ./parser//lexer.nit:2198 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(12);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(55);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2197 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(14);
-    /* ./parser//lexer.nit:2199 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(38);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(55);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2197 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(39);
-    /* ./parser//lexer.nit:2200 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(39);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(56);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2197 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(40);
-    /* ./parser//lexer.nit:2201 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(255);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(55);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2197 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    /* ./parser//lexer.nit:2113 */
-    array___Array___add(fra.me.REG[2], fra.me.REG[3]);
-    fra.me.REG[3] = CALL_lexer___Lexer___nil_array(fra.me.REG[0])(fra.me.REG[0]);
-    /* ./parser//lexer.nit:2113 */
-    array___Array___add(fra.me.REG[2], fra.me.REG[3]);
-    fra.me.REG[3] = CALL_lexer___Lexer___nil_array(fra.me.REG[0])(fra.me.REG[0]);
-    /* ./parser//lexer.nit:2113 */
-    array___Array___add(fra.me.REG[2], fra.me.REG[3]);
-    fra.me.REG[3] = CALL_lexer___Lexer___nil_array(fra.me.REG[0])(fra.me.REG[0]);
-    /* ./parser//lexer.nit:2113 */
-    array___Array___add(fra.me.REG[2], fra.me.REG[3]);
-    REGB0 = TAG_Int(1);
-    fra.me.REG[3] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(61);
-    /* ./parser//lexer.nit:2207 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(61);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(57);
-    array___Array___add(fra.me.REG[4], REGB0);
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    /* ./parser//lexer.nit:2113 */
-    array___Array___add(fra.me.REG[2], fra.me.REG[3]);
-    fra.me.REG[3] = CALL_lexer___Lexer___nil_array(fra.me.REG[0])(fra.me.REG[0]);
-    /* ./parser//lexer.nit:2113 */
-    array___Array___add(fra.me.REG[2], fra.me.REG[3]);
-    REGB0 = TAG_Int(1);
-    fra.me.REG[3] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(61);
-    /* ./parser//lexer.nit:2211 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(61);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(58);
-    array___Array___add(fra.me.REG[4], REGB0);
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    /* ./parser//lexer.nit:2113 */
-    array___Array___add(fra.me.REG[2], fra.me.REG[3]);
-    REGB0 = TAG_Int(2);
-    fra.me.REG[3] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(46);
-    /* ./parser//lexer.nit:2214 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(46);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(59);
-    array___Array___add(fra.me.REG[4], REGB0);
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(48);
-    /* ./parser//lexer.nit:2215 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(57);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(60);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2214 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    /* ./parser//lexer.nit:2113 */
-    array___Array___add(fra.me.REG[2], fra.me.REG[3]);
-    fra.me.REG[3] = CALL_lexer___Lexer___nil_array(fra.me.REG[0])(fra.me.REG[0]);
-    /* ./parser//lexer.nit:2113 */
-    array___Array___add(fra.me.REG[2], fra.me.REG[3]);
-    REGB0 = TAG_Int(2);
-    fra.me.REG[3] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(46);
-    /* ./parser//lexer.nit:2219 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(46);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(61);
-    array___Array___add(fra.me.REG[4], REGB0);
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(48);
-    /* ./parser//lexer.nit:2220 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(57);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(18);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2219 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    /* ./parser//lexer.nit:2113 */
-    array___Array___add(fra.me.REG[2], fra.me.REG[3]);
-    REGB0 = TAG_Int(1);
-    fra.me.REG[3] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(58);
-    /* ./parser//lexer.nit:2223 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(58);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(62);
-    array___Array___add(fra.me.REG[4], REGB0);
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    /* ./parser//lexer.nit:2113 */
-    array___Array___add(fra.me.REG[2], fra.me.REG[3]);
-    REGB0 = TAG_Int(1);
-    fra.me.REG[3] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(61);
-    /* ./parser//lexer.nit:2226 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(61);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(63);
-    array___Array___add(fra.me.REG[4], REGB0);
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    /* ./parser//lexer.nit:2113 */
-    array___Array___add(fra.me.REG[2], fra.me.REG[3]);
-    REGB0 = TAG_Int(1);
-    fra.me.REG[3] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(61);
-    /* ./parser//lexer.nit:2229 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(61);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(64);
-    array___Array___add(fra.me.REG[4], REGB0);
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    /* ./parser//lexer.nit:2113 */
-    array___Array___add(fra.me.REG[2], fra.me.REG[3]);
-    REGB0 = TAG_Int(1);
-    fra.me.REG[3] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(61);
-    /* ./parser//lexer.nit:2232 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(61);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(65);
-    array___Array___add(fra.me.REG[4], REGB0);
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    /* ./parser//lexer.nit:2113 */
-    array___Array___add(fra.me.REG[2], fra.me.REG[3]);
-    REGB0 = TAG_Int(4);
-    fra.me.REG[3] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(48);
-    /* ./parser//lexer.nit:2235 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(57);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(66);
-    array___Array___add(fra.me.REG[4], REGB0);
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(65);
-    /* ./parser//lexer.nit:2236 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(90);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(67);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2235 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(95);
-    /* ./parser//lexer.nit:2237 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(95);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(68);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2235 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(97);
-    /* ./parser//lexer.nit:2238 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(122);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(69);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2235 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    /* ./parser//lexer.nit:2113 */
-    array___Array___add(fra.me.REG[2], fra.me.REG[3]);
-    fra.me.REG[3] = CALL_lexer___Lexer___nil_array(fra.me.REG[0])(fra.me.REG[0]);
-    /* ./parser//lexer.nit:2113 */
-    array___Array___add(fra.me.REG[2], fra.me.REG[3]);
-    fra.me.REG[3] = CALL_lexer___Lexer___nil_array(fra.me.REG[0])(fra.me.REG[0]);
-    /* ./parser//lexer.nit:2113 */
-    array___Array___add(fra.me.REG[2], fra.me.REG[3]);
-    REGB0 = TAG_Int(1);
-    fra.me.REG[3] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(97);
-    /* ./parser//lexer.nit:2243 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(122);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(70);
-    array___Array___add(fra.me.REG[4], REGB0);
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    /* ./parser//lexer.nit:2113 */
-    array___Array___add(fra.me.REG[2], fra.me.REG[3]);
-    REGB0 = TAG_Int(10);
-    fra.me.REG[3] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(48);
-    /* ./parser//lexer.nit:2246 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(57);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(71);
-    array___Array___add(fra.me.REG[4], REGB0);
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(65);
-    /* ./parser//lexer.nit:2247 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(90);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(72);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2246 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(95);
-    /* ./parser//lexer.nit:2248 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(95);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(73);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2246 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(97);
-    /* ./parser//lexer.nit:2249 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(97);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(74);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2246 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(98);
-    /* ./parser//lexer.nit:2250 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(98);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(75);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2246 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(99);
-    /* ./parser//lexer.nit:2251 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(109);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(74);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2246 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(110);
-    /* ./parser//lexer.nit:2252 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(110);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(76);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2246 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(111);
-    /* ./parser//lexer.nit:2253 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(114);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(74);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2246 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(115);
-    /* ./parser//lexer.nit:2254 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(115);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(77);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2246 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(116);
-    /* ./parser//lexer.nit:2255 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(122);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(74);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2246 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    /* ./parser//lexer.nit:2113 */
-    array___Array___add(fra.me.REG[2], fra.me.REG[3]);
-    REGB0 = TAG_Int(4);
-    fra.me.REG[3] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(48);
-    /* ./parser//lexer.nit:2258 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(95);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(29);
-    REGB0 = TAG_Int(-UNTAG_Int(REGB0));
-    /* ./parser//lexer.nit:2258 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(97);
-    /* ./parser//lexer.nit:2259 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(113);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(74);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2258 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(114);
-    /* ./parser//lexer.nit:2260 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(114);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(78);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2258 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(115);
-    /* ./parser//lexer.nit:2261 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(122);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(74);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2258 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    /* ./parser//lexer.nit:2113 */
-    array___Array___add(fra.me.REG[2], fra.me.REG[3]);
-    REGB0 = TAG_Int(6);
-    fra.me.REG[3] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(48);
-    /* ./parser//lexer.nit:2264 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(95);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(29);
-    REGB0 = TAG_Int(-UNTAG_Int(REGB0));
-    /* ./parser//lexer.nit:2264 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(97);
-    /* ./parser//lexer.nit:2265 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(107);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(74);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2264 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(108);
-    /* ./parser//lexer.nit:2266 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(108);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(79);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2264 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(109);
-    /* ./parser//lexer.nit:2267 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(110);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(74);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2264 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(111);
-    /* ./parser//lexer.nit:2268 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(111);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(80);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2264 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(112);
-    /* ./parser//lexer.nit:2269 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(122);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(74);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2264 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    /* ./parser//lexer.nit:2113 */
-    array___Array___add(fra.me.REG[2], fra.me.REG[3]);
-    REGB0 = TAG_Int(4);
-    fra.me.REG[3] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(48);
-    /* ./parser//lexer.nit:2272 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(95);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(29);
-    REGB0 = TAG_Int(-UNTAG_Int(REGB0));
-    /* ./parser//lexer.nit:2272 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(97);
-    /* ./parser//lexer.nit:2273 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(110);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(74);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2272 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(111);
-    /* ./parser//lexer.nit:2274 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(111);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(81);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2272 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(112);
-    /* ./parser//lexer.nit:2275 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(122);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(74);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2272 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    /* ./parser//lexer.nit:2113 */
-    array___Array___add(fra.me.REG[2], fra.me.REG[3]);
-    REGB0 = TAG_Int(7);
-    fra.me.REG[3] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(48);
-    /* ./parser//lexer.nit:2278 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(107);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(31);
-    REGB0 = TAG_Int(-UNTAG_Int(REGB0));
-    /* ./parser//lexer.nit:2278 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(108);
-    /* ./parser//lexer.nit:2279 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(108);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(82);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2278 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(109);
-    /* ./parser//lexer.nit:2280 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(109);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(74);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2278 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(110);
-    /* ./parser//lexer.nit:2281 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(110);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(83);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2278 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(111);
-    /* ./parser//lexer.nit:2282 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(119);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(74);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2278 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(120);
-    /* ./parser//lexer.nit:2283 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(120);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(84);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2278 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(121);
-    /* ./parser//lexer.nit:2284 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(122);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(74);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2278 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    /* ./parser//lexer.nit:2113 */
-    array___Array___add(fra.me.REG[2], fra.me.REG[3]);
-    REGB0 = TAG_Int(7);
-    fra.me.REG[3] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(48);
-    /* ./parser//lexer.nit:2287 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(95);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(29);
-    REGB0 = TAG_Int(-UNTAG_Int(REGB0));
-    /* ./parser//lexer.nit:2287 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(97);
-    /* ./parser//lexer.nit:2288 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(97);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(85);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2287 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(98);
-    /* ./parser//lexer.nit:2289 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(110);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(74);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2287 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(111);
-    /* ./parser//lexer.nit:2290 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(111);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(86);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2287 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(112);
-    /* ./parser//lexer.nit:2291 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(116);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(74);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2287 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(117);
-    /* ./parser//lexer.nit:2292 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(117);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(87);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2287 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(118);
-    /* ./parser//lexer.nit:2293 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(122);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(74);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2287 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    /* ./parser//lexer.nit:2113 */
-    array___Array___add(fra.me.REG[2], fra.me.REG[3]);
-    REGB0 = TAG_Int(2);
-    fra.me.REG[3] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(48);
-    /* ./parser//lexer.nit:2296 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(95);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(29);
-    REGB0 = TAG_Int(-UNTAG_Int(REGB0));
-    /* ./parser//lexer.nit:2296 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(97);
-    /* ./parser//lexer.nit:2297 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(122);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(74);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2296 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    /* ./parser//lexer.nit:2113 */
-    array___Array___add(fra.me.REG[2], fra.me.REG[3]);
-    REGB0 = TAG_Int(9);
-    fra.me.REG[3] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(48);
-    /* ./parser//lexer.nit:2300 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(95);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(29);
-    REGB0 = TAG_Int(-UNTAG_Int(REGB0));
-    /* ./parser//lexer.nit:2300 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(97);
-    /* ./parser//lexer.nit:2301 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(101);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(74);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2300 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(102);
-    /* ./parser//lexer.nit:2302 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(102);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(88);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2300 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(103);
-    /* ./parser//lexer.nit:2303 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(108);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(74);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2300 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(109);
-    /* ./parser//lexer.nit:2304 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(109);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(89);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2300 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(110);
-    /* ./parser//lexer.nit:2305 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(110);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(90);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2300 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(111);
-    /* ./parser//lexer.nit:2306 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(114);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(74);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2300 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(115);
-    /* ./parser//lexer.nit:2307 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(115);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(91);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2300 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(116);
-    /* ./parser//lexer.nit:2308 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(122);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(74);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2300 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    /* ./parser//lexer.nit:2113 */
-    array___Array___add(fra.me.REG[2], fra.me.REG[3]);
-    REGB0 = TAG_Int(5);
-    fra.me.REG[3] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(48);
-    /* ./parser//lexer.nit:2311 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(95);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(29);
-    REGB0 = TAG_Int(-UNTAG_Int(REGB0));
-    /* ./parser//lexer.nit:2311 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(97);
-    /* ./parser//lexer.nit:2312 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(97);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(92);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2311 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(98);
-    /* ./parser//lexer.nit:2313 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(110);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(74);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2311 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(111);
-    /* ./parser//lexer.nit:2314 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(111);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(93);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2311 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(112);
-    /* ./parser//lexer.nit:2315 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(122);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(74);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2311 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    /* ./parser//lexer.nit:2113 */
-    array___Array___add(fra.me.REG[2], fra.me.REG[3]);
-    REGB0 = TAG_Int(8);
-    fra.me.REG[3] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(48);
-    /* ./parser//lexer.nit:2318 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(95);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(29);
-    REGB0 = TAG_Int(-UNTAG_Int(REGB0));
-    /* ./parser//lexer.nit:2318 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(97);
-    /* ./parser//lexer.nit:2319 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(100);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(74);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2318 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(101);
-    /* ./parser//lexer.nit:2320 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(101);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(94);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2318 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(102);
-    /* ./parser//lexer.nit:2321 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(110);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(74);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2318 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(111);
-    /* ./parser//lexer.nit:2322 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(111);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(95);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2318 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(112);
-    /* ./parser//lexer.nit:2323 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(116);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(74);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2318 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(117);
-    /* ./parser//lexer.nit:2324 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(117);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(96);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2318 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(118);
-    /* ./parser//lexer.nit:2325 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(122);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(74);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2318 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    /* ./parser//lexer.nit:2113 */
-    array___Array___add(fra.me.REG[2], fra.me.REG[3]);
-    REGB0 = TAG_Int(6);
-    fra.me.REG[3] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(48);
-    /* ./parser//lexer.nit:2328 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(95);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(29);
-    REGB0 = TAG_Int(-UNTAG_Int(REGB0));
-    /* ./parser//lexer.nit:2328 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(97);
-    /* ./parser//lexer.nit:2329 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(109);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(74);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2328 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(110);
-    /* ./parser//lexer.nit:2330 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(110);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(97);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2328 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(111);
-    /* ./parser//lexer.nit:2331 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(113);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(74);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2328 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(114);
-    /* ./parser//lexer.nit:2332 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(114);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(98);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2328 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(115);
-    /* ./parser//lexer.nit:2333 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(122);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(74);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2328 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    /* ./parser//lexer.nit:2113 */
-    array___Array___add(fra.me.REG[2], fra.me.REG[3]);
-    REGB0 = TAG_Int(5);
-    fra.me.REG[3] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(48);
-    /* ./parser//lexer.nit:2336 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(95);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(29);
-    REGB0 = TAG_Int(-UNTAG_Int(REGB0));
-    /* ./parser//lexer.nit:2336 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(97);
-    /* ./parser//lexer.nit:2337 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(97);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(99);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2336 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(98);
-    /* ./parser//lexer.nit:2338 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(113);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(74);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2336 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(114);
-    /* ./parser//lexer.nit:2339 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(114);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(100);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2336 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(115);
-    /* ./parser//lexer.nit:2340 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(122);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(74);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2336 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    /* ./parser//lexer.nit:2113 */
-    array___Array___add(fra.me.REG[2], fra.me.REG[3]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[3] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(48);
-    /* ./parser//lexer.nit:2343 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(100);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(38);
-    REGB0 = TAG_Int(-UNTAG_Int(REGB0));
-    /* ./parser//lexer.nit:2343 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(101);
-    /* ./parser//lexer.nit:2344 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(101);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(101);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2343 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(102);
-    /* ./parser//lexer.nit:2345 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(122);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(74);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2343 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    /* ./parser//lexer.nit:2113 */
-    array___Array___add(fra.me.REG[2], fra.me.REG[3]);
-    REGB0 = TAG_Int(7);
-    fra.me.REG[3] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(48);
-    /* ./parser//lexer.nit:2348 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(100);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(38);
-    REGB0 = TAG_Int(-UNTAG_Int(REGB0));
-    /* ./parser//lexer.nit:2348 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(101);
-    /* ./parser//lexer.nit:2349 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(101);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(102);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2348 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(102);
-    /* ./parser//lexer.nit:2350 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(111);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(74);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2348 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(112);
-    /* ./parser//lexer.nit:2351 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(112);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(103);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2348 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(113);
-    /* ./parser//lexer.nit:2352 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(116);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(74);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2348 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(117);
-    /* ./parser//lexer.nit:2353 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(117);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(104);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2348 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(118);
-    /* ./parser//lexer.nit:2354 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(122);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(74);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2348 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    /* ./parser//lexer.nit:2113 */
-    array___Array___add(fra.me.REG[2], fra.me.REG[3]);
-    REGB0 = TAG_Int(8);
-    fra.me.REG[3] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(48);
-    /* ./parser//lexer.nit:2357 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(95);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(29);
-    REGB0 = TAG_Int(-UNTAG_Int(REGB0));
-    /* ./parser//lexer.nit:2357 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(97);
-    /* ./parser//lexer.nit:2358 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(103);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(74);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2357 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(104);
-    /* ./parser//lexer.nit:2359 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(104);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(105);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2357 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(105);
-    /* ./parser//lexer.nit:2360 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(113);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(74);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2357 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(114);
-    /* ./parser//lexer.nit:2361 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(114);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(106);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2357 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(115);
-    /* ./parser//lexer.nit:2362 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(120);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(74);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2357 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(121);
-    /* ./parser//lexer.nit:2363 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(121);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(107);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2357 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(122);
-    /* ./parser//lexer.nit:2364 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(122);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(74);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2357 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    /* ./parser//lexer.nit:2113 */
-    array___Array___add(fra.me.REG[2], fra.me.REG[3]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[3] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(48);
-    /* ./parser//lexer.nit:2367 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(109);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(39);
-    REGB0 = TAG_Int(-UNTAG_Int(REGB0));
-    /* ./parser//lexer.nit:2367 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(110);
-    /* ./parser//lexer.nit:2368 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(110);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(108);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2367 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(111);
-    /* ./parser//lexer.nit:2369 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(122);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(74);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2367 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    /* ./parser//lexer.nit:2113 */
-    array___Array___add(fra.me.REG[2], fra.me.REG[3]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[3] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(48);
-    /* ./parser//lexer.nit:2372 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(95);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(29);
-    REGB0 = TAG_Int(-UNTAG_Int(REGB0));
-    /* ./parser//lexer.nit:2372 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(97);
-    /* ./parser//lexer.nit:2373 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(97);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(109);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2372 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(98);
-    /* ./parser//lexer.nit:2374 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(122);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(74);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2372 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    /* ./parser//lexer.nit:2113 */
-    array___Array___add(fra.me.REG[2], fra.me.REG[3]);
-    REGB0 = TAG_Int(5);
-    fra.me.REG[3] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(48);
-    /* ./parser//lexer.nit:2377 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(103);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(43);
-    REGB0 = TAG_Int(-UNTAG_Int(REGB0));
-    /* ./parser//lexer.nit:2377 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(104);
-    /* ./parser//lexer.nit:2378 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(104);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(110);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2377 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(105);
-    /* ./parser//lexer.nit:2379 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(113);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(74);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2377 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(114);
-    /* ./parser//lexer.nit:2380 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(114);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(111);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2377 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(115);
-    /* ./parser//lexer.nit:2381 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(122);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(74);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2377 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    /* ./parser//lexer.nit:2113 */
-    array___Array___add(fra.me.REG[2], fra.me.REG[3]);
-    REGB0 = TAG_Int(9);
-    fra.me.REG[3] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(0);
-    /* ./parser//lexer.nit:2384 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(9);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(112);
-    array___Array___add(fra.me.REG[4], REGB0);
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(11);
-    /* ./parser//lexer.nit:2385 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(12);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(112);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2384 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(14);
-    /* ./parser//lexer.nit:2386 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(33);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(112);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2384 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(34);
-    /* ./parser//lexer.nit:2387 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(34);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(113);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2384 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(35);
-    /* ./parser//lexer.nit:2388 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(91);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(112);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2384 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(92);
-    /* ./parser//lexer.nit:2389 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(92);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(114);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2384 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(93);
-    /* ./parser//lexer.nit:2390 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(122);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(112);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2384 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(123);
-    /* ./parser//lexer.nit:2391 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(123);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(115);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2384 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(124);
-    /* ./parser//lexer.nit:2392 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(255);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(112);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2384 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    /* ./parser//lexer.nit:2113 */
-    array___Array___add(fra.me.REG[2], fra.me.REG[3]);
-    fra.me.REG[3] = CALL_lexer___Lexer___nil_array(fra.me.REG[0])(fra.me.REG[0]);
-    /* ./parser//lexer.nit:2113 */
-    array___Array___add(fra.me.REG[2], fra.me.REG[3]);
-    fra.me.REG[3] = CALL_lexer___Lexer___nil_array(fra.me.REG[0])(fra.me.REG[0]);
-    /* ./parser//lexer.nit:2113 */
-    array___Array___add(fra.me.REG[2], fra.me.REG[3]);
-    REGB0 = TAG_Int(1);
-    fra.me.REG[3] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(0);
-    /* ./parser//lexer.nit:2397 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(255);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(8);
-    REGB0 = TAG_Int(-UNTAG_Int(REGB0));
-    /* ./parser//lexer.nit:2397 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    /* ./parser//lexer.nit:2113 */
-    array___Array___add(fra.me.REG[2], fra.me.REG[3]);
-    fra.me.REG[3] = CALL_lexer___Lexer___nil_array(fra.me.REG[0])(fra.me.REG[0]);
-    /* ./parser//lexer.nit:2113 */
-    array___Array___add(fra.me.REG[2], fra.me.REG[3]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[3] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(0);
-    /* ./parser//lexer.nit:2401 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(9);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(116);
-    array___Array___add(fra.me.REG[4], REGB0);
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(11);
-    /* ./parser//lexer.nit:2402 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(12);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(116);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2401 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(14);
-    /* ./parser//lexer.nit:2403 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(255);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(116);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2401 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    /* ./parser//lexer.nit:2113 */
-    array___Array___add(fra.me.REG[2], fra.me.REG[3]);
-    fra.me.REG[3] = CALL_lexer___Lexer___nil_array(fra.me.REG[0])(fra.me.REG[0]);
-    /* ./parser//lexer.nit:2113 */
-    array___Array___add(fra.me.REG[2], fra.me.REG[3]);
-    REGB0 = TAG_Int(1);
-    fra.me.REG[3] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(0);
-    /* ./parser//lexer.nit:2407 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(255);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(9);
-    REGB0 = TAG_Int(-UNTAG_Int(REGB0));
-    /* ./parser//lexer.nit:2407 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    /* ./parser//lexer.nit:2113 */
-    array___Array___add(fra.me.REG[2], fra.me.REG[3]);
-    fra.me.REG[3] = CALL_lexer___Lexer___nil_array(fra.me.REG[0])(fra.me.REG[0]);
-    /* ./parser//lexer.nit:2113 */
-    array___Array___add(fra.me.REG[2], fra.me.REG[3]);
-    REGB0 = TAG_Int(1);
-    fra.me.REG[3] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(10);
-    /* ./parser//lexer.nit:2411 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(10);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(117);
-    array___Array___add(fra.me.REG[4], REGB0);
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    /* ./parser//lexer.nit:2113 */
-    array___Array___add(fra.me.REG[2], fra.me.REG[3]);
-    REGB0 = TAG_Int(1);
-    fra.me.REG[3] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(0);
-    /* ./parser//lexer.nit:2414 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(255);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(11);
-    REGB0 = TAG_Int(-UNTAG_Int(REGB0));
-    /* ./parser//lexer.nit:2414 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    /* ./parser//lexer.nit:2113 */
-    array___Array___add(fra.me.REG[2], fra.me.REG[3]);
-    fra.me.REG[3] = CALL_lexer___Lexer___nil_array(fra.me.REG[0])(fra.me.REG[0]);
-    /* ./parser//lexer.nit:2113 */
-    array___Array___add(fra.me.REG[2], fra.me.REG[3]);
-    fra.me.REG[3] = CALL_lexer___Lexer___nil_array(fra.me.REG[0])(fra.me.REG[0]);
-    /* ./parser//lexer.nit:2113 */
-    array___Array___add(fra.me.REG[2], fra.me.REG[3]);
-    fra.me.REG[3] = CALL_lexer___Lexer___nil_array(fra.me.REG[0])(fra.me.REG[0]);
-    /* ./parser//lexer.nit:2113 */
-    array___Array___add(fra.me.REG[2], fra.me.REG[3]);
-    REGB0 = TAG_Int(1);
-    fra.me.REG[3] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(46);
-    /* ./parser//lexer.nit:2420 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(46);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(118);
-    array___Array___add(fra.me.REG[4], REGB0);
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    /* ./parser//lexer.nit:2113 */
-    array___Array___add(fra.me.REG[2], fra.me.REG[3]);
-    REGB0 = TAG_Int(1);
-    fra.me.REG[3] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(48);
-    /* ./parser//lexer.nit:2423 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(57);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(60);
-    array___Array___add(fra.me.REG[4], REGB0);
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    /* ./parser//lexer.nit:2113 */
-    array___Array___add(fra.me.REG[2], fra.me.REG[3]);
-    REGB0 = TAG_Int(1);
-    fra.me.REG[3] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(48);
-    /* ./parser//lexer.nit:2426 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(57);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(60);
-    array___Array___add(fra.me.REG[4], REGB0);
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    /* ./parser//lexer.nit:2113 */
-    array___Array___add(fra.me.REG[2], fra.me.REG[3]);
-    fra.me.REG[3] = CALL_lexer___Lexer___nil_array(fra.me.REG[0])(fra.me.REG[0]);
-    /* ./parser//lexer.nit:2113 */
-    array___Array___add(fra.me.REG[2], fra.me.REG[3]);
-    REGB0 = TAG_Int(1);
-    fra.me.REG[3] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(62);
-    /* ./parser//lexer.nit:2430 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(62);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(119);
-    array___Array___add(fra.me.REG[4], REGB0);
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    /* ./parser//lexer.nit:2113 */
-    array___Array___add(fra.me.REG[2], fra.me.REG[3]);
-    fra.me.REG[3] = CALL_lexer___Lexer___nil_array(fra.me.REG[0])(fra.me.REG[0]);
-    /* ./parser//lexer.nit:2113 */
-    array___Array___add(fra.me.REG[2], fra.me.REG[3]);
-    fra.me.REG[3] = CALL_lexer___Lexer___nil_array(fra.me.REG[0])(fra.me.REG[0]);
-    /* ./parser//lexer.nit:2113 */
-    array___Array___add(fra.me.REG[2], fra.me.REG[3]);
-    REGB0 = TAG_Int(1);
-    fra.me.REG[3] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(48);
-    /* ./parser//lexer.nit:2435 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(122);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(25);
-    REGB0 = TAG_Int(-UNTAG_Int(REGB0));
-    /* ./parser//lexer.nit:2435 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    /* ./parser//lexer.nit:2113 */
-    array___Array___add(fra.me.REG[2], fra.me.REG[3]);
-    REGB0 = TAG_Int(1);
-    fra.me.REG[3] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(48);
-    /* ./parser//lexer.nit:2438 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(122);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(25);
-    REGB0 = TAG_Int(-UNTAG_Int(REGB0));
-    /* ./parser//lexer.nit:2438 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    /* ./parser//lexer.nit:2113 */
-    array___Array___add(fra.me.REG[2], fra.me.REG[3]);
-    REGB0 = TAG_Int(1);
-    fra.me.REG[3] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(48);
-    /* ./parser//lexer.nit:2441 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(122);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(25);
-    REGB0 = TAG_Int(-UNTAG_Int(REGB0));
-    /* ./parser//lexer.nit:2441 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    /* ./parser//lexer.nit:2113 */
-    array___Array___add(fra.me.REG[2], fra.me.REG[3]);
-    REGB0 = TAG_Int(1);
-    fra.me.REG[3] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(48);
-    /* ./parser//lexer.nit:2444 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(122);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(25);
-    REGB0 = TAG_Int(-UNTAG_Int(REGB0));
-    /* ./parser//lexer.nit:2444 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    /* ./parser//lexer.nit:2113 */
-    array___Array___add(fra.me.REG[2], fra.me.REG[3]);
-    REGB0 = TAG_Int(4);
-    fra.me.REG[3] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(48);
-    /* ./parser//lexer.nit:2447 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(57);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(120);
-    array___Array___add(fra.me.REG[4], REGB0);
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(65);
-    /* ./parser//lexer.nit:2448 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(90);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(121);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2447 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(95);
-    /* ./parser//lexer.nit:2449 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(95);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(122);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2447 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(97);
-    /* ./parser//lexer.nit:2450 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(122);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(123);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2447 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    /* ./parser//lexer.nit:2113 */
-    array___Array___add(fra.me.REG[2], fra.me.REG[3]);
-    REGB0 = TAG_Int(1);
-    fra.me.REG[3] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(48);
-    /* ./parser//lexer.nit:2453 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(122);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(35);
-    REGB0 = TAG_Int(-UNTAG_Int(REGB0));
-    /* ./parser//lexer.nit:2453 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    /* ./parser//lexer.nit:2113 */
-    array___Array___add(fra.me.REG[2], fra.me.REG[3]);
-    REGB0 = TAG_Int(1);
-    fra.me.REG[3] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(48);
-    /* ./parser//lexer.nit:2456 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(122);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(35);
-    REGB0 = TAG_Int(-UNTAG_Int(REGB0));
-    /* ./parser//lexer.nit:2456 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    /* ./parser//lexer.nit:2113 */
-    array___Array___add(fra.me.REG[2], fra.me.REG[3]);
-    REGB0 = TAG_Int(1);
-    fra.me.REG[3] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(48);
-    /* ./parser//lexer.nit:2459 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(122);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(35);
-    REGB0 = TAG_Int(-UNTAG_Int(REGB0));
-    /* ./parser//lexer.nit:2459 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    /* ./parser//lexer.nit:2113 */
-    array___Array___add(fra.me.REG[2], fra.me.REG[3]);
-    REGB0 = TAG_Int(1);
-    fra.me.REG[3] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(48);
-    /* ./parser//lexer.nit:2462 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(122);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(35);
-    REGB0 = TAG_Int(-UNTAG_Int(REGB0));
-    /* ./parser//lexer.nit:2462 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    /* ./parser//lexer.nit:2113 */
-    array___Array___add(fra.me.REG[2], fra.me.REG[3]);
-    REGB0 = TAG_Int(5);
-    fra.me.REG[3] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(48);
-    /* ./parser//lexer.nit:2465 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(110);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(32);
-    REGB0 = TAG_Int(-UNTAG_Int(REGB0));
-    /* ./parser//lexer.nit:2465 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(111);
-    /* ./parser//lexer.nit:2466 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(111);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(124);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2465 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(112);
-    /* ./parser//lexer.nit:2467 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(114);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(74);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2465 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(115);
-    /* ./parser//lexer.nit:2468 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(115);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(125);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2465 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(116);
-    /* ./parser//lexer.nit:2469 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(122);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(74);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2465 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    /* ./parser//lexer.nit:2113 */
-    array___Array___add(fra.me.REG[2], fra.me.REG[3]);
-    REGB0 = TAG_Int(4);
-    fra.me.REG[3] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(48);
-    /* ./parser//lexer.nit:2472 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(95);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(29);
-    REGB0 = TAG_Int(-UNTAG_Int(REGB0));
-    /* ./parser//lexer.nit:2472 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(97);
-    /* ./parser//lexer.nit:2473 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(99);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(74);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2472 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(100);
-    /* ./parser//lexer.nit:2474 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(100);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(126);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2472 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(101);
-    /* ./parser//lexer.nit:2475 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(122);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(74);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2472 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    /* ./parser//lexer.nit:2113 */
-    array___Array___add(fra.me.REG[2], fra.me.REG[3]);
-    REGB0 = TAG_Int(4);
-    fra.me.REG[3] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(48);
-    /* ./parser//lexer.nit:2478 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(95);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(29);
-    REGB0 = TAG_Int(-UNTAG_Int(REGB0));
-    /* ./parser//lexer.nit:2478 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(97);
-    /* ./parser//lexer.nit:2479 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(114);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(74);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2478 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(115);
-    /* ./parser//lexer.nit:2480 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(115);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(127);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2478 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(116);
-    /* ./parser//lexer.nit:2481 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(122);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(74);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2478 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    /* ./parser//lexer.nit:2113 */
-    array___Array___add(fra.me.REG[2], fra.me.REG[3]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[3] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(48);
-    /* ./parser//lexer.nit:2484 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(100);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(38);
-    REGB0 = TAG_Int(-UNTAG_Int(REGB0));
-    /* ./parser//lexer.nit:2484 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(101);
-    /* ./parser//lexer.nit:2485 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(101);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(128);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2484 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(102);
-    /* ./parser//lexer.nit:2486 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(122);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(74);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2484 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    /* ./parser//lexer.nit:2113 */
-    array___Array___add(fra.me.REG[2], fra.me.REG[3]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[3] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(48);
-    /* ./parser//lexer.nit:2489 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(95);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(29);
-    REGB0 = TAG_Int(-UNTAG_Int(REGB0));
-    /* ./parser//lexer.nit:2489 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(97);
-    /* ./parser//lexer.nit:2490 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(97);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(129);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2489 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(98);
-    /* ./parser//lexer.nit:2491 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(122);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(74);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2489 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    /* ./parser//lexer.nit:2113 */
-    array___Array___add(fra.me.REG[2], fra.me.REG[3]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[3] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(48);
-    /* ./parser//lexer.nit:2494 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(109);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(39);
-    REGB0 = TAG_Int(-UNTAG_Int(REGB0));
-    /* ./parser//lexer.nit:2494 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(110);
-    /* ./parser//lexer.nit:2495 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(110);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(130);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2494 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(111);
-    /* ./parser//lexer.nit:2496 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(122);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(74);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2494 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    /* ./parser//lexer.nit:2113 */
-    array___Array___add(fra.me.REG[2], fra.me.REG[3]);
-    REGB0 = TAG_Int(1);
-    fra.me.REG[3] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(48);
-    /* ./parser//lexer.nit:2499 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(122);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(35);
-    REGB0 = TAG_Int(-UNTAG_Int(REGB0));
-    /* ./parser//lexer.nit:2499 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    /* ./parser//lexer.nit:2113 */
-    array___Array___add(fra.me.REG[2], fra.me.REG[3]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[3] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(48);
-    /* ./parser//lexer.nit:2502 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(114);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(79);
-    REGB0 = TAG_Int(-UNTAG_Int(REGB0));
-    /* ./parser//lexer.nit:2502 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(115);
-    /* ./parser//lexer.nit:2503 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(115);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(131);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2502 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(116);
-    /* ./parser//lexer.nit:2504 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(122);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(74);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2502 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    /* ./parser//lexer.nit:2113 */
-    array___Array___add(fra.me.REG[2], fra.me.REG[3]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[3] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(48);
-    /* ./parser//lexer.nit:2507 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(99);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(78);
-    REGB0 = TAG_Int(-UNTAG_Int(REGB0));
-    /* ./parser//lexer.nit:2507 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(100);
-    /* ./parser//lexer.nit:2508 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(100);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(132);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2507 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(101);
-    /* ./parser//lexer.nit:2509 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(122);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(74);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2507 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    /* ./parser//lexer.nit:2113 */
-    array___Array___add(fra.me.REG[2], fra.me.REG[3]);
-    REGB0 = TAG_Int(4);
-    fra.me.REG[3] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(48);
-    /* ./parser//lexer.nit:2512 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(95);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(29);
-    REGB0 = TAG_Int(-UNTAG_Int(REGB0));
-    /* ./parser//lexer.nit:2512 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(97);
-    /* ./parser//lexer.nit:2513 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(115);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(74);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2512 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(116);
-    /* ./parser//lexer.nit:2514 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(116);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(133);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2512 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(117);
-    /* ./parser//lexer.nit:2515 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(122);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(74);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2512 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    /* ./parser//lexer.nit:2113 */
-    array___Array___add(fra.me.REG[2], fra.me.REG[3]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[3] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(48);
-    /* ./parser//lexer.nit:2518 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(107);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(31);
-    REGB0 = TAG_Int(-UNTAG_Int(REGB0));
-    /* ./parser//lexer.nit:2518 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(108);
-    /* ./parser//lexer.nit:2519 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(108);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(134);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2518 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(109);
-    /* ./parser//lexer.nit:2520 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(122);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(74);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2518 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    /* ./parser//lexer.nit:2113 */
-    array___Array___add(fra.me.REG[2], fra.me.REG[3]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[3] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(48);
-    /* ./parser//lexer.nit:2523 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(113);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(30);
-    REGB0 = TAG_Int(-UNTAG_Int(REGB0));
-    /* ./parser//lexer.nit:2523 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(114);
-    /* ./parser//lexer.nit:2524 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(114);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(135);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2523 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(115);
-    /* ./parser//lexer.nit:2525 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(122);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(74);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2523 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    /* ./parser//lexer.nit:2113 */
-    array___Array___add(fra.me.REG[2], fra.me.REG[3]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[3] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(48);
-    /* ./parser//lexer.nit:2528 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(109);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(39);
-    REGB0 = TAG_Int(-UNTAG_Int(REGB0));
-    /* ./parser//lexer.nit:2528 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(110);
-    /* ./parser//lexer.nit:2529 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(110);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(136);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2528 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(111);
-    /* ./parser//lexer.nit:2530 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(122);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(74);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2528 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    /* ./parser//lexer.nit:2113 */
-    array___Array___add(fra.me.REG[2], fra.me.REG[3]);
-    REGB0 = TAG_Int(1);
-    fra.me.REG[3] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(48);
-    /* ./parser//lexer.nit:2533 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(122);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(35);
-    REGB0 = TAG_Int(-UNTAG_Int(REGB0));
-    /* ./parser//lexer.nit:2533 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    /* ./parser//lexer.nit:2113 */
-    array___Array___add(fra.me.REG[2], fra.me.REG[3]);
-    REGB0 = TAG_Int(4);
-    fra.me.REG[3] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(48);
-    /* ./parser//lexer.nit:2536 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(95);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(29);
-    REGB0 = TAG_Int(-UNTAG_Int(REGB0));
-    /* ./parser//lexer.nit:2536 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(97);
-    /* ./parser//lexer.nit:2537 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(111);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(74);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2536 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(112);
-    /* ./parser//lexer.nit:2538 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(112);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(137);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2536 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(113);
-    /* ./parser//lexer.nit:2539 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(122);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(74);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2536 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    /* ./parser//lexer.nit:2113 */
-    array___Array___add(fra.me.REG[2], fra.me.REG[3]);
-    REGB0 = TAG_Int(6);
-    fra.me.REG[3] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(48);
-    /* ./parser//lexer.nit:2542 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(95);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(29);
-    REGB0 = TAG_Int(-UNTAG_Int(REGB0));
-    /* ./parser//lexer.nit:2542 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(97);
-    /* ./parser//lexer.nit:2543 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(104);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(74);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2542 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(105);
-    /* ./parser//lexer.nit:2544 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(105);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(138);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2542 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(106);
-    /* ./parser//lexer.nit:2545 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(115);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(74);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2542 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(116);
-    /* ./parser//lexer.nit:2546 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(116);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(139);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2542 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(117);
-    /* ./parser//lexer.nit:2547 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(122);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(74);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2542 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    /* ./parser//lexer.nit:2113 */
-    array___Array___add(fra.me.REG[2], fra.me.REG[3]);
-    REGB0 = TAG_Int(5);
-    fra.me.REG[3] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(48);
-    /* ./parser//lexer.nit:2550 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(95);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(29);
-    REGB0 = TAG_Int(-UNTAG_Int(REGB0));
-    /* ./parser//lexer.nit:2550 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(97);
-    /* ./parser//lexer.nit:2551 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(97);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(140);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2550 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(98);
-    /* ./parser//lexer.nit:2552 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(114);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(74);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2550 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(115);
-    /* ./parser//lexer.nit:2553 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(115);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(141);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2550 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(116);
-    /* ./parser//lexer.nit:2554 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(122);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(74);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2550 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    /* ./parser//lexer.nit:2113 */
-    array___Array___add(fra.me.REG[2], fra.me.REG[3]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[3] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(48);
-    /* ./parser//lexer.nit:2557 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(97);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(29);
-    REGB0 = TAG_Int(-UNTAG_Int(REGB0));
-    /* ./parser//lexer.nit:2557 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(98);
-    /* ./parser//lexer.nit:2558 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(98);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(142);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2557 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(99);
-    /* ./parser//lexer.nit:2559 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(122);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(74);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2557 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    /* ./parser//lexer.nit:2113 */
-    array___Array___add(fra.me.REG[2], fra.me.REG[3]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[3] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(48);
-    /* ./parser//lexer.nit:2562 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(110);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(32);
-    REGB0 = TAG_Int(-UNTAG_Int(REGB0));
-    /* ./parser//lexer.nit:2562 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(111);
-    /* ./parser//lexer.nit:2563 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(111);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(143);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2562 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(112);
-    /* ./parser//lexer.nit:2564 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(122);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(74);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2562 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    /* ./parser//lexer.nit:2113 */
-    array___Array___add(fra.me.REG[2], fra.me.REG[3]);
-    REGB0 = TAG_Int(4);
-    fra.me.REG[3] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(48);
-    /* ./parser//lexer.nit:2567 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(95);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(29);
-    REGB0 = TAG_Int(-UNTAG_Int(REGB0));
-    /* ./parser//lexer.nit:2567 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(97);
-    /* ./parser//lexer.nit:2568 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(118);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(74);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2567 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(119);
-    /* ./parser//lexer.nit:2569 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(119);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(144);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2567 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(120);
-    /* ./parser//lexer.nit:2570 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(122);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(74);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2567 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    /* ./parser//lexer.nit:2113 */
-    array___Array___add(fra.me.REG[2], fra.me.REG[3]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[3] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(48);
-    /* ./parser//lexer.nit:2573 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(115);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(86);
-    REGB0 = TAG_Int(-UNTAG_Int(REGB0));
-    /* ./parser//lexer.nit:2573 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(116);
-    /* ./parser//lexer.nit:2574 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(116);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(145);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2573 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(117);
-    /* ./parser//lexer.nit:2575 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(122);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(74);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2573 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    /* ./parser//lexer.nit:2113 */
-    array___Array___add(fra.me.REG[2], fra.me.REG[3]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[3] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(48);
-    /* ./parser//lexer.nit:2578 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(107);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(31);
-    REGB0 = TAG_Int(-UNTAG_Int(REGB0));
-    /* ./parser//lexer.nit:2578 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(108);
-    /* ./parser//lexer.nit:2579 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(108);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(146);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2578 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(109);
-    /* ./parser//lexer.nit:2580 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(122);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(74);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2578 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    /* ./parser//lexer.nit:2113 */
-    array___Array___add(fra.me.REG[2], fra.me.REG[3]);
-    REGB0 = TAG_Int(4);
-    fra.me.REG[3] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(48);
-    /* ./parser//lexer.nit:2583 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(95);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(29);
-    REGB0 = TAG_Int(-UNTAG_Int(REGB0));
-    /* ./parser//lexer.nit:2583 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(97);
-    /* ./parser//lexer.nit:2584 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(98);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(74);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2583 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(99);
-    /* ./parser//lexer.nit:2585 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(99);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(147);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2583 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(100);
-    /* ./parser//lexer.nit:2586 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(122);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(74);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2583 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    /* ./parser//lexer.nit:2113 */
-    array___Array___add(fra.me.REG[2], fra.me.REG[3]);
-    REGB0 = TAG_Int(1);
-    fra.me.REG[3] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(48);
-    /* ./parser//lexer.nit:2589 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(122);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(35);
-    REGB0 = TAG_Int(-UNTAG_Int(REGB0));
-    /* ./parser//lexer.nit:2589 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    /* ./parser//lexer.nit:2113 */
-    array___Array___add(fra.me.REG[2], fra.me.REG[3]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[3] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(48);
-    /* ./parser//lexer.nit:2592 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(98);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(99);
-    REGB0 = TAG_Int(-UNTAG_Int(REGB0));
-    /* ./parser//lexer.nit:2592 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(99);
-    /* ./parser//lexer.nit:2593 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(99);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(148);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2592 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(100);
-    /* ./parser//lexer.nit:2594 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(122);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(74);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2592 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    /* ./parser//lexer.nit:2113 */
-    array___Array___add(fra.me.REG[2], fra.me.REG[3]);
-    REGB0 = TAG_Int(5);
-    fra.me.REG[3] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(48);
-    /* ./parser//lexer.nit:2597 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(104);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(92);
-    REGB0 = TAG_Int(-UNTAG_Int(REGB0));
-    /* ./parser//lexer.nit:2597 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(105);
-    /* ./parser//lexer.nit:2598 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(105);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(149);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2597 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(106);
-    /* ./parser//lexer.nit:2599 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(110);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(74);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2597 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(111);
-    /* ./parser//lexer.nit:2600 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(111);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(150);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2597 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(112);
-    /* ./parser//lexer.nit:2601 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(122);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(74);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2597 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    /* ./parser//lexer.nit:2113 */
-    array___Array___add(fra.me.REG[2], fra.me.REG[3]);
-    REGB0 = TAG_Int(7);
-    fra.me.REG[3] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(48);
-    /* ./parser//lexer.nit:2604 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(95);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(29);
-    REGB0 = TAG_Int(-UNTAG_Int(REGB0));
-    /* ./parser//lexer.nit:2604 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(97);
-    /* ./parser//lexer.nit:2605 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(97);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(151);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2604 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(98);
-    /* ./parser//lexer.nit:2606 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(99);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(74);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2604 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(100);
-    /* ./parser//lexer.nit:2607 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(100);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(152);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2604 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(101);
-    /* ./parser//lexer.nit:2608 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(115);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(74);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2604 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(116);
-    /* ./parser//lexer.nit:2609 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(116);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(153);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2604 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(117);
-    /* ./parser//lexer.nit:2610 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(122);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(74);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2604 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    /* ./parser//lexer.nit:2113 */
-    array___Array___add(fra.me.REG[2], fra.me.REG[3]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[3] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(48);
-    /* ./parser//lexer.nit:2613 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(107);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(31);
-    REGB0 = TAG_Int(-UNTAG_Int(REGB0));
-    /* ./parser//lexer.nit:2613 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(108);
-    /* ./parser//lexer.nit:2614 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(108);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(154);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2613 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(109);
-    /* ./parser//lexer.nit:2615 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(122);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(74);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2613 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    /* ./parser//lexer.nit:2113 */
-    array___Array___add(fra.me.REG[2], fra.me.REG[3]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[3] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(48);
-    /* ./parser//lexer.nit:2618 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(100);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(38);
-    REGB0 = TAG_Int(-UNTAG_Int(REGB0));
-    /* ./parser//lexer.nit:2618 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(101);
-    /* ./parser//lexer.nit:2619 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(101);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(155);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2618 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(102);
-    /* ./parser//lexer.nit:2620 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(122);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(74);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2618 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    /* ./parser//lexer.nit:2113 */
-    array___Array___add(fra.me.REG[2], fra.me.REG[3]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[3] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(48);
-    /* ./parser//lexer.nit:2623 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(111);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(91);
-    REGB0 = TAG_Int(-UNTAG_Int(REGB0));
-    /* ./parser//lexer.nit:2623 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(112);
-    /* ./parser//lexer.nit:2624 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(112);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(156);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2623 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(113);
-    /* ./parser//lexer.nit:2625 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(122);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(74);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2623 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    /* ./parser//lexer.nit:2113 */
-    array___Array___add(fra.me.REG[2], fra.me.REG[3]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[3] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(48);
-    /* ./parser//lexer.nit:2628 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(100);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(38);
-    REGB0 = TAG_Int(-UNTAG_Int(REGB0));
-    /* ./parser//lexer.nit:2628 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(101);
-    /* ./parser//lexer.nit:2629 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(101);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(157);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2628 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(102);
-    /* ./parser//lexer.nit:2630 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(122);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(74);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2628 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    /* ./parser//lexer.nit:2113 */
-    array___Array___add(fra.me.REG[2], fra.me.REG[3]);
-    REGB0 = TAG_Int(4);
-    fra.me.REG[3] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(48);
-    /* ./parser//lexer.nit:2633 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(95);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(29);
-    REGB0 = TAG_Int(-UNTAG_Int(REGB0));
-    /* ./parser//lexer.nit:2633 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(97);
-    /* ./parser//lexer.nit:2634 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(116);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(74);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2633 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(117);
-    /* ./parser//lexer.nit:2635 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(117);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(158);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2633 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(118);
-    /* ./parser//lexer.nit:2636 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(122);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(74);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2633 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    /* ./parser//lexer.nit:2113 */
-    array___Array___add(fra.me.REG[2], fra.me.REG[3]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[3] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(48);
-    /* ./parser//lexer.nit:2639 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(111);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(91);
-    REGB0 = TAG_Int(-UNTAG_Int(REGB0));
-    /* ./parser//lexer.nit:2639 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(112);
-    /* ./parser//lexer.nit:2640 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(112);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(159);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2639 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(113);
-    /* ./parser//lexer.nit:2641 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(122);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(74);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2639 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    /* ./parser//lexer.nit:2113 */
-    array___Array___add(fra.me.REG[2], fra.me.REG[3]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[3] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(48);
-    /* ./parser//lexer.nit:2644 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(104);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(92);
-    REGB0 = TAG_Int(-UNTAG_Int(REGB0));
-    /* ./parser//lexer.nit:2644 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(105);
-    /* ./parser//lexer.nit:2645 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(105);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(160);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2644 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(106);
-    /* ./parser//lexer.nit:2646 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(122);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(74);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2644 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    /* ./parser//lexer.nit:2113 */
-    array___Array___add(fra.me.REG[2], fra.me.REG[3]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[3] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(48);
-    /* ./parser//lexer.nit:2649 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(113);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(30);
-    REGB0 = TAG_Int(-UNTAG_Int(REGB0));
-    /* ./parser//lexer.nit:2649 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(114);
-    /* ./parser//lexer.nit:2650 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(114);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(161);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2649 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(115);
-    /* ./parser//lexer.nit:2651 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(122);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(74);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2649 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    /* ./parser//lexer.nit:2113 */
-    array___Array___add(fra.me.REG[2], fra.me.REG[3]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[3] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(48);
-    /* ./parser//lexer.nit:2654 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(104);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(92);
-    REGB0 = TAG_Int(-UNTAG_Int(REGB0));
-    /* ./parser//lexer.nit:2654 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(105);
-    /* ./parser//lexer.nit:2655 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(105);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(162);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2654 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(106);
-    /* ./parser//lexer.nit:2656 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(122);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(74);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2654 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    /* ./parser//lexer.nit:2113 */
-    array___Array___add(fra.me.REG[2], fra.me.REG[3]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[3] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(48);
-    /* ./parser//lexer.nit:2659 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(104);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(92);
-    REGB0 = TAG_Int(-UNTAG_Int(REGB0));
-    /* ./parser//lexer.nit:2659 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(105);
-    /* ./parser//lexer.nit:2660 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(105);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(163);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2659 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(106);
-    /* ./parser//lexer.nit:2661 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(122);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(74);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2659 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    /* ./parser//lexer.nit:2113 */
-    array___Array___add(fra.me.REG[2], fra.me.REG[3]);
-    REGB0 = TAG_Int(1);
-    fra.me.REG[3] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(0);
-    /* ./parser//lexer.nit:2664 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(255);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(47);
-    REGB0 = TAG_Int(-UNTAG_Int(REGB0));
-    /* ./parser//lexer.nit:2664 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    /* ./parser//lexer.nit:2113 */
-    array___Array___add(fra.me.REG[2], fra.me.REG[3]);
-    fra.me.REG[3] = CALL_lexer___Lexer___nil_array(fra.me.REG[0])(fra.me.REG[0]);
-    /* ./parser//lexer.nit:2113 */
-    array___Array___add(fra.me.REG[2], fra.me.REG[3]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[3] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(0);
-    /* ./parser//lexer.nit:2668 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(9);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(164);
-    array___Array___add(fra.me.REG[4], REGB0);
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(11);
-    /* ./parser//lexer.nit:2669 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(12);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(164);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2668 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(14);
-    /* ./parser//lexer.nit:2670 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(255);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(164);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2668 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    /* ./parser//lexer.nit:2113 */
-    array___Array___add(fra.me.REG[2], fra.me.REG[3]);
-    fra.me.REG[3] = CALL_lexer___Lexer___nil_array(fra.me.REG[0])(fra.me.REG[0]);
-    /* ./parser//lexer.nit:2113 */
-    array___Array___add(fra.me.REG[2], fra.me.REG[3]);
-    REGB0 = TAG_Int(1);
-    fra.me.REG[3] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(0);
-    /* ./parser//lexer.nit:2674 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(255);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(8);
-    REGB0 = TAG_Int(-UNTAG_Int(REGB0));
-    /* ./parser//lexer.nit:2674 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    /* ./parser//lexer.nit:2113 */
-    array___Array___add(fra.me.REG[2], fra.me.REG[3]);
-    fra.me.REG[3] = CALL_lexer___Lexer___nil_array(fra.me.REG[0])(fra.me.REG[0]);
-    /* ./parser//lexer.nit:2113 */
-    array___Array___add(fra.me.REG[2], fra.me.REG[3]);
-    fra.me.REG[3] = CALL_lexer___Lexer___nil_array(fra.me.REG[0])(fra.me.REG[0]);
-    /* ./parser//lexer.nit:2113 */
-    array___Array___add(fra.me.REG[2], fra.me.REG[3]);
-    fra.me.REG[3] = CALL_lexer___Lexer___nil_array(fra.me.REG[0])(fra.me.REG[0]);
-    /* ./parser//lexer.nit:2113 */
-    array___Array___add(fra.me.REG[2], fra.me.REG[3]);
-    REGB0 = TAG_Int(1);
-    fra.me.REG[3] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(48);
-    /* ./parser//lexer.nit:2680 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(122);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(72);
-    REGB0 = TAG_Int(-UNTAG_Int(REGB0));
-    /* ./parser//lexer.nit:2680 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    /* ./parser//lexer.nit:2113 */
-    array___Array___add(fra.me.REG[2], fra.me.REG[3]);
-    REGB0 = TAG_Int(1);
-    fra.me.REG[3] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(48);
-    /* ./parser//lexer.nit:2683 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(122);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(72);
-    REGB0 = TAG_Int(-UNTAG_Int(REGB0));
-    /* ./parser//lexer.nit:2683 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    /* ./parser//lexer.nit:2113 */
-    array___Array___add(fra.me.REG[2], fra.me.REG[3]);
-    REGB0 = TAG_Int(1);
-    fra.me.REG[3] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(48);
-    /* ./parser//lexer.nit:2686 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(122);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(72);
-    REGB0 = TAG_Int(-UNTAG_Int(REGB0));
-    /* ./parser//lexer.nit:2686 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    /* ./parser//lexer.nit:2113 */
-    array___Array___add(fra.me.REG[2], fra.me.REG[3]);
-    REGB0 = TAG_Int(1);
-    fra.me.REG[3] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(48);
-    /* ./parser//lexer.nit:2689 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(122);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(72);
-    REGB0 = TAG_Int(-UNTAG_Int(REGB0));
-    /* ./parser//lexer.nit:2689 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    /* ./parser//lexer.nit:2113 */
-    array___Array___add(fra.me.REG[2], fra.me.REG[3]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[3] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(48);
-    /* ./parser//lexer.nit:2692 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(113);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(30);
-    REGB0 = TAG_Int(-UNTAG_Int(REGB0));
-    /* ./parser//lexer.nit:2692 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(114);
-    /* ./parser//lexer.nit:2693 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(114);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(165);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2692 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(115);
-    /* ./parser//lexer.nit:2694 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(122);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(74);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2692 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    /* ./parser//lexer.nit:2113 */
-    array___Array___add(fra.me.REG[2], fra.me.REG[3]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[3] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(48);
-    /* ./parser//lexer.nit:2697 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(115);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(86);
-    REGB0 = TAG_Int(-UNTAG_Int(REGB0));
-    /* ./parser//lexer.nit:2697 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(116);
-    /* ./parser//lexer.nit:2698 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(116);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(166);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2697 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(117);
-    /* ./parser//lexer.nit:2699 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(122);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(74);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2697 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    /* ./parser//lexer.nit:2113 */
-    array___Array___add(fra.me.REG[2], fra.me.REG[3]);
-    REGB0 = TAG_Int(1);
-    fra.me.REG[3] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(48);
-    /* ./parser//lexer.nit:2702 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(122);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(35);
-    REGB0 = TAG_Int(-UNTAG_Int(REGB0));
-    /* ./parser//lexer.nit:2702 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    /* ./parser//lexer.nit:2113 */
-    array___Array___add(fra.me.REG[2], fra.me.REG[3]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[3] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(48);
-    /* ./parser//lexer.nit:2705 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(100);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(38);
-    REGB0 = TAG_Int(-UNTAG_Int(REGB0));
-    /* ./parser//lexer.nit:2705 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(101);
-    /* ./parser//lexer.nit:2706 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(101);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(167);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2705 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(102);
-    /* ./parser//lexer.nit:2707 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(122);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(74);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2705 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    /* ./parser//lexer.nit:2113 */
-    array___Array___add(fra.me.REG[2], fra.me.REG[3]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[3] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(48);
-    /* ./parser//lexer.nit:2710 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(95);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(29);
-    REGB0 = TAG_Int(-UNTAG_Int(REGB0));
-    /* ./parser//lexer.nit:2710 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(97);
-    /* ./parser//lexer.nit:2711 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(97);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(168);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2710 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(98);
-    /* ./parser//lexer.nit:2712 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(122);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(74);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2710 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    /* ./parser//lexer.nit:2113 */
-    array___Array___add(fra.me.REG[2], fra.me.REG[3]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[3] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(48);
-    /* ./parser//lexer.nit:2715 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(114);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(79);
-    REGB0 = TAG_Int(-UNTAG_Int(REGB0));
-    /* ./parser//lexer.nit:2715 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(115);
-    /* ./parser//lexer.nit:2716 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(115);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(169);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2715 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(116);
-    /* ./parser//lexer.nit:2717 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(122);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(74);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2715 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    /* ./parser//lexer.nit:2113 */
-    array___Array___add(fra.me.REG[2], fra.me.REG[3]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[3] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(48);
-    /* ./parser//lexer.nit:2720 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(115);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(86);
-    REGB0 = TAG_Int(-UNTAG_Int(REGB0));
-    /* ./parser//lexer.nit:2720 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(116);
-    /* ./parser//lexer.nit:2721 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(116);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(170);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2720 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(117);
-    /* ./parser//lexer.nit:2722 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(122);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(74);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2720 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    /* ./parser//lexer.nit:2113 */
-    array___Array___add(fra.me.REG[2], fra.me.REG[3]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[3] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(48);
-    /* ./parser//lexer.nit:2725 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(100);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(38);
-    REGB0 = TAG_Int(-UNTAG_Int(REGB0));
-    /* ./parser//lexer.nit:2725 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(101);
-    /* ./parser//lexer.nit:2726 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(101);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(171);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2725 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(102);
-    /* ./parser//lexer.nit:2727 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(122);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(74);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2725 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    /* ./parser//lexer.nit:2113 */
-    array___Array___add(fra.me.REG[2], fra.me.REG[3]);
-    REGB0 = TAG_Int(1);
-    fra.me.REG[3] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(48);
-    /* ./parser//lexer.nit:2730 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(122);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(35);
-    REGB0 = TAG_Int(-UNTAG_Int(REGB0));
-    /* ./parser//lexer.nit:2730 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    /* ./parser//lexer.nit:2113 */
-    array___Array___add(fra.me.REG[2], fra.me.REG[3]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[3] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(48);
-    /* ./parser//lexer.nit:2733 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(100);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(38);
-    REGB0 = TAG_Int(-UNTAG_Int(REGB0));
-    /* ./parser//lexer.nit:2733 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(101);
-    /* ./parser//lexer.nit:2734 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(101);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(172);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2733 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(102);
-    /* ./parser//lexer.nit:2735 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(122);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(74);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2733 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    /* ./parser//lexer.nit:2113 */
-    array___Array___add(fra.me.REG[2], fra.me.REG[3]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[3] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(48);
-    /* ./parser//lexer.nit:2738 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(114);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(79);
-    REGB0 = TAG_Int(-UNTAG_Int(REGB0));
-    /* ./parser//lexer.nit:2738 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(115);
-    /* ./parser//lexer.nit:2739 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(115);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(173);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2738 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(116);
-    /* ./parser//lexer.nit:2740 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(122);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(74);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2738 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    /* ./parser//lexer.nit:2113 */
-    array___Array___add(fra.me.REG[2], fra.me.REG[3]);
-    REGB0 = TAG_Int(1);
-    fra.me.REG[3] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(48);
-    /* ./parser//lexer.nit:2743 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(122);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(35);
-    REGB0 = TAG_Int(-UNTAG_Int(REGB0));
-    /* ./parser//lexer.nit:2743 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    /* ./parser//lexer.nit:2113 */
-    array___Array___add(fra.me.REG[2], fra.me.REG[3]);
-    REGB0 = TAG_Int(1);
-    fra.me.REG[3] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(48);
-    /* ./parser//lexer.nit:2746 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(122);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(35);
-    REGB0 = TAG_Int(-UNTAG_Int(REGB0));
-    /* ./parser//lexer.nit:2746 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    /* ./parser//lexer.nit:2113 */
-    array___Array___add(fra.me.REG[2], fra.me.REG[3]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[3] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(48);
-    /* ./parser//lexer.nit:2749 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(110);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(32);
-    REGB0 = TAG_Int(-UNTAG_Int(REGB0));
-    /* ./parser//lexer.nit:2749 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(111);
-    /* ./parser//lexer.nit:2750 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(111);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(174);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2749 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(112);
-    /* ./parser//lexer.nit:2751 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(122);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(74);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2749 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    /* ./parser//lexer.nit:2113 */
-    array___Array___add(fra.me.REG[2], fra.me.REG[3]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[3] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(48);
-    /* ./parser//lexer.nit:2754 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(115);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(86);
-    REGB0 = TAG_Int(-UNTAG_Int(REGB0));
-    /* ./parser//lexer.nit:2754 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(116);
-    /* ./parser//lexer.nit:2755 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(116);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(175);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2754 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(117);
-    /* ./parser//lexer.nit:2756 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(122);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(74);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2754 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    /* ./parser//lexer.nit:2113 */
-    array___Array___add(fra.me.REG[2], fra.me.REG[3]);
-    REGB0 = TAG_Int(5);
-    fra.me.REG[3] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(48);
-    /* ./parser//lexer.nit:2759 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(100);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(38);
-    REGB0 = TAG_Int(-UNTAG_Int(REGB0));
-    /* ./parser//lexer.nit:2759 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(101);
-    /* ./parser//lexer.nit:2760 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(101);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(176);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2759 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(102);
-    /* ./parser//lexer.nit:2761 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(113);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(74);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2759 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(114);
-    /* ./parser//lexer.nit:2762 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(114);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(177);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2759 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(115);
-    /* ./parser//lexer.nit:2763 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(122);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(74);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2759 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    /* ./parser//lexer.nit:2113 */
-    array___Array___add(fra.me.REG[2], fra.me.REG[3]);
-    REGB0 = TAG_Int(1);
-    fra.me.REG[3] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(48);
-    /* ./parser//lexer.nit:2766 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(122);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(35);
-    REGB0 = TAG_Int(-UNTAG_Int(REGB0));
-    /* ./parser//lexer.nit:2766 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    /* ./parser//lexer.nit:2113 */
-    array___Array___add(fra.me.REG[2], fra.me.REG[3]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[3] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(48);
-    /* ./parser//lexer.nit:2769 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(100);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(38);
-    REGB0 = TAG_Int(-UNTAG_Int(REGB0));
-    /* ./parser//lexer.nit:2769 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(101);
-    /* ./parser//lexer.nit:2770 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(101);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(178);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2769 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(102);
-    /* ./parser//lexer.nit:2771 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(122);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(74);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2769 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    /* ./parser//lexer.nit:2113 */
-    array___Array___add(fra.me.REG[2], fra.me.REG[3]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[3] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(48);
-    /* ./parser//lexer.nit:2774 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(100);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(38);
-    REGB0 = TAG_Int(-UNTAG_Int(REGB0));
-    /* ./parser//lexer.nit:2774 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(101);
-    /* ./parser//lexer.nit:2775 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(101);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(179);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2774 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(102);
-    /* ./parser//lexer.nit:2776 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(122);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(74);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2774 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    /* ./parser//lexer.nit:2113 */
-    array___Array___add(fra.me.REG[2], fra.me.REG[3]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[3] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(48);
-    /* ./parser//lexer.nit:2779 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(111);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(91);
-    REGB0 = TAG_Int(-UNTAG_Int(REGB0));
-    /* ./parser//lexer.nit:2779 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(112);
-    /* ./parser//lexer.nit:2780 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(112);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(180);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2779 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(113);
-    /* ./parser//lexer.nit:2781 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(122);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(74);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2779 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    /* ./parser//lexer.nit:2113 */
-    array___Array___add(fra.me.REG[2], fra.me.REG[3]);
-    REGB0 = TAG_Int(1);
-    fra.me.REG[3] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(48);
-    /* ./parser//lexer.nit:2784 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(122);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(35);
-    REGB0 = TAG_Int(-UNTAG_Int(REGB0));
-    /* ./parser//lexer.nit:2784 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    /* ./parser//lexer.nit:2113 */
-    array___Array___add(fra.me.REG[2], fra.me.REG[3]);
-    REGB0 = TAG_Int(1);
-    fra.me.REG[3] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(48);
-    /* ./parser//lexer.nit:2787 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(122);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(35);
-    REGB0 = TAG_Int(-UNTAG_Int(REGB0));
-    /* ./parser//lexer.nit:2787 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    /* ./parser//lexer.nit:2113 */
-    array___Array___add(fra.me.REG[2], fra.me.REG[3]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[3] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(48);
-    /* ./parser//lexer.nit:2790 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(107);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(31);
-    REGB0 = TAG_Int(-UNTAG_Int(REGB0));
-    /* ./parser//lexer.nit:2790 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(108);
-    /* ./parser//lexer.nit:2791 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(108);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(181);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2790 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(109);
-    /* ./parser//lexer.nit:2792 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(122);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(74);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2790 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    /* ./parser//lexer.nit:2113 */
-    array___Array___add(fra.me.REG[2], fra.me.REG[3]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[3] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(48);
-    /* ./parser//lexer.nit:2795 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(100);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(38);
-    REGB0 = TAG_Int(-UNTAG_Int(REGB0));
-    /* ./parser//lexer.nit:2795 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(101);
-    /* ./parser//lexer.nit:2796 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(101);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(182);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2795 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(102);
-    /* ./parser//lexer.nit:2797 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(122);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(74);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2795 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    /* ./parser//lexer.nit:2113 */
-    array___Array___add(fra.me.REG[2], fra.me.REG[3]);
-    REGB0 = TAG_Int(4);
-    fra.me.REG[3] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(48);
-    /* ./parser//lexer.nit:2800 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(95);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(29);
-    REGB0 = TAG_Int(-UNTAG_Int(REGB0));
-    /* ./parser//lexer.nit:2800 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(97);
-    /* ./parser//lexer.nit:2801 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(106);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(74);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2800 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(107);
-    /* ./parser//lexer.nit:2802 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(107);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(183);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2800 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(108);
-    /* ./parser//lexer.nit:2803 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(122);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(74);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2800 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    /* ./parser//lexer.nit:2113 */
-    array___Array___add(fra.me.REG[2], fra.me.REG[3]);
-    REGB0 = TAG_Int(4);
-    fra.me.REG[3] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(48);
-    /* ./parser//lexer.nit:2806 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(95);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(29);
-    REGB0 = TAG_Int(-UNTAG_Int(REGB0));
-    /* ./parser//lexer.nit:2806 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(97);
-    /* ./parser//lexer.nit:2807 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(117);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(74);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2806 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(118);
-    /* ./parser//lexer.nit:2808 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(118);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(184);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2806 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(119);
-    /* ./parser//lexer.nit:2809 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(122);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(74);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2806 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    /* ./parser//lexer.nit:2113 */
-    array___Array___add(fra.me.REG[2], fra.me.REG[3]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[3] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(48);
-    /* ./parser//lexer.nit:2812 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(115);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(86);
-    REGB0 = TAG_Int(-UNTAG_Int(REGB0));
-    /* ./parser//lexer.nit:2812 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(116);
-    /* ./parser//lexer.nit:2813 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(116);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(185);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2812 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(117);
-    /* ./parser//lexer.nit:2814 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(122);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(74);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2812 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    /* ./parser//lexer.nit:2113 */
-    array___Array___add(fra.me.REG[2], fra.me.REG[3]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[3] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(48);
-    /* ./parser//lexer.nit:2817 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(99);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(78);
-    REGB0 = TAG_Int(-UNTAG_Int(REGB0));
-    /* ./parser//lexer.nit:2817 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(100);
-    /* ./parser//lexer.nit:2818 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(100);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(186);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2817 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(101);
-    /* ./parser//lexer.nit:2819 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(122);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(74);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2817 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    /* ./parser//lexer.nit:2113 */
-    array___Array___add(fra.me.REG[2], fra.me.REG[3]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[3] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(48);
-    /* ./parser//lexer.nit:2822 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(100);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(38);
-    REGB0 = TAG_Int(-UNTAG_Int(REGB0));
-    /* ./parser//lexer.nit:2822 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(101);
-    /* ./parser//lexer.nit:2823 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(101);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(187);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2822 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(102);
-    /* ./parser//lexer.nit:2824 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(122);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(74);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2822 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    /* ./parser//lexer.nit:2113 */
-    array___Array___add(fra.me.REG[2], fra.me.REG[3]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[3] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(48);
-    /* ./parser//lexer.nit:2827 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(116);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(108);
-    REGB0 = TAG_Int(-UNTAG_Int(REGB0));
-    /* ./parser//lexer.nit:2827 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(117);
-    /* ./parser//lexer.nit:2828 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(117);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(188);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2827 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(118);
-    /* ./parser//lexer.nit:2829 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(122);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(74);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2827 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    /* ./parser//lexer.nit:2113 */
-    array___Array___add(fra.me.REG[2], fra.me.REG[3]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[3] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(48);
-    /* ./parser//lexer.nit:2832 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(101);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(36);
-    REGB0 = TAG_Int(-UNTAG_Int(REGB0));
-    /* ./parser//lexer.nit:2832 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(102);
-    /* ./parser//lexer.nit:2833 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(102);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(189);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2832 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(103);
-    /* ./parser//lexer.nit:2834 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(122);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(74);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2832 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    /* ./parser//lexer.nit:2113 */
-    array___Array___add(fra.me.REG[2], fra.me.REG[3]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[3] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(48);
-    /* ./parser//lexer.nit:2837 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(98);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(99);
-    REGB0 = TAG_Int(-UNTAG_Int(REGB0));
-    /* ./parser//lexer.nit:2837 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(99);
-    /* ./parser//lexer.nit:2838 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(99);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(190);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2837 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(100);
-    /* ./parser//lexer.nit:2839 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(122);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(74);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2837 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    /* ./parser//lexer.nit:2113 */
-    array___Array___add(fra.me.REG[2], fra.me.REG[3]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[3] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(48);
-    /* ./parser//lexer.nit:2842 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(100);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(38);
-    REGB0 = TAG_Int(-UNTAG_Int(REGB0));
-    /* ./parser//lexer.nit:2842 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(101);
-    /* ./parser//lexer.nit:2843 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(101);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(191);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2842 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(102);
-    /* ./parser//lexer.nit:2844 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(122);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(74);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2842 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    /* ./parser//lexer.nit:2113 */
-    array___Array___add(fra.me.REG[2], fra.me.REG[3]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[3] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(48);
-    /* ./parser//lexer.nit:2847 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(109);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(39);
-    REGB0 = TAG_Int(-UNTAG_Int(REGB0));
-    /* ./parser//lexer.nit:2847 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(110);
-    /* ./parser//lexer.nit:2848 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(110);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(192);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2847 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(111);
-    /* ./parser//lexer.nit:2849 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(122);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(74);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2847 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    /* ./parser//lexer.nit:2113 */
-    array___Array___add(fra.me.REG[2], fra.me.REG[3]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[3] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(48);
-    /* ./parser//lexer.nit:2852 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(100);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(38);
-    REGB0 = TAG_Int(-UNTAG_Int(REGB0));
-    /* ./parser//lexer.nit:2852 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(101);
-    /* ./parser//lexer.nit:2853 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(101);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(193);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2852 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(102);
-    /* ./parser//lexer.nit:2854 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(122);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(74);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2852 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    /* ./parser//lexer.nit:2113 */
-    array___Array___add(fra.me.REG[2], fra.me.REG[3]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[3] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(48);
-    /* ./parser//lexer.nit:2857 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(100);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(38);
-    REGB0 = TAG_Int(-UNTAG_Int(REGB0));
-    /* ./parser//lexer.nit:2857 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(101);
-    /* ./parser//lexer.nit:2858 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(101);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(194);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2857 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(102);
-    /* ./parser//lexer.nit:2859 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(122);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(74);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2857 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    /* ./parser//lexer.nit:2113 */
-    array___Array___add(fra.me.REG[2], fra.me.REG[3]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[3] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(48);
-    /* ./parser//lexer.nit:2862 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(117);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(151);
-    REGB0 = TAG_Int(-UNTAG_Int(REGB0));
-    /* ./parser//lexer.nit:2862 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(118);
-    /* ./parser//lexer.nit:2863 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(118);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(195);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2862 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(119);
-    /* ./parser//lexer.nit:2864 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(122);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(74);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2862 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    /* ./parser//lexer.nit:2113 */
-    array___Array___add(fra.me.REG[2], fra.me.REG[3]);
-    REGB0 = TAG_Int(1);
-    fra.me.REG[3] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(48);
-    /* ./parser//lexer.nit:2867 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(122);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(35);
-    REGB0 = TAG_Int(-UNTAG_Int(REGB0));
-    /* ./parser//lexer.nit:2867 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    /* ./parser//lexer.nit:2113 */
-    array___Array___add(fra.me.REG[2], fra.me.REG[3]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[3] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(48);
-    /* ./parser//lexer.nit:2870 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(107);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(31);
-    REGB0 = TAG_Int(-UNTAG_Int(REGB0));
-    /* ./parser//lexer.nit:2870 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(108);
-    /* ./parser//lexer.nit:2871 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(108);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(196);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2870 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(109);
-    /* ./parser//lexer.nit:2872 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(122);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(74);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2870 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    /* ./parser//lexer.nit:2113 */
-    array___Array___add(fra.me.REG[2], fra.me.REG[3]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[3] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(48);
-    /* ./parser//lexer.nit:2875 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(115);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(86);
-    REGB0 = TAG_Int(-UNTAG_Int(REGB0));
-    /* ./parser//lexer.nit:2875 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(116);
-    /* ./parser//lexer.nit:2876 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(116);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(197);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2875 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(117);
-    /* ./parser//lexer.nit:2877 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(122);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(74);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2875 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    /* ./parser//lexer.nit:2113 */
-    array___Array___add(fra.me.REG[2], fra.me.REG[3]);
-    REGB0 = TAG_Int(1);
-    fra.me.REG[3] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(0);
-    /* ./parser//lexer.nit:2880 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(255);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(47);
-    REGB0 = TAG_Int(-UNTAG_Int(REGB0));
-    /* ./parser//lexer.nit:2880 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    /* ./parser//lexer.nit:2113 */
-    array___Array___add(fra.me.REG[2], fra.me.REG[3]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[3] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(48);
-    /* ./parser//lexer.nit:2883 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(115);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(86);
-    REGB0 = TAG_Int(-UNTAG_Int(REGB0));
-    /* ./parser//lexer.nit:2883 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(116);
-    /* ./parser//lexer.nit:2884 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(116);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(198);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2883 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(117);
-    /* ./parser//lexer.nit:2885 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(122);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(74);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2883 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    /* ./parser//lexer.nit:2113 */
-    array___Array___add(fra.me.REG[2], fra.me.REG[3]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[3] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(48);
-    /* ./parser//lexer.nit:2888 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(113);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(30);
-    REGB0 = TAG_Int(-UNTAG_Int(REGB0));
-    /* ./parser//lexer.nit:2888 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(114);
-    /* ./parser//lexer.nit:2889 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(114);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(199);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2888 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(115);
-    /* ./parser//lexer.nit:2890 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(122);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(74);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2888 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    /* ./parser//lexer.nit:2113 */
-    array___Array___add(fra.me.REG[2], fra.me.REG[3]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[3] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(48);
-    /* ./parser//lexer.nit:2893 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(113);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(30);
-    REGB0 = TAG_Int(-UNTAG_Int(REGB0));
-    /* ./parser//lexer.nit:2893 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(114);
-    /* ./parser//lexer.nit:2894 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(114);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(200);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2893 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(115);
-    /* ./parser//lexer.nit:2895 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(122);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(74);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2893 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    /* ./parser//lexer.nit:2113 */
-    array___Array___add(fra.me.REG[2], fra.me.REG[3]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[3] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(48);
-    /* ./parser//lexer.nit:2898 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(106);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(150);
-    REGB0 = TAG_Int(-UNTAG_Int(REGB0));
-    /* ./parser//lexer.nit:2898 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(107);
-    /* ./parser//lexer.nit:2899 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(107);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(201);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2898 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(108);
-    /* ./parser//lexer.nit:2900 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(122);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(74);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2898 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    /* ./parser//lexer.nit:2113 */
-    array___Array___add(fra.me.REG[2], fra.me.REG[3]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[3] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(48);
-    /* ./parser//lexer.nit:2903 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(114);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(79);
-    REGB0 = TAG_Int(-UNTAG_Int(REGB0));
-    /* ./parser//lexer.nit:2903 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(115);
-    /* ./parser//lexer.nit:2904 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(115);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(202);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2903 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(116);
-    /* ./parser//lexer.nit:2905 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(122);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(74);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2903 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    /* ./parser//lexer.nit:2113 */
-    array___Array___add(fra.me.REG[2], fra.me.REG[3]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[3] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(48);
-    /* ./parser//lexer.nit:2908 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(104);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(92);
-    REGB0 = TAG_Int(-UNTAG_Int(REGB0));
-    /* ./parser//lexer.nit:2908 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(105);
-    /* ./parser//lexer.nit:2909 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(105);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(203);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2908 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(106);
-    /* ./parser//lexer.nit:2910 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(122);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(74);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2908 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    /* ./parser//lexer.nit:2113 */
-    array___Array___add(fra.me.REG[2], fra.me.REG[3]);
-    REGB0 = TAG_Int(1);
-    fra.me.REG[3] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(48);
-    /* ./parser//lexer.nit:2913 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(122);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(35);
-    REGB0 = TAG_Int(-UNTAG_Int(REGB0));
-    /* ./parser//lexer.nit:2913 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    /* ./parser//lexer.nit:2113 */
-    array___Array___add(fra.me.REG[2], fra.me.REG[3]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[3] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(48);
-    /* ./parser//lexer.nit:2916 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(113);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(30);
-    REGB0 = TAG_Int(-UNTAG_Int(REGB0));
-    /* ./parser//lexer.nit:2916 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(114);
-    /* ./parser//lexer.nit:2917 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(114);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(204);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2916 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(115);
-    /* ./parser//lexer.nit:2918 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(122);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(74);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2916 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    /* ./parser//lexer.nit:2113 */
-    array___Array___add(fra.me.REG[2], fra.me.REG[3]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[3] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(48);
-    /* ./parser//lexer.nit:2921 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(100);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(38);
-    REGB0 = TAG_Int(-UNTAG_Int(REGB0));
-    /* ./parser//lexer.nit:2921 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(101);
-    /* ./parser//lexer.nit:2922 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(101);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(205);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2921 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(102);
-    /* ./parser//lexer.nit:2923 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(122);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(74);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2921 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    /* ./parser//lexer.nit:2113 */
-    array___Array___add(fra.me.REG[2], fra.me.REG[3]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[3] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(48);
-    /* ./parser//lexer.nit:2926 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(113);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(30);
-    REGB0 = TAG_Int(-UNTAG_Int(REGB0));
-    /* ./parser//lexer.nit:2926 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(114);
-    /* ./parser//lexer.nit:2927 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(114);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(206);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2926 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(115);
-    /* ./parser//lexer.nit:2928 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(122);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(74);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2926 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    /* ./parser//lexer.nit:2113 */
-    array___Array___add(fra.me.REG[2], fra.me.REG[3]);
-    REGB0 = TAG_Int(1);
-    fra.me.REG[3] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(48);
-    /* ./parser//lexer.nit:2931 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(122);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(35);
-    REGB0 = TAG_Int(-UNTAG_Int(REGB0));
-    /* ./parser//lexer.nit:2931 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    /* ./parser//lexer.nit:2113 */
-    array___Array___add(fra.me.REG[2], fra.me.REG[3]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[3] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(48);
-    /* ./parser//lexer.nit:2934 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(113);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(30);
-    REGB0 = TAG_Int(-UNTAG_Int(REGB0));
-    /* ./parser//lexer.nit:2934 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(114);
-    /* ./parser//lexer.nit:2935 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(114);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(207);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2934 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(115);
-    /* ./parser//lexer.nit:2936 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(122);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(74);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2934 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    /* ./parser//lexer.nit:2113 */
-    array___Array___add(fra.me.REG[2], fra.me.REG[3]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[3] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(48);
-    /* ./parser//lexer.nit:2939 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(116);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(108);
-    REGB0 = TAG_Int(-UNTAG_Int(REGB0));
-    /* ./parser//lexer.nit:2939 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(117);
-    /* ./parser//lexer.nit:2940 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(117);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(208);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2939 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(118);
-    /* ./parser//lexer.nit:2941 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(122);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(74);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2939 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    /* ./parser//lexer.nit:2113 */
-    array___Array___add(fra.me.REG[2], fra.me.REG[3]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[3] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(48);
-    /* ./parser//lexer.nit:2944 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(115);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(86);
-    REGB0 = TAG_Int(-UNTAG_Int(REGB0));
-    /* ./parser//lexer.nit:2944 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(116);
-    /* ./parser//lexer.nit:2945 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(116);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(209);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2944 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(117);
-    /* ./parser//lexer.nit:2946 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(122);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(74);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2944 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    /* ./parser//lexer.nit:2113 */
-    array___Array___add(fra.me.REG[2], fra.me.REG[3]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[3] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(48);
-    /* ./parser//lexer.nit:2949 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(107);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(31);
-    REGB0 = TAG_Int(-UNTAG_Int(REGB0));
-    /* ./parser//lexer.nit:2949 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(108);
-    /* ./parser//lexer.nit:2950 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(108);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(210);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2949 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(109);
-    /* ./parser//lexer.nit:2951 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(122);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(74);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2949 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    /* ./parser//lexer.nit:2113 */
-    array___Array___add(fra.me.REG[2], fra.me.REG[3]);
-    REGB0 = TAG_Int(1);
-    fra.me.REG[3] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(48);
-    /* ./parser//lexer.nit:2954 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(122);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(35);
-    REGB0 = TAG_Int(-UNTAG_Int(REGB0));
-    /* ./parser//lexer.nit:2954 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    /* ./parser//lexer.nit:2113 */
-    array___Array___add(fra.me.REG[2], fra.me.REG[3]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[3] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(48);
-    /* ./parser//lexer.nit:2957 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(95);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(29);
-    REGB0 = TAG_Int(-UNTAG_Int(REGB0));
-    /* ./parser//lexer.nit:2957 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(97);
-    /* ./parser//lexer.nit:2958 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(97);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(211);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2957 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(98);
-    /* ./parser//lexer.nit:2959 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(122);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(74);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2957 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    /* ./parser//lexer.nit:2113 */
-    array___Array___add(fra.me.REG[2], fra.me.REG[3]);
-    REGB0 = TAG_Int(1);
-    fra.me.REG[3] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(48);
-    /* ./parser//lexer.nit:2962 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(122);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(35);
-    REGB0 = TAG_Int(-UNTAG_Int(REGB0));
-    /* ./parser//lexer.nit:2962 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    /* ./parser//lexer.nit:2113 */
-    array___Array___add(fra.me.REG[2], fra.me.REG[3]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[3] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(48);
-    /* ./parser//lexer.nit:2965 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(95);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(29);
-    REGB0 = TAG_Int(-UNTAG_Int(REGB0));
-    /* ./parser//lexer.nit:2965 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(97);
-    /* ./parser//lexer.nit:2966 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(97);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(212);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2965 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(98);
-    /* ./parser//lexer.nit:2967 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(122);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(74);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2965 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    /* ./parser//lexer.nit:2113 */
-    array___Array___add(fra.me.REG[2], fra.me.REG[3]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[3] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(48);
-    /* ./parser//lexer.nit:2970 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(95);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(29);
-    REGB0 = TAG_Int(-UNTAG_Int(REGB0));
-    /* ./parser//lexer.nit:2970 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(97);
-    /* ./parser//lexer.nit:2971 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(97);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(213);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2970 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(98);
-    /* ./parser//lexer.nit:2972 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(122);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(74);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2970 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    /* ./parser//lexer.nit:2113 */
-    array___Array___add(fra.me.REG[2], fra.me.REG[3]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[3] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(48);
-    /* ./parser//lexer.nit:2975 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(100);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(38);
-    REGB0 = TAG_Int(-UNTAG_Int(REGB0));
-    /* ./parser//lexer.nit:2975 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(101);
-    /* ./parser//lexer.nit:2976 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(101);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(214);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2975 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(102);
-    /* ./parser//lexer.nit:2977 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(122);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(74);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2975 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    /* ./parser//lexer.nit:2113 */
-    array___Array___add(fra.me.REG[2], fra.me.REG[3]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[3] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(48);
-    /* ./parser//lexer.nit:2980 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(95);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(29);
-    REGB0 = TAG_Int(-UNTAG_Int(REGB0));
-    /* ./parser//lexer.nit:2980 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(97);
-    /* ./parser//lexer.nit:2981 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(97);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(215);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2980 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(98);
-    /* ./parser//lexer.nit:2982 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(122);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(74);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2980 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    /* ./parser//lexer.nit:2113 */
-    array___Array___add(fra.me.REG[2], fra.me.REG[3]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[3] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(48);
-    /* ./parser//lexer.nit:2985 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(101);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(36);
-    REGB0 = TAG_Int(-UNTAG_Int(REGB0));
-    /* ./parser//lexer.nit:2985 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(102);
-    /* ./parser//lexer.nit:2986 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(102);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(216);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2985 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(103);
-    /* ./parser//lexer.nit:2987 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(122);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(74);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2985 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    /* ./parser//lexer.nit:2113 */
-    array___Array___add(fra.me.REG[2], fra.me.REG[3]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[3] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(48);
-    /* ./parser//lexer.nit:2990 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(113);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(30);
-    REGB0 = TAG_Int(-UNTAG_Int(REGB0));
-    /* ./parser//lexer.nit:2990 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(114);
-    /* ./parser//lexer.nit:2991 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(114);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(217);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2990 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(115);
-    /* ./parser//lexer.nit:2992 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(122);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(74);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2990 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    /* ./parser//lexer.nit:2113 */
-    array___Array___add(fra.me.REG[2], fra.me.REG[3]);
-    REGB0 = TAG_Int(1);
-    fra.me.REG[3] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(48);
-    /* ./parser//lexer.nit:2995 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(122);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(35);
-    REGB0 = TAG_Int(-UNTAG_Int(REGB0));
-    /* ./parser//lexer.nit:2995 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    /* ./parser//lexer.nit:2113 */
-    array___Array___add(fra.me.REG[2], fra.me.REG[3]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[3] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(48);
-    /* ./parser//lexer.nit:2998 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(104);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(92);
-    REGB0 = TAG_Int(-UNTAG_Int(REGB0));
-    /* ./parser//lexer.nit:2998 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(105);
-    /* ./parser//lexer.nit:2999 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(105);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(218);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2998 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(106);
-    /* ./parser//lexer.nit:3000 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(122);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(74);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:2998 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    /* ./parser//lexer.nit:2113 */
-    array___Array___add(fra.me.REG[2], fra.me.REG[3]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[3] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(48);
-    /* ./parser//lexer.nit:3003 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(113);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(30);
-    REGB0 = TAG_Int(-UNTAG_Int(REGB0));
-    /* ./parser//lexer.nit:3003 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(114);
-    /* ./parser//lexer.nit:3004 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(114);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(219);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:3003 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(115);
-    /* ./parser//lexer.nit:3005 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(122);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(74);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:3003 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    /* ./parser//lexer.nit:2113 */
-    array___Array___add(fra.me.REG[2], fra.me.REG[3]);
-    REGB0 = TAG_Int(1);
-    fra.me.REG[3] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(48);
-    /* ./parser//lexer.nit:3008 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(122);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(35);
-    REGB0 = TAG_Int(-UNTAG_Int(REGB0));
-    /* ./parser//lexer.nit:3008 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    /* ./parser//lexer.nit:2113 */
-    array___Array___add(fra.me.REG[2], fra.me.REG[3]);
-    REGB0 = TAG_Int(1);
-    fra.me.REG[3] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(48);
-    /* ./parser//lexer.nit:3011 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(122);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(35);
-    REGB0 = TAG_Int(-UNTAG_Int(REGB0));
-    /* ./parser//lexer.nit:3011 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    /* ./parser//lexer.nit:2113 */
-    array___Array___add(fra.me.REG[2], fra.me.REG[3]);
-    REGB0 = TAG_Int(1);
-    fra.me.REG[3] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(48);
-    /* ./parser//lexer.nit:3014 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(122);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(35);
-    REGB0 = TAG_Int(-UNTAG_Int(REGB0));
-    /* ./parser//lexer.nit:3014 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    /* ./parser//lexer.nit:2113 */
-    array___Array___add(fra.me.REG[2], fra.me.REG[3]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[3] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(48);
-    /* ./parser//lexer.nit:3017 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(100);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(38);
-    REGB0 = TAG_Int(-UNTAG_Int(REGB0));
-    /* ./parser//lexer.nit:3017 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(101);
-    /* ./parser//lexer.nit:3018 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(101);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(220);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:3017 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(102);
-    /* ./parser//lexer.nit:3019 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(122);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(74);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:3017 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    /* ./parser//lexer.nit:2113 */
-    array___Array___add(fra.me.REG[2], fra.me.REG[3]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[3] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(48);
-    /* ./parser//lexer.nit:3022 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(100);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(38);
-    REGB0 = TAG_Int(-UNTAG_Int(REGB0));
-    /* ./parser//lexer.nit:3022 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(101);
-    /* ./parser//lexer.nit:3023 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(101);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(221);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:3022 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(102);
-    /* ./parser//lexer.nit:3024 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(122);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(74);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:3022 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    /* ./parser//lexer.nit:2113 */
-    array___Array___add(fra.me.REG[2], fra.me.REG[3]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[3] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(48);
-    /* ./parser//lexer.nit:3027 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(95);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(29);
-    REGB0 = TAG_Int(-UNTAG_Int(REGB0));
-    /* ./parser//lexer.nit:3027 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(97);
-    /* ./parser//lexer.nit:3028 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(97);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(222);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:3027 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(98);
-    /* ./parser//lexer.nit:3029 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(122);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(74);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:3027 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    /* ./parser//lexer.nit:2113 */
-    array___Array___add(fra.me.REG[2], fra.me.REG[3]);
-    REGB0 = TAG_Int(1);
-    fra.me.REG[3] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(48);
-    /* ./parser//lexer.nit:3032 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(122);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(35);
-    REGB0 = TAG_Int(-UNTAG_Int(REGB0));
-    /* ./parser//lexer.nit:3032 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    /* ./parser//lexer.nit:2113 */
-    array___Array___add(fra.me.REG[2], fra.me.REG[3]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[3] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(48);
-    /* ./parser//lexer.nit:3035 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(95);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(29);
-    REGB0 = TAG_Int(-UNTAG_Int(REGB0));
-    /* ./parser//lexer.nit:3035 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(97);
-    /* ./parser//lexer.nit:3036 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(97);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(223);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:3035 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(98);
-    /* ./parser//lexer.nit:3037 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(122);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(74);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:3035 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    /* ./parser//lexer.nit:2113 */
-    array___Array___add(fra.me.REG[2], fra.me.REG[3]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[3] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(48);
-    /* ./parser//lexer.nit:3040 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(115);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(86);
-    REGB0 = TAG_Int(-UNTAG_Int(REGB0));
-    /* ./parser//lexer.nit:3040 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(116);
-    /* ./parser//lexer.nit:3041 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(116);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(224);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:3040 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(117);
-    /* ./parser//lexer.nit:3042 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(122);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(74);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:3040 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    /* ./parser//lexer.nit:2113 */
-    array___Array___add(fra.me.REG[2], fra.me.REG[3]);
-    REGB0 = TAG_Int(1);
-    fra.me.REG[3] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(48);
-    /* ./parser//lexer.nit:3045 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(122);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(35);
-    REGB0 = TAG_Int(-UNTAG_Int(REGB0));
-    /* ./parser//lexer.nit:3045 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    /* ./parser//lexer.nit:2113 */
-    array___Array___add(fra.me.REG[2], fra.me.REG[3]);
-    REGB0 = TAG_Int(1);
-    fra.me.REG[3] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(48);
-    /* ./parser//lexer.nit:3048 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(122);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(35);
-    REGB0 = TAG_Int(-UNTAG_Int(REGB0));
-    /* ./parser//lexer.nit:3048 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    /* ./parser//lexer.nit:2113 */
-    array___Array___add(fra.me.REG[2], fra.me.REG[3]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[3] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(48);
-    /* ./parser//lexer.nit:3051 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(109);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(39);
-    REGB0 = TAG_Int(-UNTAG_Int(REGB0));
-    /* ./parser//lexer.nit:3051 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(110);
-    /* ./parser//lexer.nit:3052 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(110);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(225);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:3051 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(111);
-    /* ./parser//lexer.nit:3053 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(122);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(74);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:3051 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    /* ./parser//lexer.nit:2113 */
-    array___Array___add(fra.me.REG[2], fra.me.REG[3]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[3] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(48);
-    /* ./parser//lexer.nit:3056 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(109);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(39);
-    REGB0 = TAG_Int(-UNTAG_Int(REGB0));
-    /* ./parser//lexer.nit:3056 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(110);
-    /* ./parser//lexer.nit:3057 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(110);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(226);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:3056 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(111);
-    /* ./parser//lexer.nit:3058 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(122);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(74);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:3056 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    /* ./parser//lexer.nit:2113 */
-    array___Array___add(fra.me.REG[2], fra.me.REG[3]);
-    REGB0 = TAG_Int(1);
-    fra.me.REG[3] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(48);
-    /* ./parser//lexer.nit:3061 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(122);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(35);
-    REGB0 = TAG_Int(-UNTAG_Int(REGB0));
-    /* ./parser//lexer.nit:3061 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    /* ./parser//lexer.nit:2113 */
-    array___Array___add(fra.me.REG[2], fra.me.REG[3]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[3] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(48);
-    /* ./parser//lexer.nit:3064 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(115);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(86);
-    REGB0 = TAG_Int(-UNTAG_Int(REGB0));
-    /* ./parser//lexer.nit:3064 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(116);
-    /* ./parser//lexer.nit:3065 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(116);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(227);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:3064 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(117);
-    /* ./parser//lexer.nit:3066 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(122);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(74);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:3064 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    /* ./parser//lexer.nit:2113 */
-    array___Array___add(fra.me.REG[2], fra.me.REG[3]);
-    REGB0 = TAG_Int(5);
-    fra.me.REG[3] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(48);
-    /* ./parser//lexer.nit:3069 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(101);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(36);
-    REGB0 = TAG_Int(-UNTAG_Int(REGB0));
-    /* ./parser//lexer.nit:3069 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(102);
-    /* ./parser//lexer.nit:3070 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(102);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(228);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:3069 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(103);
-    /* ./parser//lexer.nit:3071 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(109);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(74);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:3069 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(110);
-    /* ./parser//lexer.nit:3072 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(110);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(229);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:3069 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(111);
-    /* ./parser//lexer.nit:3073 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(122);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(74);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:3069 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    /* ./parser//lexer.nit:2113 */
-    array___Array___add(fra.me.REG[2], fra.me.REG[3]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[3] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(48);
-    /* ./parser//lexer.nit:3076 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(99);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(78);
-    REGB0 = TAG_Int(-UNTAG_Int(REGB0));
-    /* ./parser//lexer.nit:3076 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(100);
-    /* ./parser//lexer.nit:3077 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(100);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(230);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:3076 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(101);
-    /* ./parser//lexer.nit:3078 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(122);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(74);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:3076 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    /* ./parser//lexer.nit:2113 */
-    array___Array___add(fra.me.REG[2], fra.me.REG[3]);
-    REGB0 = TAG_Int(1);
-    fra.me.REG[3] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(48);
-    /* ./parser//lexer.nit:3081 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(122);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(35);
-    REGB0 = TAG_Int(-UNTAG_Int(REGB0));
-    /* ./parser//lexer.nit:3081 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    /* ./parser//lexer.nit:2113 */
-    array___Array___add(fra.me.REG[2], fra.me.REG[3]);
-    REGB0 = TAG_Int(1);
-    fra.me.REG[3] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(48);
-    /* ./parser//lexer.nit:3084 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(122);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(35);
-    REGB0 = TAG_Int(-UNTAG_Int(REGB0));
-    /* ./parser//lexer.nit:3084 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    /* ./parser//lexer.nit:2113 */
-    array___Array___add(fra.me.REG[2], fra.me.REG[3]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[3] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(48);
-    /* ./parser//lexer.nit:3087 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(97);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(29);
-    REGB0 = TAG_Int(-UNTAG_Int(REGB0));
-    /* ./parser//lexer.nit:3087 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(98);
-    /* ./parser//lexer.nit:3088 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(98);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(231);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:3087 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(99);
-    /* ./parser//lexer.nit:3089 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(122);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(74);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:3087 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    /* ./parser//lexer.nit:2113 */
-    array___Array___add(fra.me.REG[2], fra.me.REG[3]);
-    REGB0 = TAG_Int(4);
-    fra.me.REG[3] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(48);
-    /* ./parser//lexer.nit:3092 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(95);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(29);
-    REGB0 = TAG_Int(-UNTAG_Int(REGB0));
-    /* ./parser//lexer.nit:3092 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(97);
-    /* ./parser//lexer.nit:3093 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(102);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(74);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:3092 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(103);
-    /* ./parser//lexer.nit:3094 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(103);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(232);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:3092 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(104);
-    /* ./parser//lexer.nit:3095 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(122);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(74);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:3092 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    /* ./parser//lexer.nit:2113 */
-    array___Array___add(fra.me.REG[2], fra.me.REG[3]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[3] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(48);
-    /* ./parser//lexer.nit:3098 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(115);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(86);
-    REGB0 = TAG_Int(-UNTAG_Int(REGB0));
-    /* ./parser//lexer.nit:3098 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(116);
-    /* ./parser//lexer.nit:3099 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(116);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(233);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:3098 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(117);
-    /* ./parser//lexer.nit:3100 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(122);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(74);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:3098 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    /* ./parser//lexer.nit:2113 */
-    array___Array___add(fra.me.REG[2], fra.me.REG[3]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[3] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(48);
-    /* ./parser//lexer.nit:3103 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(98);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(99);
-    REGB0 = TAG_Int(-UNTAG_Int(REGB0));
-    /* ./parser//lexer.nit:3103 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(99);
-    /* ./parser//lexer.nit:3104 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(99);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(234);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:3103 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(100);
-    /* ./parser//lexer.nit:3105 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(122);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(74);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:3103 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    /* ./parser//lexer.nit:2113 */
-    array___Array___add(fra.me.REG[2], fra.me.REG[3]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[3] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(48);
-    /* ./parser//lexer.nit:3108 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(97);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(29);
-    REGB0 = TAG_Int(-UNTAG_Int(REGB0));
-    /* ./parser//lexer.nit:3108 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(98);
-    /* ./parser//lexer.nit:3109 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(98);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(235);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:3108 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(99);
-    /* ./parser//lexer.nit:3110 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(122);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(74);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:3108 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    /* ./parser//lexer.nit:2113 */
-    array___Array___add(fra.me.REG[2], fra.me.REG[3]);
-    REGB0 = TAG_Int(1);
-    fra.me.REG[3] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(48);
-    /* ./parser//lexer.nit:3113 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(122);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(35);
-    REGB0 = TAG_Int(-UNTAG_Int(REGB0));
-    /* ./parser//lexer.nit:3113 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    /* ./parser//lexer.nit:2113 */
-    array___Array___add(fra.me.REG[2], fra.me.REG[3]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[3] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(48);
-    /* ./parser//lexer.nit:3116 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(109);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(39);
-    REGB0 = TAG_Int(-UNTAG_Int(REGB0));
-    /* ./parser//lexer.nit:3116 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(110);
-    /* ./parser//lexer.nit:3117 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(110);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(236);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:3116 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(111);
-    /* ./parser//lexer.nit:3118 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(122);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(74);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:3116 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    /* ./parser//lexer.nit:2113 */
-    array___Array___add(fra.me.REG[2], fra.me.REG[3]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[3] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(48);
-    /* ./parser//lexer.nit:3121 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(95);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(29);
-    REGB0 = TAG_Int(-UNTAG_Int(REGB0));
-    /* ./parser//lexer.nit:3121 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(97);
-    /* ./parser//lexer.nit:3122 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(97);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(237);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:3121 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(98);
-    /* ./parser//lexer.nit:3123 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(122);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(74);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:3121 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    /* ./parser//lexer.nit:2113 */
-    array___Array___add(fra.me.REG[2], fra.me.REG[3]);
-    REGB0 = TAG_Int(1);
-    fra.me.REG[3] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(48);
-    /* ./parser//lexer.nit:3126 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(122);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(35);
-    REGB0 = TAG_Int(-UNTAG_Int(REGB0));
-    /* ./parser//lexer.nit:3126 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    /* ./parser//lexer.nit:2113 */
-    array___Array___add(fra.me.REG[2], fra.me.REG[3]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[3] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(48);
-    /* ./parser//lexer.nit:3129 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(113);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(30);
-    REGB0 = TAG_Int(-UNTAG_Int(REGB0));
-    /* ./parser//lexer.nit:3129 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(114);
-    /* ./parser//lexer.nit:3130 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(114);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(238);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:3129 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(115);
-    /* ./parser//lexer.nit:3131 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(122);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(74);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:3129 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    /* ./parser//lexer.nit:2113 */
-    array___Array___add(fra.me.REG[2], fra.me.REG[3]);
-    REGB0 = TAG_Int(1);
-    fra.me.REG[3] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(48);
-    /* ./parser//lexer.nit:3134 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(122);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(35);
-    REGB0 = TAG_Int(-UNTAG_Int(REGB0));
-    /* ./parser//lexer.nit:3134 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    /* ./parser//lexer.nit:2113 */
-    array___Array___add(fra.me.REG[2], fra.me.REG[3]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[3] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(48);
-    /* ./parser//lexer.nit:3137 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(97);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(29);
-    REGB0 = TAG_Int(-UNTAG_Int(REGB0));
-    /* ./parser//lexer.nit:3137 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(98);
-    /* ./parser//lexer.nit:3138 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(98);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(239);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:3137 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(99);
-    /* ./parser//lexer.nit:3139 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(122);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(74);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:3137 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    /* ./parser//lexer.nit:2113 */
-    array___Array___add(fra.me.REG[2], fra.me.REG[3]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[3] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(48);
-    /* ./parser//lexer.nit:3142 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(98);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(99);
-    REGB0 = TAG_Int(-UNTAG_Int(REGB0));
-    /* ./parser//lexer.nit:3142 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(99);
-    /* ./parser//lexer.nit:3143 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(99);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(240);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:3142 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(100);
-    /* ./parser//lexer.nit:3144 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(122);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(74);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:3142 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    /* ./parser//lexer.nit:2113 */
-    array___Array___add(fra.me.REG[2], fra.me.REG[3]);
-    REGB0 = TAG_Int(1);
-    fra.me.REG[3] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(48);
-    /* ./parser//lexer.nit:3147 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(122);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(35);
-    REGB0 = TAG_Int(-UNTAG_Int(REGB0));
-    /* ./parser//lexer.nit:3147 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    /* ./parser//lexer.nit:2113 */
-    array___Array___add(fra.me.REG[2], fra.me.REG[3]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[3] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(48);
-    /* ./parser//lexer.nit:3150 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(116);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(108);
-    REGB0 = TAG_Int(-UNTAG_Int(REGB0));
-    /* ./parser//lexer.nit:3150 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(117);
-    /* ./parser//lexer.nit:3151 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(117);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(241);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:3150 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(118);
-    /* ./parser//lexer.nit:3152 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(122);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(74);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:3150 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    /* ./parser//lexer.nit:2113 */
-    array___Array___add(fra.me.REG[2], fra.me.REG[3]);
-    REGB0 = TAG_Int(1);
-    fra.me.REG[3] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(48);
-    /* ./parser//lexer.nit:3155 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(122);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(35);
-    REGB0 = TAG_Int(-UNTAG_Int(REGB0));
-    /* ./parser//lexer.nit:3155 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    /* ./parser//lexer.nit:2113 */
-    array___Array___add(fra.me.REG[2], fra.me.REG[3]);
-    REGB0 = TAG_Int(1);
-    fra.me.REG[3] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(48);
-    /* ./parser//lexer.nit:3158 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(122);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(35);
-    REGB0 = TAG_Int(-UNTAG_Int(REGB0));
-    /* ./parser//lexer.nit:3158 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    /* ./parser//lexer.nit:2113 */
-    array___Array___add(fra.me.REG[2], fra.me.REG[3]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[3] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(48);
-    /* ./parser//lexer.nit:3161 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(95);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(29);
-    REGB0 = TAG_Int(-UNTAG_Int(REGB0));
-    /* ./parser//lexer.nit:3161 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(97);
-    /* ./parser//lexer.nit:3162 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(97);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(242);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:3161 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(98);
-    /* ./parser//lexer.nit:3163 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(122);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(74);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:3161 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    /* ./parser//lexer.nit:2113 */
-    array___Array___add(fra.me.REG[2], fra.me.REG[3]);
-    REGB0 = TAG_Int(1);
-    fra.me.REG[3] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(48);
-    /* ./parser//lexer.nit:3166 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(122);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(35);
-    REGB0 = TAG_Int(-UNTAG_Int(REGB0));
-    /* ./parser//lexer.nit:3166 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    /* ./parser//lexer.nit:2113 */
-    array___Array___add(fra.me.REG[2], fra.me.REG[3]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[3] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(48);
-    /* ./parser//lexer.nit:3169 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(100);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(38);
-    REGB0 = TAG_Int(-UNTAG_Int(REGB0));
-    /* ./parser//lexer.nit:3169 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(101);
-    /* ./parser//lexer.nit:3170 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(101);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(243);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:3169 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(102);
-    /* ./parser//lexer.nit:3171 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(122);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(74);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:3169 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    /* ./parser//lexer.nit:2113 */
-    array___Array___add(fra.me.REG[2], fra.me.REG[3]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[3] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(48);
-    /* ./parser//lexer.nit:3174 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(107);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(31);
-    REGB0 = TAG_Int(-UNTAG_Int(REGB0));
-    /* ./parser//lexer.nit:3174 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(108);
-    /* ./parser//lexer.nit:3175 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(108);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(244);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:3174 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(109);
-    /* ./parser//lexer.nit:3176 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(122);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(74);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:3174 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    /* ./parser//lexer.nit:2113 */
-    array___Array___add(fra.me.REG[2], fra.me.REG[3]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[3] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(48);
-    /* ./parser//lexer.nit:3179 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(100);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(38);
-    REGB0 = TAG_Int(-UNTAG_Int(REGB0));
-    /* ./parser//lexer.nit:3179 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(101);
-    /* ./parser//lexer.nit:3180 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(101);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(245);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:3179 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(102);
-    /* ./parser//lexer.nit:3181 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(122);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(74);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:3179 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    /* ./parser//lexer.nit:2113 */
-    array___Array___add(fra.me.REG[2], fra.me.REG[3]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[3] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(48);
-    /* ./parser//lexer.nit:3184 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(100);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(38);
-    REGB0 = TAG_Int(-UNTAG_Int(REGB0));
-    /* ./parser//lexer.nit:3184 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(101);
-    /* ./parser//lexer.nit:3185 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(101);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(246);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:3184 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(102);
-    /* ./parser//lexer.nit:3186 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(122);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(74);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:3184 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    /* ./parser//lexer.nit:2113 */
-    array___Array___add(fra.me.REG[2], fra.me.REG[3]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[3] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(48);
-    /* ./parser//lexer.nit:3189 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(115);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(86);
-    REGB0 = TAG_Int(-UNTAG_Int(REGB0));
-    /* ./parser//lexer.nit:3189 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(116);
-    /* ./parser//lexer.nit:3190 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(116);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(247);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:3189 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(117);
-    /* ./parser//lexer.nit:3191 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(122);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(74);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:3189 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    /* ./parser//lexer.nit:2113 */
-    array___Array___add(fra.me.REG[2], fra.me.REG[3]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[3] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(48);
-    /* ./parser//lexer.nit:3194 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(107);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(31);
-    REGB0 = TAG_Int(-UNTAG_Int(REGB0));
-    /* ./parser//lexer.nit:3194 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(108);
-    /* ./parser//lexer.nit:3195 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(108);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(248);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:3194 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(109);
-    /* ./parser//lexer.nit:3196 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(122);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(74);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:3194 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    /* ./parser//lexer.nit:2113 */
-    array___Array___add(fra.me.REG[2], fra.me.REG[3]);
-    REGB0 = TAG_Int(1);
-    fra.me.REG[3] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(48);
-    /* ./parser//lexer.nit:3199 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(122);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(35);
-    REGB0 = TAG_Int(-UNTAG_Int(REGB0));
-    /* ./parser//lexer.nit:3199 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    /* ./parser//lexer.nit:2113 */
-    array___Array___add(fra.me.REG[2], fra.me.REG[3]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[3] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(48);
-    /* ./parser//lexer.nit:3202 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(107);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(31);
-    REGB0 = TAG_Int(-UNTAG_Int(REGB0));
-    /* ./parser//lexer.nit:3202 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(108);
-    /* ./parser//lexer.nit:3203 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(108);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(249);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:3202 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(109);
-    /* ./parser//lexer.nit:3204 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(122);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(74);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:3202 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    /* ./parser//lexer.nit:2113 */
-    array___Array___add(fra.me.REG[2], fra.me.REG[3]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[3] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(48);
-    /* ./parser//lexer.nit:3207 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(114);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(79);
-    REGB0 = TAG_Int(-UNTAG_Int(REGB0));
-    /* ./parser//lexer.nit:3207 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(115);
-    /* ./parser//lexer.nit:3208 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(115);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(250);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:3207 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(116);
-    /* ./parser//lexer.nit:3209 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(122);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(74);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:3207 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    /* ./parser//lexer.nit:2113 */
-    array___Array___add(fra.me.REG[2], fra.me.REG[3]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[3] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(48);
-    /* ./parser//lexer.nit:3212 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(107);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(31);
-    REGB0 = TAG_Int(-UNTAG_Int(REGB0));
-    /* ./parser//lexer.nit:3212 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(108);
-    /* ./parser//lexer.nit:3213 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(108);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(251);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:3212 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(109);
-    /* ./parser//lexer.nit:3214 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(122);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(74);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:3212 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    /* ./parser//lexer.nit:2113 */
-    array___Array___add(fra.me.REG[2], fra.me.REG[3]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[3] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(48);
-    /* ./parser//lexer.nit:3217 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(115);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(86);
-    REGB0 = TAG_Int(-UNTAG_Int(REGB0));
-    /* ./parser//lexer.nit:3217 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(116);
-    /* ./parser//lexer.nit:3218 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(116);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(252);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:3217 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(117);
-    /* ./parser//lexer.nit:3219 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(122);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(74);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:3217 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    /* ./parser//lexer.nit:2113 */
-    array___Array___add(fra.me.REG[2], fra.me.REG[3]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[3] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(48);
-    /* ./parser//lexer.nit:3222 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(100);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(38);
-    REGB0 = TAG_Int(-UNTAG_Int(REGB0));
-    /* ./parser//lexer.nit:3222 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(101);
-    /* ./parser//lexer.nit:3223 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(101);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(253);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:3222 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(102);
-    /* ./parser//lexer.nit:3224 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(122);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(74);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:3222 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    /* ./parser//lexer.nit:2113 */
-    array___Array___add(fra.me.REG[2], fra.me.REG[3]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[3] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(48);
-    /* ./parser//lexer.nit:3227 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(98);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(99);
-    REGB0 = TAG_Int(-UNTAG_Int(REGB0));
-    /* ./parser//lexer.nit:3227 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(99);
-    /* ./parser//lexer.nit:3228 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(99);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(254);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:3227 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(100);
-    /* ./parser//lexer.nit:3229 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(122);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(74);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:3227 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    /* ./parser//lexer.nit:2113 */
-    array___Array___add(fra.me.REG[2], fra.me.REG[3]);
-    REGB0 = TAG_Int(1);
-    fra.me.REG[3] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(48);
-    /* ./parser//lexer.nit:3232 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(122);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(35);
-    REGB0 = TAG_Int(-UNTAG_Int(REGB0));
-    /* ./parser//lexer.nit:3232 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    /* ./parser//lexer.nit:2113 */
-    array___Array___add(fra.me.REG[2], fra.me.REG[3]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[3] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(48);
-    /* ./parser//lexer.nit:3235 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(100);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(38);
-    REGB0 = TAG_Int(-UNTAG_Int(REGB0));
-    /* ./parser//lexer.nit:3235 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(101);
-    /* ./parser//lexer.nit:3236 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(101);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(255);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:3235 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(102);
-    /* ./parser//lexer.nit:3237 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(122);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(74);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:3235 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    /* ./parser//lexer.nit:2113 */
-    array___Array___add(fra.me.REG[2], fra.me.REG[3]);
-    REGB0 = TAG_Int(1);
-    fra.me.REG[3] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(48);
-    /* ./parser//lexer.nit:3240 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(122);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(35);
-    REGB0 = TAG_Int(-UNTAG_Int(REGB0));
-    /* ./parser//lexer.nit:3240 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    /* ./parser//lexer.nit:2113 */
-    array___Array___add(fra.me.REG[2], fra.me.REG[3]);
-    REGB0 = TAG_Int(1);
-    fra.me.REG[3] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(48);
-    /* ./parser//lexer.nit:3243 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(122);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(35);
-    REGB0 = TAG_Int(-UNTAG_Int(REGB0));
-    /* ./parser//lexer.nit:3243 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    /* ./parser//lexer.nit:2113 */
-    array___Array___add(fra.me.REG[2], fra.me.REG[3]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[3] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(48);
-    /* ./parser//lexer.nit:3246 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(100);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(38);
-    REGB0 = TAG_Int(-UNTAG_Int(REGB0));
-    /* ./parser//lexer.nit:3246 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(101);
-    /* ./parser//lexer.nit:3247 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(101);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(256);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:3246 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(102);
-    /* ./parser//lexer.nit:3248 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(122);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(74);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:3246 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    /* ./parser//lexer.nit:2113 */
-    array___Array___add(fra.me.REG[2], fra.me.REG[3]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[3] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(48);
-    /* ./parser//lexer.nit:3251 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(100);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(38);
-    REGB0 = TAG_Int(-UNTAG_Int(REGB0));
-    /* ./parser//lexer.nit:3251 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(101);
-    /* ./parser//lexer.nit:3252 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(101);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(257);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:3251 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(102);
-    /* ./parser//lexer.nit:3253 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(122);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(74);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:3251 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    /* ./parser//lexer.nit:2113 */
-    array___Array___add(fra.me.REG[2], fra.me.REG[3]);
-    REGB0 = TAG_Int(1);
-    fra.me.REG[3] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(48);
-    /* ./parser//lexer.nit:3256 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(122);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(35);
-    REGB0 = TAG_Int(-UNTAG_Int(REGB0));
-    /* ./parser//lexer.nit:3256 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    /* ./parser//lexer.nit:2113 */
-    array___Array___add(fra.me.REG[2], fra.me.REG[3]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[3] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(48);
-    /* ./parser//lexer.nit:3259 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(95);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(29);
-    REGB0 = TAG_Int(-UNTAG_Int(REGB0));
-    /* ./parser//lexer.nit:3259 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(97);
-    /* ./parser//lexer.nit:3260 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(97);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(258);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:3259 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(98);
-    /* ./parser//lexer.nit:3261 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(122);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(74);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:3259 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    /* ./parser//lexer.nit:2113 */
-    array___Array___add(fra.me.REG[2], fra.me.REG[3]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[3] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(48);
-    /* ./parser//lexer.nit:3264 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(100);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(38);
-    REGB0 = TAG_Int(-UNTAG_Int(REGB0));
-    /* ./parser//lexer.nit:3264 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(101);
-    /* ./parser//lexer.nit:3265 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(101);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(259);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:3264 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(102);
-    /* ./parser//lexer.nit:3266 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(122);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(74);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:3264 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    /* ./parser//lexer.nit:2113 */
-    array___Array___add(fra.me.REG[2], fra.me.REG[3]);
-    REGB0 = TAG_Int(1);
-    fra.me.REG[3] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(48);
-    /* ./parser//lexer.nit:3269 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(122);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(35);
-    REGB0 = TAG_Int(-UNTAG_Int(REGB0));
-    /* ./parser//lexer.nit:3269 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    /* ./parser//lexer.nit:2113 */
-    array___Array___add(fra.me.REG[2], fra.me.REG[3]);
-    REGB0 = TAG_Int(1);
-    fra.me.REG[3] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(48);
-    /* ./parser//lexer.nit:3272 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(122);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(35);
-    REGB0 = TAG_Int(-UNTAG_Int(REGB0));
-    /* ./parser//lexer.nit:3272 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    /* ./parser//lexer.nit:2113 */
-    array___Array___add(fra.me.REG[2], fra.me.REG[3]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[3] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(48);
-    /* ./parser//lexer.nit:3275 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(100);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(38);
-    REGB0 = TAG_Int(-UNTAG_Int(REGB0));
-    /* ./parser//lexer.nit:3275 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(101);
-    /* ./parser//lexer.nit:3276 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(101);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(260);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:3275 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(102);
-    /* ./parser//lexer.nit:3277 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(122);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(74);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:3275 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    /* ./parser//lexer.nit:2113 */
-    array___Array___add(fra.me.REG[2], fra.me.REG[3]);
-    REGB0 = TAG_Int(1);
-    fra.me.REG[3] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(48);
-    /* ./parser//lexer.nit:3280 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(122);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(35);
-    REGB0 = TAG_Int(-UNTAG_Int(REGB0));
-    /* ./parser//lexer.nit:3280 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    /* ./parser//lexer.nit:2113 */
-    array___Array___add(fra.me.REG[2], fra.me.REG[3]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[3] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(48);
-    /* ./parser//lexer.nit:3283 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(99);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(78);
-    REGB0 = TAG_Int(-UNTAG_Int(REGB0));
-    /* ./parser//lexer.nit:3283 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(100);
-    /* ./parser//lexer.nit:3284 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(100);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(261);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:3283 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(101);
-    /* ./parser//lexer.nit:3285 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(122);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(74);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:3283 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    /* ./parser//lexer.nit:2113 */
-    array___Array___add(fra.me.REG[2], fra.me.REG[3]);
-    REGB0 = TAG_Int(1);
-    fra.me.REG[3] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(48);
-    /* ./parser//lexer.nit:3288 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(122);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(35);
-    REGB0 = TAG_Int(-UNTAG_Int(REGB0));
-    /* ./parser//lexer.nit:3288 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    /* ./parser//lexer.nit:2113 */
-    array___Array___add(fra.me.REG[2], fra.me.REG[3]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[3] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(48);
-    /* ./parser//lexer.nit:3291 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(107);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(31);
-    REGB0 = TAG_Int(-UNTAG_Int(REGB0));
-    /* ./parser//lexer.nit:3291 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(108);
-    /* ./parser//lexer.nit:3292 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(108);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(262);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:3291 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(109);
-    /* ./parser//lexer.nit:3293 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(122);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(74);
-    array___Array___add(fra.me.REG[4], REGB0);
-    /* ./parser//lexer.nit:3291 */
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    /* ./parser//lexer.nit:2113 */
-    array___Array___add(fra.me.REG[2], fra.me.REG[3]);
-    REGB0 = TAG_Int(1);
-    fra.me.REG[3] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(48);
-    /* ./parser//lexer.nit:3296 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(122);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(35);
-    REGB0 = TAG_Int(-UNTAG_Int(REGB0));
-    /* ./parser//lexer.nit:3296 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    /* ./parser//lexer.nit:2113 */
-    array___Array___add(fra.me.REG[2], fra.me.REG[3]);
-    REGB0 = TAG_Int(1);
-    fra.me.REG[3] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(48);
-    /* ./parser//lexer.nit:3299 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(122);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(35);
-    REGB0 = TAG_Int(-UNTAG_Int(REGB0));
-    /* ./parser//lexer.nit:3299 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    /* ./parser//lexer.nit:2113 */
-    array___Array___add(fra.me.REG[2], fra.me.REG[3]);
-    REGB0 = TAG_Int(1);
-    fra.me.REG[3] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(48);
-    /* ./parser//lexer.nit:3302 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(122);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(35);
-    REGB0 = TAG_Int(-UNTAG_Int(REGB0));
-    /* ./parser//lexer.nit:3302 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    /* ./parser//lexer.nit:2113 */
-    array___Array___add(fra.me.REG[2], fra.me.REG[3]);
-    REGB0 = TAG_Int(1);
-    fra.me.REG[3] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(48);
-    /* ./parser//lexer.nit:3305 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(122);
-    array___Array___add(fra.me.REG[4], REGB0);
-    REGB0 = TAG_Int(35);
-    REGB0 = TAG_Int(-UNTAG_Int(REGB0));
-    /* ./parser//lexer.nit:3305 */
-    array___Array___add(fra.me.REG[4], REGB0);
-    array___Array___add(fra.me.REG[3], fra.me.REG[4]);
-    /* ./parser//lexer.nit:2113 */
-    array___Array___add(fra.me.REG[2], fra.me.REG[3]);
-    array___Array___add(fra.me.REG[1], fra.me.REG[2]);
-    /* ./parser//lexer.nit:2110 */
-    once_value_1 = fra.me.REG[1];
-    register_static_object(&once_value_1);
-  } else fra.me.REG[1] = once_value_1;
-  ATTR_lexer___Lexer____goto_table(fra.me.REG[0]) = fra.me.REG[1];
+          REGB11 = REGB9;
+        }
+        if (UNTAG_Bool(REGB11)) {
+          /* ./parser//lexer.nit:1595 */
+          fra.me.REG[4] = NEW_TGe_lexer___TGe___init_tk(fra.me.REG[2]);
+          fra.me.REG[3] = fra.me.REG[4];
+          goto label3;
+        }
+        /* ./parser//lexer.nit:1597 */
+        REGB11 = TAG_Int(77);
+        REGB9 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB11));
+        if (UNTAG_Bool(REGB9)) {
+        } else {
+          /* ./../lib/standard//kernel.nit:207 */
+          REGB11 = TAG_Bool((REGB4)==(REGB11));
+          /* ./parser//lexer.nit:1597 */
+          REGB9 = REGB11;
+        }
+        if (UNTAG_Bool(REGB9)) {
+          /* ./parser//lexer.nit:1598 */
+          fra.me.REG[4] = NEW_TGg_lexer___TGg___init_tk(fra.me.REG[2]);
+          fra.me.REG[3] = fra.me.REG[4];
+          goto label3;
+        }
+        /* ./parser//lexer.nit:1600 */
+        REGB9 = TAG_Int(78);
+        REGB11 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB9));
+        if (UNTAG_Bool(REGB11)) {
+        } else {
+          /* ./../lib/standard//kernel.nit:207 */
+          REGB9 = TAG_Bool((REGB4)==(REGB9));
+          /* ./parser//lexer.nit:1600 */
+          REGB11 = REGB9;
+        }
+        if (UNTAG_Bool(REGB11)) {
+          /* ./parser//lexer.nit:1601 */
+          fra.me.REG[4] = NEW_TStarship_lexer___TStarship___init_tk(fra.me.REG[2]);
+          fra.me.REG[3] = fra.me.REG[4];
+          goto label3;
+        }
+        /* ./parser//lexer.nit:1603 */
+        REGB11 = TAG_Int(79);
+        REGB9 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB11));
+        if (UNTAG_Bool(REGB9)) {
+        } else {
+          /* ./../lib/standard//kernel.nit:207 */
+          REGB11 = TAG_Bool((REGB4)==(REGB11));
+          /* ./parser//lexer.nit:1603 */
+          REGB9 = REGB11;
+        }
+        if (UNTAG_Bool(REGB9)) {
+          /* ./parser//lexer.nit:1604 */
+          fra.me.REG[4] = NEW_TBang_lexer___TBang___init_tk(fra.me.REG[2]);
+          fra.me.REG[3] = fra.me.REG[4];
+          goto label3;
+        }
+        /* ./parser//lexer.nit:1606 */
+        REGB9 = TAG_Int(80);
+        REGB11 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB9));
+        if (UNTAG_Bool(REGB11)) {
+        } else {
+          /* ./../lib/standard//kernel.nit:207 */
+          REGB9 = TAG_Bool((REGB4)==(REGB9));
+          /* ./parser//lexer.nit:1606 */
+          REGB11 = REGB9;
+        }
+        if (UNTAG_Bool(REGB11)) {
+          /* ./parser//lexer.nit:1607 */
+          REGB11 = TAG_Int(0);
+          fra.me.REG[4] = CALL_string___AbstractString___substring(fra.me.REG[1])(fra.me.REG[1], REGB11, REGB5);
+          /* ./parser//lexer.nit:1608 */
+          fra.me.REG[4] = NEW_TClassid_lexer___TClassid___init_tk(fra.me.REG[4], fra.me.REG[2]);
+          fra.me.REG[3] = fra.me.REG[4];
+          goto label3;
+        }
+        /* ./parser//lexer.nit:1610 */
+        REGB11 = TAG_Int(81);
+        REGB9 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB11));
+        if (UNTAG_Bool(REGB9)) {
+        } else {
+          /* ./../lib/standard//kernel.nit:207 */
+          REGB11 = TAG_Bool((REGB4)==(REGB11));
+          /* ./parser//lexer.nit:1610 */
+          REGB9 = REGB11;
+        }
+        if (UNTAG_Bool(REGB9)) {
+          /* ./parser//lexer.nit:1611 */
+          REGB9 = TAG_Int(0);
+          fra.me.REG[4] = CALL_string___AbstractString___substring(fra.me.REG[1])(fra.me.REG[1], REGB9, REGB5);
+          /* ./parser//lexer.nit:1612 */
+          fra.me.REG[4] = NEW_TId_lexer___TId___init_tk(fra.me.REG[4], fra.me.REG[2]);
+          fra.me.REG[3] = fra.me.REG[4];
+          goto label3;
+        }
+        /* ./parser//lexer.nit:1614 */
+        REGB9 = TAG_Int(82);
+        REGB11 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB9));
+        if (UNTAG_Bool(REGB11)) {
+        } else {
+          /* ./../lib/standard//kernel.nit:207 */
+          REGB9 = TAG_Bool((REGB4)==(REGB9));
+          /* ./parser//lexer.nit:1614 */
+          REGB11 = REGB9;
+        }
+        if (UNTAG_Bool(REGB11)) {
+          /* ./parser//lexer.nit:1615 */
+          REGB11 = TAG_Int(0);
+          fra.me.REG[4] = CALL_string___AbstractString___substring(fra.me.REG[1])(fra.me.REG[1], REGB11, REGB5);
+          /* ./parser//lexer.nit:1616 */
+          fra.me.REG[4] = NEW_TAttrid_lexer___TAttrid___init_tk(fra.me.REG[4], fra.me.REG[2]);
+          fra.me.REG[3] = fra.me.REG[4];
+          goto label3;
+        }
+        /* ./parser//lexer.nit:1618 */
+        REGB11 = TAG_Int(83);
+        REGB9 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB11));
+        if (UNTAG_Bool(REGB9)) {
+        } else {
+          /* ./../lib/standard//kernel.nit:207 */
+          REGB11 = TAG_Bool((REGB4)==(REGB11));
+          /* ./parser//lexer.nit:1618 */
+          REGB9 = REGB11;
+        }
+        if (UNTAG_Bool(REGB9)) {
+          /* ./parser//lexer.nit:1619 */
+          REGB9 = TAG_Int(0);
+          fra.me.REG[4] = CALL_string___AbstractString___substring(fra.me.REG[1])(fra.me.REG[1], REGB9, REGB5);
+          /* ./parser//lexer.nit:1620 */
+          fra.me.REG[4] = NEW_TNumber_lexer___TNumber___init_tk(fra.me.REG[4], fra.me.REG[2]);
+          fra.me.REG[3] = fra.me.REG[4];
+          goto label3;
+        }
+        /* ./parser//lexer.nit:1622 */
+        REGB9 = TAG_Int(84);
+        REGB11 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB9));
+        if (UNTAG_Bool(REGB11)) {
+        } else {
+          /* ./../lib/standard//kernel.nit:207 */
+          REGB9 = TAG_Bool((REGB4)==(REGB9));
+          /* ./parser//lexer.nit:1622 */
+          REGB11 = REGB9;
+        }
+        if (UNTAG_Bool(REGB11)) {
+          /* ./parser//lexer.nit:1623 */
+          REGB11 = TAG_Int(0);
+          fra.me.REG[4] = CALL_string___AbstractString___substring(fra.me.REG[1])(fra.me.REG[1], REGB11, REGB5);
+          /* ./parser//lexer.nit:1624 */
+          fra.me.REG[4] = NEW_TFloat_lexer___TFloat___init_tk(fra.me.REG[4], fra.me.REG[2]);
+          fra.me.REG[3] = fra.me.REG[4];
+          goto label3;
+        }
+        /* ./parser//lexer.nit:1626 */
+        REGB11 = TAG_Int(85);
+        REGB9 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB11));
+        if (UNTAG_Bool(REGB9)) {
+        } else {
+          /* ./../lib/standard//kernel.nit:207 */
+          REGB11 = TAG_Bool((REGB4)==(REGB11));
+          /* ./parser//lexer.nit:1626 */
+          REGB9 = REGB11;
+        }
+        if (UNTAG_Bool(REGB9)) {
+          /* ./parser//lexer.nit:1627 */
+          REGB9 = TAG_Int(0);
+          fra.me.REG[4] = CALL_string___AbstractString___substring(fra.me.REG[1])(fra.me.REG[1], REGB9, REGB5);
+          /* ./parser//lexer.nit:1628 */
+          fra.me.REG[4] = NEW_TChar_lexer___TChar___init_tk(fra.me.REG[4], fra.me.REG[2]);
+          fra.me.REG[3] = fra.me.REG[4];
+          goto label3;
+        }
+        /* ./parser//lexer.nit:1630 */
+        REGB9 = TAG_Int(86);
+        REGB11 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB9));
+        if (UNTAG_Bool(REGB11)) {
+        } else {
+          /* ./../lib/standard//kernel.nit:207 */
+          REGB9 = TAG_Bool((REGB4)==(REGB9));
+          /* ./parser//lexer.nit:1630 */
+          REGB11 = REGB9;
+        }
+        if (UNTAG_Bool(REGB11)) {
+          /* ./parser//lexer.nit:1631 */
+          REGB11 = TAG_Int(0);
+          fra.me.REG[4] = CALL_string___AbstractString___substring(fra.me.REG[1])(fra.me.REG[1], REGB11, REGB5);
+          /* ./parser//lexer.nit:1632 */
+          fra.me.REG[4] = NEW_TString_lexer___TString___init_tk(fra.me.REG[4], fra.me.REG[2]);
+          fra.me.REG[3] = fra.me.REG[4];
+          goto label3;
+        }
+        /* ./parser//lexer.nit:1634 */
+        REGB11 = TAG_Int(87);
+        REGB9 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB11));
+        if (UNTAG_Bool(REGB9)) {
+        } else {
+          /* ./../lib/standard//kernel.nit:207 */
+          REGB11 = TAG_Bool((REGB4)==(REGB11));
+          /* ./parser//lexer.nit:1634 */
+          REGB9 = REGB11;
+        }
+        if (UNTAG_Bool(REGB9)) {
+          /* ./parser//lexer.nit:1635 */
+          REGB9 = TAG_Int(0);
+          fra.me.REG[4] = CALL_string___AbstractString___substring(fra.me.REG[1])(fra.me.REG[1], REGB9, REGB5);
+          /* ./parser//lexer.nit:1636 */
+          fra.me.REG[4] = NEW_TStartString_lexer___TStartString___init_tk(fra.me.REG[4], fra.me.REG[2]);
+          fra.me.REG[3] = fra.me.REG[4];
+          goto label3;
+        }
+        /* ./parser//lexer.nit:1638 */
+        REGB9 = TAG_Int(88);
+        REGB11 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB9));
+        if (UNTAG_Bool(REGB11)) {
+        } else {
+          /* ./../lib/standard//kernel.nit:207 */
+          REGB9 = TAG_Bool((REGB4)==(REGB9));
+          /* ./parser//lexer.nit:1638 */
+          REGB11 = REGB9;
+        }
+        if (UNTAG_Bool(REGB11)) {
+          /* ./parser//lexer.nit:1639 */
+          REGB11 = TAG_Int(0);
+          fra.me.REG[4] = CALL_string___AbstractString___substring(fra.me.REG[1])(fra.me.REG[1], REGB11, REGB5);
+          /* ./parser//lexer.nit:1640 */
+          fra.me.REG[4] = NEW_TMidString_lexer___TMidString___init_tk(fra.me.REG[4], fra.me.REG[2]);
+          fra.me.REG[3] = fra.me.REG[4];
+          goto label3;
+        }
+        /* ./parser//lexer.nit:1642 */
+        REGB11 = TAG_Int(89);
+        REGB9 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB11));
+        if (UNTAG_Bool(REGB9)) {
+        } else {
+          /* ./../lib/standard//kernel.nit:207 */
+          REGB11 = TAG_Bool((REGB4)==(REGB11));
+          /* ./parser//lexer.nit:1642 */
+          REGB9 = REGB11;
+        }
+        if (UNTAG_Bool(REGB9)) {
+          /* ./parser//lexer.nit:1643 */
+          REGB9 = TAG_Int(0);
+          fra.me.REG[4] = CALL_string___AbstractString___substring(fra.me.REG[1])(fra.me.REG[1], REGB9, REGB5);
+          /* ./parser//lexer.nit:1644 */
+          fra.me.REG[2] = NEW_TEndString_lexer___TEndString___init_tk(fra.me.REG[4], fra.me.REG[2]);
+          fra.me.REG[3] = fra.me.REG[2];
+          goto label3;
+        }
+      } else {
+        /* ./parser//lexer.nit:1647 */
+        REGB9 = TAG_Bool(ATTR_lexer___Lexer____filename(fra.me.REG[0])!=NIT_NULL);
+        if (UNTAG_Bool(REGB9)) {
+        } else {
+          nit_abort("Uninitialized attribute %s", "_filename", LOCATE_lexer, 1647);
+        }
+        fra.me.REG[2] = ATTR_lexer___Lexer____filename(fra.me.REG[0]);
+        REGB9 = TAG_Int(1);
+        /* ./../lib/standard//kernel.nit:215 */
+        REGB9 = TAG_Int(UNTAG_Int(REGB2)+UNTAG_Int(REGB9));
+        /* ./parser//lexer.nit:1647 */
+        REGB11 = TAG_Int(1);
+        /* ./../lib/standard//kernel.nit:215 */
+        REGB11 = TAG_Int(UNTAG_Int(REGB2)+UNTAG_Int(REGB11));
+        /* ./parser//lexer.nit:1647 */
+        REGB10 = TAG_Int(1);
+        /* ./../lib/standard//kernel.nit:215 */
+        REGB10 = TAG_Int(UNTAG_Int(REGB1)+UNTAG_Int(REGB10));
+        /* ./parser//lexer.nit:1647 */
+        REGB8 = TAG_Int(1);
+        /* ./../lib/standard//kernel.nit:215 */
+        REGB8 = TAG_Int(UNTAG_Int(REGB1)+UNTAG_Int(REGB8));
+        /* ./parser//lexer.nit:1647 */
+        fra.me.REG[2] = NEW_Location_location___Location___init(fra.me.REG[2], REGB9, REGB11, REGB10, REGB8);
+        /* ./../lib/standard//collection//array.nit:23 */
+        REGB8 = TAG_Bool(ATTR_array___AbstractArrayRead____length(fra.me.REG[1])!=NIT_NULL);
+        if (UNTAG_Bool(REGB8)) {
+        } else {
+          nit_abort("Uninitialized attribute %s", "_length", LOCATE_array, 23);
+        }
+        REGB8 = ATTR_array___AbstractArrayRead____length(fra.me.REG[1]);
+        /* ./parser//lexer.nit:1648 */
+        REGB10 = TAG_Int(0);
+        /* ./../lib/standard//kernel.nit:214 */
+        REGB10 = TAG_Bool(UNTAG_Int(REGB8)>UNTAG_Int(REGB10));
+        /* ./parser//lexer.nit:1648 */
+        if (UNTAG_Bool(REGB10)) {
+          /* ./parser//lexer.nit:1649 */
+          REGB10 = TAG_Int(3);
+          fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB10);
+          if (!once_value_4) {
+            fra.me.REG[5] = BOX_NativeString("Syntax error: unknown token ");
+            REGB10 = TAG_Int(28);
+            fra.me.REG[5] = NEW_String_string___String___with_native(fra.me.REG[5], REGB10);
+            once_value_4 = fra.me.REG[5];
+            register_static_object(&once_value_4);
+          } else fra.me.REG[5] = once_value_4;
+          fra.me.REG[5] = fra.me.REG[5];
+          CALL_abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[5]);
+          fra.me.REG[5] = CALL_string___Object___to_s(fra.me.REG[1])(fra.me.REG[1]);
+          CALL_abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[5]);
+          if (!once_value_5) {
+            fra.me.REG[5] = BOX_NativeString(".");
+            REGB10 = TAG_Int(1);
+            fra.me.REG[5] = NEW_String_string___String___with_native(fra.me.REG[5], REGB10);
+            once_value_5 = fra.me.REG[5];
+            register_static_object(&once_value_5);
+          } else fra.me.REG[5] = once_value_5;
+          fra.me.REG[5] = fra.me.REG[5];
+          CALL_abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[5]);
+          fra.me.REG[4] = CALL_string___Object___to_s(fra.me.REG[4])(fra.me.REG[4]);
+          fra.me.REG[4] = NEW_AError_lexer___AError___init_error(fra.me.REG[4], fra.me.REG[2]);
+          /* ./parser//lexer.nit:1650 */
+          fra.me.REG[3] = fra.me.REG[4];
+          goto label3;
+        } else {
+          /* ./parser//lexer.nit:1652 */
+          fra.me.REG[2] = NEW_EOF_lexer___EOF___init(fra.me.REG[2]);
+          /* ./parser//lexer.nit:1653 */
+          fra.me.REG[3] = fra.me.REG[2];
+          goto label3;
+        }
+      }
+    }
+    /* ./parser//lexer.nit:1657 */
+    REGB10 = TAG_Bool(false);
+    if (UNTAG_Bool(REGB10)) {
+      goto label6;
+    }
+  }
+  label6: while(0);
+  /* ./parser//lexer.nit:1659 */
+  fra.me.REG[3] = NIT_NULL;
+  goto label3;
+  label3: while(0);
   stack_frame_head = fra.me.prev;
-  return;
+  return fra.me.REG[3];
 }
-val_t lexer___Lexer___nil_array(val_t p0){
-  struct {struct stack_frame_t me;} fra;
+val_t lexer___Lexer___get_char(val_t p0){
+  struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
+  val_t REGB0;
+  val_t REGB1;
+  val_t REGB2;
+  val_t REGB3;
   val_t tmp;
-  static val_t once_value_1; /* Once value */
   fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
   fra.me.file = LOCATE_lexer;
-  fra.me.line = 3311;
-  fra.me.meth = LOCATE_lexer___Lexer___nil_array;
+  fra.me.line = 1662;
+  fra.me.meth = LOCATE_lexer___Lexer___get_char;
   fra.me.has_broke = 0;
-  fra.me.REG_size = 1;
+  fra.me.REG_size = 2;
   fra.me.REG[0] = NIT_NULL;
+  fra.me.REG[1] = NIT_NULL;
   fra.me.REG[0] = p0;
-  /* ./parser//lexer.nit:3313 */
-  if (!once_value_1) {
-    fra.me.REG[0] = NEW_Array_array___Array___init();
-    once_value_1 = fra.me.REG[0];
-    register_static_object(&once_value_1);
-  } else fra.me.REG[0] = once_value_1;
-  goto label2;
-  label2: while(0);
+  /* ./parser//lexer.nit:1666 */
+  REGB0 = TAG_Bool(ATTR_lexer___Lexer____eof(fra.me.REG[0])!=NIT_NULL);
+  if (UNTAG_Bool(REGB0)) {
+  } else {
+    nit_abort("Uninitialized attribute %s", "_eof", LOCATE_lexer, 1666);
+  }
+  REGB0 = ATTR_lexer___Lexer____eof(fra.me.REG[0]);
+  if (UNTAG_Bool(REGB0)) {
+    /* ./parser//lexer.nit:1667 */
+    REGB0 = TAG_Int(1);
+    /* ./../lib/standard//kernel.nit:216 */
+    REGB0 = TAG_Int(-UNTAG_Int(REGB0));
+    /* ./parser//lexer.nit:1667 */
+    goto label1;
+  }
+  /* ./parser//lexer.nit:1672 */
+  REGB1 = TAG_Bool(ATTR_lexer___Lexer____stream_pos(fra.me.REG[0])!=NIT_NULL);
+  if (UNTAG_Bool(REGB1)) {
+  } else {
+    nit_abort("Uninitialized attribute %s", "_stream_pos", LOCATE_lexer, 1672);
+  }
+  REGB1 = ATTR_lexer___Lexer____stream_pos(fra.me.REG[0]);
+  /* ./parser//lexer.nit:1673 */
+  REGB2 = TAG_Int(0);
+  /* ./../lib/standard//kernel.nit:213 */
+  REGB2 = TAG_Bool(UNTAG_Int(REGB1)>=UNTAG_Int(REGB2));
+  /* ./parser//lexer.nit:1673 */
+  if (UNTAG_Bool(REGB2)) {
+    /* ./parser//lexer.nit:1674 */
+    REGB2 = TAG_Bool(ATTR_lexer___Lexer____stream_buf(fra.me.REG[0])!=NIT_NULL);
+    if (UNTAG_Bool(REGB2)) {
+    } else {
+      nit_abort("Uninitialized attribute %s", "_stream_buf", LOCATE_lexer, 1674);
+    }
+    fra.me.REG[1] = ATTR_lexer___Lexer____stream_buf(fra.me.REG[0]);
+    REGB2 = TAG_Bool(ATTR_lexer___Lexer____stream_pos(fra.me.REG[0])!=NIT_NULL);
+    if (UNTAG_Bool(REGB2)) {
+    } else {
+      nit_abort("Uninitialized attribute %s", "_stream_pos", LOCATE_lexer, 1674);
+    }
+    REGB2 = ATTR_lexer___Lexer____stream_pos(fra.me.REG[0]);
+    REGB2 = CALL_abstract_collection___MapRead_____bra(fra.me.REG[1])(fra.me.REG[1], REGB2);
+    /* ./parser//lexer.nit:1675 */
+    REGB3 = TAG_Int(1);
+    /* ./../lib/standard//kernel.nit:217 */
+    REGB3 = TAG_Int(UNTAG_Int(REGB1)-UNTAG_Int(REGB3));
+    /* ./parser//lexer.nit:1675 */
+    ATTR_lexer___Lexer____stream_pos(fra.me.REG[0]) = REGB3;
+    /* ./../lib/standard//kernel.nit:382 */
+    REGB2 = TAG_Int((unsigned char)UNTAG_Char(REGB2));
+  } else {
+    /* ./parser//lexer.nit:1678 */
+    REGB3 = TAG_Bool(ATTR_lexer___Lexer____stream(fra.me.REG[0])!=NIT_NULL);
+    if (UNTAG_Bool(REGB3)) {
+    } else {
+      nit_abort("Uninitialized attribute %s", "_stream", LOCATE_lexer, 1678);
+    }
+    fra.me.REG[1] = ATTR_lexer___Lexer____stream(fra.me.REG[0]);
+    REGB3 = CALL_stream___IStream___read_char(fra.me.REG[1])(fra.me.REG[1]);
+    REGB2 = REGB3;
+  }
+  /* ./parser//lexer.nit:1681 */
+  REGB3 = TAG_Int(1);
+  /* ./../lib/standard//kernel.nit:216 */
+  REGB3 = TAG_Int(-UNTAG_Int(REGB3));
+  /* ./parser//lexer.nit:1681 */
+  REGB1 = TAG_Bool(IS_EQUAL_OO(REGB2,REGB3));
+  if (UNTAG_Bool(REGB1)) {
+  } else {
+    /* ./../lib/standard//kernel.nit:207 */
+    REGB3 = TAG_Bool((REGB2)==(REGB3));
+    /* ./parser//lexer.nit:1681 */
+    REGB1 = REGB3;
+  }
+  if (UNTAG_Bool(REGB1)) {
+    /* ./parser//lexer.nit:1682 */
+    REGB1 = TAG_Bool(true);
+    ATTR_lexer___Lexer____eof(fra.me.REG[0]) = REGB1;
+  }
+  /* ./parser//lexer.nit:1685 */
+  REGB0 = REGB2;
+  goto label1;
+  label1: while(0);
   stack_frame_head = fra.me.prev;
-  return fra.me.REG[0];
+  return REGB0;
 }
-void lexer___Lexer___build_accept_table(val_t p0){
+void lexer___Lexer___push_back(val_t p0, val_t p1){
   struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
   val_t REGB0;
+  val_t REGB1;
+  val_t REGB2;
+  val_t REGB3;
   val_t tmp;
-  static val_t once_value_1; /* Once value */
   fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
   fra.me.file = LOCATE_lexer;
-  fra.me.line = 3317;
-  fra.me.meth = LOCATE_lexer___Lexer___build_accept_table;
+  fra.me.line = 1688;
+  fra.me.meth = LOCATE_lexer___Lexer___push_back;
   fra.me.has_broke = 0;
   fra.me.REG_size = 3;
   fra.me.REG[0] = NIT_NULL;
   fra.me.REG[1] = NIT_NULL;
   fra.me.REG[2] = NIT_NULL;
   fra.me.REG[0] = p0;
-  /* ./parser//lexer.nit:3318 */
-  if (!once_value_1) {
-    REGB0 = TAG_Int(1);
-    fra.me.REG[1] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(263);
-    fra.me.REG[2] = NEW_Array_array___Array___with_capacity(REGB0);
-    REGB0 = TAG_Int(1);
-    REGB0 = TAG_Int(-UNTAG_Int(REGB0));
-    /* ./parser//lexer.nit:3320 */
-    array___Array___add(fra.me.REG[2], REGB0);
-    REGB0 = TAG_Int(0);
-    array___Array___add(fra.me.REG[2], REGB0);
-    REGB0 = TAG_Int(1);
-    array___Array___add(fra.me.REG[2], REGB0);
-    REGB0 = TAG_Int(1);
-    array___Array___add(fra.me.REG[2], REGB0);
-    REGB0 = TAG_Int(0);
-    array___Array___add(fra.me.REG[2], REGB0);
-    REGB0 = TAG_Int(77);
-    array___Array___add(fra.me.REG[2], REGB0);
-    REGB0 = TAG_Int(1);
-    REGB0 = TAG_Int(-UNTAG_Int(REGB0));
-    /* ./parser//lexer.nit:3320 */
-    array___Array___add(fra.me.REG[2], REGB0);
-    REGB0 = TAG_Int(1);
-    REGB0 = TAG_Int(-UNTAG_Int(REGB0));
-    /* ./parser//lexer.nit:3320 */
-    array___Array___add(fra.me.REG[2], REGB0);
-    REGB0 = TAG_Int(69);
-    array___Array___add(fra.me.REG[2], REGB0);
-    REGB0 = TAG_Int(1);
-    REGB0 = TAG_Int(-UNTAG_Int(REGB0));
-    /* ./parser//lexer.nit:3320 */
-    array___Array___add(fra.me.REG[2], REGB0);
-    REGB0 = TAG_Int(52);
-    array___Array___add(fra.me.REG[2], REGB0);
-    REGB0 = TAG_Int(53);
-    array___Array___add(fra.me.REG[2], REGB0);
-    REGB0 = TAG_Int(67);
-    array___Array___add(fra.me.REG[2], REGB0);
-    REGB0 = TAG_Int(65);
-    array___Array___add(fra.me.REG[2], REGB0);
-    REGB0 = TAG_Int(56);
-    array___Array___add(fra.me.REG[2], REGB0);
-    REGB0 = TAG_Int(66);
-    array___Array___add(fra.me.REG[2], REGB0);
-    REGB0 = TAG_Int(64);
-    array___Array___add(fra.me.REG[2], REGB0);
-    REGB0 = TAG_Int(68);
-    array___Array___add(fra.me.REG[2], REGB0);
-    REGB0 = TAG_Int(81);
-    array___Array___add(fra.me.REG[2], REGB0);
-    REGB0 = TAG_Int(57);
-    array___Array___add(fra.me.REG[2], REGB0);
-    REGB0 = TAG_Int(72);
-    array___Array___add(fra.me.REG[2], REGB0);
-    REGB0 = TAG_Int(59);
-    array___Array___add(fra.me.REG[2], REGB0);
-    REGB0 = TAG_Int(74);
-    array___Array___add(fra.me.REG[2], REGB0);
-    REGB0 = TAG_Int(78);
-    array___Array___add(fra.me.REG[2], REGB0);
-    REGB0 = TAG_Int(54);
-    array___Array___add(fra.me.REG[2], REGB0);
-    REGB0 = TAG_Int(55);
-    array___Array___add(fra.me.REG[2], REGB0);
-    REGB0 = TAG_Int(1);
-    REGB0 = TAG_Int(-UNTAG_Int(REGB0));
-    /* ./parser//lexer.nit:3320 */
-    array___Array___add(fra.me.REG[2], REGB0);
-    REGB0 = TAG_Int(79);
-    array___Array___add(fra.me.REG[2], REGB0);
-    REGB0 = TAG_Int(79);
-    array___Array___add(fra.me.REG[2], REGB0);
-    REGB0 = TAG_Int(79);
-    array___Array___add(fra.me.REG[2], REGB0);
-    REGB0 = TAG_Int(79);
-    array___Array___add(fra.me.REG[2], REGB0);
-    REGB0 = TAG_Int(79);
-    array___Array___add(fra.me.REG[2], REGB0);
-    REGB0 = TAG_Int(79);
-    array___Array___add(fra.me.REG[2], REGB0);
-    REGB0 = TAG_Int(79);
-    array___Array___add(fra.me.REG[2], REGB0);
-    REGB0 = TAG_Int(79);
-    array___Array___add(fra.me.REG[2], REGB0);
-    REGB0 = TAG_Int(79);
-    array___Array___add(fra.me.REG[2], REGB0);
-    REGB0 = TAG_Int(79);
-    array___Array___add(fra.me.REG[2], REGB0);
-    REGB0 = TAG_Int(79);
-    array___Array___add(fra.me.REG[2], REGB0);
-    REGB0 = TAG_Int(79);
-    array___Array___add(fra.me.REG[2], REGB0);
-    REGB0 = TAG_Int(79);
-    array___Array___add(fra.me.REG[2], REGB0);
-    REGB0 = TAG_Int(79);
-    array___Array___add(fra.me.REG[2], REGB0);
-    REGB0 = TAG_Int(79);
-    array___Array___add(fra.me.REG[2], REGB0);
-    REGB0 = TAG_Int(79);
-    array___Array___add(fra.me.REG[2], REGB0);
-    REGB0 = TAG_Int(79);
-    array___Array___add(fra.me.REG[2], REGB0);
-    REGB0 = TAG_Int(79);
-    array___Array___add(fra.me.REG[2], REGB0);
-    REGB0 = TAG_Int(1);
-    REGB0 = TAG_Int(-UNTAG_Int(REGB0));
-    /* ./parser//lexer.nit:3320 */
-    array___Array___add(fra.me.REG[2], REGB0);
-    REGB0 = TAG_Int(1);
-    array___Array___add(fra.me.REG[2], REGB0);
-    REGB0 = TAG_Int(71);
-    array___Array___add(fra.me.REG[2], REGB0);
-    REGB0 = TAG_Int(1);
-    REGB0 = TAG_Int(-UNTAG_Int(REGB0));
-    /* ./parser//lexer.nit:3320 */
-    array___Array___add(fra.me.REG[2], REGB0);
-    REGB0 = TAG_Int(84);
-    array___Array___add(fra.me.REG[2], REGB0);
-    REGB0 = TAG_Int(1);
-    REGB0 = TAG_Int(-UNTAG_Int(REGB0));
-    /* ./parser//lexer.nit:3320 */
-    array___Array___add(fra.me.REG[2], REGB0);
-    REGB0 = TAG_Int(85);
-    array___Array___add(fra.me.REG[2], REGB0);
-    REGB0 = TAG_Int(1);
-    REGB0 = TAG_Int(-UNTAG_Int(REGB0));
-    /* ./parser//lexer.nit:3320 */
-    array___Array___add(fra.me.REG[2], REGB0);
-    REGB0 = TAG_Int(2);
-    array___Array___add(fra.me.REG[2], REGB0);
-    REGB0 = TAG_Int(2);
-    array___Array___add(fra.me.REG[2], REGB0);
-    REGB0 = TAG_Int(1);
-    REGB0 = TAG_Int(-UNTAG_Int(REGB0));
-    /* ./parser//lexer.nit:3320 */
-    array___Array___add(fra.me.REG[2], REGB0);
-    REGB0 = TAG_Int(83);
-    array___Array___add(fra.me.REG[2], REGB0);
-    REGB0 = TAG_Int(60);
-    array___Array___add(fra.me.REG[2], REGB0);
-    REGB0 = TAG_Int(61);
-    array___Array___add(fra.me.REG[2], REGB0);
-    REGB0 = TAG_Int(63);
-    array___Array___add(fra.me.REG[2], REGB0);
-    REGB0 = TAG_Int(82);
-    array___Array___add(fra.me.REG[2], REGB0);
-    REGB0 = TAG_Int(1);
-    REGB0 = TAG_Int(-UNTAG_Int(REGB0));
-    /* ./parser//lexer.nit:3320 */
-    array___Array___add(fra.me.REG[2], REGB0);
-    REGB0 = TAG_Int(58);
-    array___Array___add(fra.me.REG[2], REGB0);
-    REGB0 = TAG_Int(73);
-    array___Array___add(fra.me.REG[2], REGB0);
-    REGB0 = TAG_Int(70);
-    array___Array___add(fra.me.REG[2], REGB0);
-    REGB0 = TAG_Int(75);
-    array___Array___add(fra.me.REG[2], REGB0);
-    REGB0 = TAG_Int(78);
-    array___Array___add(fra.me.REG[2], REGB0);
-    REGB0 = TAG_Int(78);
-    array___Array___add(fra.me.REG[2], REGB0);
-    REGB0 = TAG_Int(78);
-    array___Array___add(fra.me.REG[2], REGB0);
-    REGB0 = TAG_Int(78);
-    array___Array___add(fra.me.REG[2], REGB0);
-    REGB0 = TAG_Int(80);
-    array___Array___add(fra.me.REG[2], REGB0);
-    REGB0 = TAG_Int(79);
-    array___Array___add(fra.me.REG[2], REGB0);
-    REGB0 = TAG_Int(79);
-    array___Array___add(fra.me.REG[2], REGB0);
-    REGB0 = TAG_Int(79);
-    array___Array___add(fra.me.REG[2], REGB0);
-    REGB0 = TAG_Int(79);
-    array___Array___add(fra.me.REG[2], REGB0);
-    REGB0 = TAG_Int(79);
-    array___Array___add(fra.me.REG[2], REGB0);
-    REGB0 = TAG_Int(79);
-    array___Array___add(fra.me.REG[2], REGB0);
-    REGB0 = TAG_Int(48);
-    array___Array___add(fra.me.REG[2], REGB0);
-    REGB0 = TAG_Int(79);
-    array___Array___add(fra.me.REG[2], REGB0);
-    REGB0 = TAG_Int(79);
-    array___Array___add(fra.me.REG[2], REGB0);
-    REGB0 = TAG_Int(79);
-    array___Array___add(fra.me.REG[2], REGB0);
-    REGB0 = TAG_Int(16);
-    array___Array___add(fra.me.REG[2], REGB0);
-    REGB0 = TAG_Int(79);
-    array___Array___add(fra.me.REG[2], REGB0);
-    REGB0 = TAG_Int(79);
-    array___Array___add(fra.me.REG[2], REGB0);
-    REGB0 = TAG_Int(79);
-    array___Array___add(fra.me.REG[2], REGB0);
-    REGB0 = TAG_Int(79);
-    array___Array___add(fra.me.REG[2], REGB0);
-    REGB0 = TAG_Int(79);
-    array___Array___add(fra.me.REG[2], REGB0);
-    REGB0 = TAG_Int(79);
-    array___Array___add(fra.me.REG[2], REGB0);
-    REGB0 = TAG_Int(25);
-    array___Array___add(fra.me.REG[2], REGB0);
-    REGB0 = TAG_Int(79);
-    array___Array___add(fra.me.REG[2], REGB0);
-    REGB0 = TAG_Int(31);
-    array___Array___add(fra.me.REG[2], REGB0);
-    REGB0 = TAG_Int(15);
-    array___Array___add(fra.me.REG[2], REGB0);
-    REGB0 = TAG_Int(79);
-    array___Array___add(fra.me.REG[2], REGB0);
-    REGB0 = TAG_Int(79);
-    array___Array___add(fra.me.REG[2], REGB0);
-    REGB0 = TAG_Int(79);
-    array___Array___add(fra.me.REG[2], REGB0);
-    REGB0 = TAG_Int(79);
-    array___Array___add(fra.me.REG[2], REGB0);
-    REGB0 = TAG_Int(79);
-    array___Array___add(fra.me.REG[2], REGB0);
-    REGB0 = TAG_Int(79);
-    array___Array___add(fra.me.REG[2], REGB0);
-    REGB0 = TAG_Int(33);
-    array___Array___add(fra.me.REG[2], REGB0);
-    REGB0 = TAG_Int(79);
-    array___Array___add(fra.me.REG[2], REGB0);
-    REGB0 = TAG_Int(79);
-    array___Array___add(fra.me.REG[2], REGB0);
-    REGB0 = TAG_Int(79);
-    array___Array___add(fra.me.REG[2], REGB0);
-    REGB0 = TAG_Int(79);
-    array___Array___add(fra.me.REG[2], REGB0);
-    REGB0 = TAG_Int(79);
-    array___Array___add(fra.me.REG[2], REGB0);
-    REGB0 = TAG_Int(79);
-    array___Array___add(fra.me.REG[2], REGB0);
-    REGB0 = TAG_Int(79);
-    array___Array___add(fra.me.REG[2], REGB0);
-    REGB0 = TAG_Int(79);
-    array___Array___add(fra.me.REG[2], REGB0);
-    REGB0 = TAG_Int(79);
-    array___Array___add(fra.me.REG[2], REGB0);
-    REGB0 = TAG_Int(79);
-    array___Array___add(fra.me.REG[2], REGB0);
-    REGB0 = TAG_Int(79);
-    array___Array___add(fra.me.REG[2], REGB0);
-    REGB0 = TAG_Int(79);
-    array___Array___add(fra.me.REG[2], REGB0);
-    REGB0 = TAG_Int(79);
-    array___Array___add(fra.me.REG[2], REGB0);
-    REGB0 = TAG_Int(1);
-    REGB0 = TAG_Int(-UNTAG_Int(REGB0));
-    /* ./parser//lexer.nit:3320 */
-    array___Array___add(fra.me.REG[2], REGB0);
-    REGB0 = TAG_Int(87);
-    array___Array___add(fra.me.REG[2], REGB0);
-    REGB0 = TAG_Int(1);
-    REGB0 = TAG_Int(-UNTAG_Int(REGB0));
-    /* ./parser//lexer.nit:3320 */
-    array___Array___add(fra.me.REG[2], REGB0);
-    REGB0 = TAG_Int(86);
-    array___Array___add(fra.me.REG[2], REGB0);
-    REGB0 = TAG_Int(1);
-    REGB0 = TAG_Int(-UNTAG_Int(REGB0));
-    /* ./parser//lexer.nit:3320 */
-    array___Array___add(fra.me.REG[2], REGB0);
-    REGB0 = TAG_Int(2);
-    array___Array___add(fra.me.REG[2], REGB0);
-    REGB0 = TAG_Int(62);
-    array___Array___add(fra.me.REG[2], REGB0);
-    REGB0 = TAG_Int(76);
-    array___Array___add(fra.me.REG[2], REGB0);
-    REGB0 = TAG_Int(80);
-    array___Array___add(fra.me.REG[2], REGB0);
-    REGB0 = TAG_Int(80);
-    array___Array___add(fra.me.REG[2], REGB0);
-    REGB0 = TAG_Int(80);
-    array___Array___add(fra.me.REG[2], REGB0);
-    REGB0 = TAG_Int(80);
-    array___Array___add(fra.me.REG[2], REGB0);
-    REGB0 = TAG_Int(79);
-    array___Array___add(fra.me.REG[2], REGB0);
-    REGB0 = TAG_Int(79);
-    array___Array___add(fra.me.REG[2], REGB0);
-    REGB0 = TAG_Int(32);
-    array___Array___add(fra.me.REG[2], REGB0);
-    REGB0 = TAG_Int(79);
-    array___Array___add(fra.me.REG[2], REGB0);
-    REGB0 = TAG_Int(79);
-    array___Array___add(fra.me.REG[2], REGB0);
-    REGB0 = TAG_Int(79);
-    array___Array___add(fra.me.REG[2], REGB0);
-    REGB0 = TAG_Int(79);
-    array___Array___add(fra.me.REG[2], REGB0);
-    REGB0 = TAG_Int(79);
-    array___Array___add(fra.me.REG[2], REGB0);
-    REGB0 = TAG_Int(10);
-    array___Array___add(fra.me.REG[2], REGB0);
-    REGB0 = TAG_Int(79);
-    array___Array___add(fra.me.REG[2], REGB0);
-    REGB0 = TAG_Int(79);
-    array___Array___add(fra.me.REG[2], REGB0);
-    REGB0 = TAG_Int(30);
-    array___Array___add(fra.me.REG[2], REGB0);
-    REGB0 = TAG_Int(11);
-    array___Array___add(fra.me.REG[2], REGB0);
-    REGB0 = TAG_Int(79);
-    array___Array___add(fra.me.REG[2], REGB0);
-    REGB0 = TAG_Int(79);
-    array___Array___add(fra.me.REG[2], REGB0);
-    REGB0 = TAG_Int(79);
-    array___Array___add(fra.me.REG[2], REGB0);
-    REGB0 = TAG_Int(41);
-    array___Array___add(fra.me.REG[2], REGB0);
-    REGB0 = TAG_Int(79);
-    array___Array___add(fra.me.REG[2], REGB0);
-    REGB0 = TAG_Int(79);
-    array___Array___add(fra.me.REG[2], REGB0);
-    REGB0 = TAG_Int(79);
-    array___Array___add(fra.me.REG[2], REGB0);
-    REGB0 = TAG_Int(40);
-    array___Array___add(fra.me.REG[2], REGB0);
-    REGB0 = TAG_Int(34);
-    array___Array___add(fra.me.REG[2], REGB0);
-    REGB0 = TAG_Int(79);
-    array___Array___add(fra.me.REG[2], REGB0);
-    REGB0 = TAG_Int(79);
-    array___Array___add(fra.me.REG[2], REGB0);
-    REGB0 = TAG_Int(79);
-    array___Array___add(fra.me.REG[2], REGB0);
-    REGB0 = TAG_Int(79);
-    array___Array___add(fra.me.REG[2], REGB0);
-    REGB0 = TAG_Int(79);
-    array___Array___add(fra.me.REG[2], REGB0);
-    REGB0 = TAG_Int(79);
-    array___Array___add(fra.me.REG[2], REGB0);
-    REGB0 = TAG_Int(79);
-    array___Array___add(fra.me.REG[2], REGB0);
-    REGB0 = TAG_Int(79);
-    array___Array___add(fra.me.REG[2], REGB0);
-    REGB0 = TAG_Int(79);
-    array___Array___add(fra.me.REG[2], REGB0);
-    REGB0 = TAG_Int(79);
-    array___Array___add(fra.me.REG[2], REGB0);
-    REGB0 = TAG_Int(79);
-    array___Array___add(fra.me.REG[2], REGB0);
-    REGB0 = TAG_Int(79);
-    array___Array___add(fra.me.REG[2], REGB0);
-    REGB0 = TAG_Int(79);
-    array___Array___add(fra.me.REG[2], REGB0);
-    REGB0 = TAG_Int(79);
-    array___Array___add(fra.me.REG[2], REGB0);
-    REGB0 = TAG_Int(79);
-    array___Array___add(fra.me.REG[2], REGB0);
-    REGB0 = TAG_Int(19);
-    array___Array___add(fra.me.REG[2], REGB0);
-    REGB0 = TAG_Int(79);
-    array___Array___add(fra.me.REG[2], REGB0);
-    REGB0 = TAG_Int(79);
-    array___Array___add(fra.me.REG[2], REGB0);
-    REGB0 = TAG_Int(1);
-    REGB0 = TAG_Int(-UNTAG_Int(REGB0));
-    /* ./parser//lexer.nit:3320 */
-    array___Array___add(fra.me.REG[2], REGB0);
-    REGB0 = TAG_Int(79);
-    array___Array___add(fra.me.REG[2], REGB0);
-    REGB0 = TAG_Int(79);
-    array___Array___add(fra.me.REG[2], REGB0);
-    REGB0 = TAG_Int(79);
-    array___Array___add(fra.me.REG[2], REGB0);
-    REGB0 = TAG_Int(79);
-    array___Array___add(fra.me.REG[2], REGB0);
-    REGB0 = TAG_Int(79);
-    array___Array___add(fra.me.REG[2], REGB0);
-    REGB0 = TAG_Int(79);
-    array___Array___add(fra.me.REG[2], REGB0);
-    REGB0 = TAG_Int(27);
-    array___Array___add(fra.me.REG[2], REGB0);
-    REGB0 = TAG_Int(79);
-    array___Array___add(fra.me.REG[2], REGB0);
-    REGB0 = TAG_Int(79);
-    array___Array___add(fra.me.REG[2], REGB0);
-    REGB0 = TAG_Int(79);
-    array___Array___add(fra.me.REG[2], REGB0);
-    REGB0 = TAG_Int(13);
-    array___Array___add(fra.me.REG[2], REGB0);
-    REGB0 = TAG_Int(79);
-    array___Array___add(fra.me.REG[2], REGB0);
-    REGB0 = TAG_Int(79);
-    array___Array___add(fra.me.REG[2], REGB0);
-    REGB0 = TAG_Int(79);
-    array___Array___add(fra.me.REG[2], REGB0);
-    REGB0 = TAG_Int(79);
-    array___Array___add(fra.me.REG[2], REGB0);
-    REGB0 = TAG_Int(29);
-    array___Array___add(fra.me.REG[2], REGB0);
-    REGB0 = TAG_Int(47);
-    array___Array___add(fra.me.REG[2], REGB0);
-    REGB0 = TAG_Int(42);
-    array___Array___add(fra.me.REG[2], REGB0);
-    REGB0 = TAG_Int(79);
-    array___Array___add(fra.me.REG[2], REGB0);
-    REGB0 = TAG_Int(79);
-    array___Array___add(fra.me.REG[2], REGB0);
-    REGB0 = TAG_Int(79);
-    array___Array___add(fra.me.REG[2], REGB0);
-    REGB0 = TAG_Int(79);
-    array___Array___add(fra.me.REG[2], REGB0);
-    REGB0 = TAG_Int(79);
-    array___Array___add(fra.me.REG[2], REGB0);
-    REGB0 = TAG_Int(79);
-    array___Array___add(fra.me.REG[2], REGB0);
-    REGB0 = TAG_Int(44);
-    array___Array___add(fra.me.REG[2], REGB0);
-    REGB0 = TAG_Int(79);
-    array___Array___add(fra.me.REG[2], REGB0);
-    REGB0 = TAG_Int(79);
-    array___Array___add(fra.me.REG[2], REGB0);
-    REGB0 = TAG_Int(26);
-    array___Array___add(fra.me.REG[2], REGB0);
-    REGB0 = TAG_Int(45);
-    array___Array___add(fra.me.REG[2], REGB0);
-    REGB0 = TAG_Int(12);
-    array___Array___add(fra.me.REG[2], REGB0);
-    REGB0 = TAG_Int(79);
-    array___Array___add(fra.me.REG[2], REGB0);
-    REGB0 = TAG_Int(79);
-    array___Array___add(fra.me.REG[2], REGB0);
-    REGB0 = TAG_Int(79);
-    array___Array___add(fra.me.REG[2], REGB0);
-    REGB0 = TAG_Int(38);
-    array___Array___add(fra.me.REG[2], REGB0);
-    REGB0 = TAG_Int(79);
-    array___Array___add(fra.me.REG[2], REGB0);
-    REGB0 = TAG_Int(79);
-    array___Array___add(fra.me.REG[2], REGB0);
-    REGB0 = TAG_Int(37);
-    array___Array___add(fra.me.REG[2], REGB0);
-    REGB0 = TAG_Int(5);
-    array___Array___add(fra.me.REG[2], REGB0);
-    REGB0 = TAG_Int(79);
-    array___Array___add(fra.me.REG[2], REGB0);
-    REGB0 = TAG_Int(79);
-    array___Array___add(fra.me.REG[2], REGB0);
-    REGB0 = TAG_Int(46);
-    array___Array___add(fra.me.REG[2], REGB0);
-    REGB0 = TAG_Int(79);
-    array___Array___add(fra.me.REG[2], REGB0);
-    REGB0 = TAG_Int(79);
-    array___Array___add(fra.me.REG[2], REGB0);
-    REGB0 = TAG_Int(79);
-    array___Array___add(fra.me.REG[2], REGB0);
-    REGB0 = TAG_Int(50);
-    array___Array___add(fra.me.REG[2], REGB0);
-    REGB0 = TAG_Int(51);
-    array___Array___add(fra.me.REG[2], REGB0);
-    REGB0 = TAG_Int(79);
-    array___Array___add(fra.me.REG[2], REGB0);
-    REGB0 = TAG_Int(79);
-    array___Array___add(fra.me.REG[2], REGB0);
-    REGB0 = TAG_Int(79);
-    array___Array___add(fra.me.REG[2], REGB0);
-    REGB0 = TAG_Int(79);
-    array___Array___add(fra.me.REG[2], REGB0);
-    REGB0 = TAG_Int(79);
-    array___Array___add(fra.me.REG[2], REGB0);
-    REGB0 = TAG_Int(14);
-    array___Array___add(fra.me.REG[2], REGB0);
-    REGB0 = TAG_Int(79);
-    array___Array___add(fra.me.REG[2], REGB0);
-    REGB0 = TAG_Int(79);
-    array___Array___add(fra.me.REG[2], REGB0);
-    REGB0 = TAG_Int(43);
-    array___Array___add(fra.me.REG[2], REGB0);
-    REGB0 = TAG_Int(79);
-    array___Array___add(fra.me.REG[2], REGB0);
-    REGB0 = TAG_Int(28);
-    array___Array___add(fra.me.REG[2], REGB0);
-    REGB0 = TAG_Int(79);
-    array___Array___add(fra.me.REG[2], REGB0);
-    REGB0 = TAG_Int(79);
-    array___Array___add(fra.me.REG[2], REGB0);
-    REGB0 = TAG_Int(39);
-    array___Array___add(fra.me.REG[2], REGB0);
-    REGB0 = TAG_Int(79);
-    array___Array___add(fra.me.REG[2], REGB0);
-    REGB0 = TAG_Int(21);
-    array___Array___add(fra.me.REG[2], REGB0);
-    REGB0 = TAG_Int(4);
-    array___Array___add(fra.me.REG[2], REGB0);
-    REGB0 = TAG_Int(79);
-    array___Array___add(fra.me.REG[2], REGB0);
-    REGB0 = TAG_Int(20);
-    array___Array___add(fra.me.REG[2], REGB0);
-    REGB0 = TAG_Int(79);
-    array___Array___add(fra.me.REG[2], REGB0);
-    REGB0 = TAG_Int(79);
-    array___Array___add(fra.me.REG[2], REGB0);
-    REGB0 = TAG_Int(79);
-    array___Array___add(fra.me.REG[2], REGB0);
-    REGB0 = TAG_Int(79);
-    array___Array___add(fra.me.REG[2], REGB0);
-    REGB0 = TAG_Int(79);
-    array___Array___add(fra.me.REG[2], REGB0);
-    REGB0 = TAG_Int(79);
-    array___Array___add(fra.me.REG[2], REGB0);
-    REGB0 = TAG_Int(35);
-    array___Array___add(fra.me.REG[2], REGB0);
-    REGB0 = TAG_Int(79);
-    array___Array___add(fra.me.REG[2], REGB0);
-    REGB0 = TAG_Int(79);
-    array___Array___add(fra.me.REG[2], REGB0);
-    REGB0 = TAG_Int(79);
-    array___Array___add(fra.me.REG[2], REGB0);
-    REGB0 = TAG_Int(79);
-    array___Array___add(fra.me.REG[2], REGB0);
-    REGB0 = TAG_Int(79);
-    array___Array___add(fra.me.REG[2], REGB0);
-    REGB0 = TAG_Int(79);
-    array___Array___add(fra.me.REG[2], REGB0);
-    REGB0 = TAG_Int(24);
-    array___Array___add(fra.me.REG[2], REGB0);
-    REGB0 = TAG_Int(79);
-    array___Array___add(fra.me.REG[2], REGB0);
-    REGB0 = TAG_Int(3);
-    array___Array___add(fra.me.REG[2], REGB0);
-    REGB0 = TAG_Int(23);
-    array___Array___add(fra.me.REG[2], REGB0);
-    REGB0 = TAG_Int(79);
-    array___Array___add(fra.me.REG[2], REGB0);
-    REGB0 = TAG_Int(79);
-    array___Array___add(fra.me.REG[2], REGB0);
-    REGB0 = TAG_Int(9);
-    array___Array___add(fra.me.REG[2], REGB0);
-    REGB0 = TAG_Int(79);
-    array___Array___add(fra.me.REG[2], REGB0);
-    REGB0 = TAG_Int(79);
-    array___Array___add(fra.me.REG[2], REGB0);
-    REGB0 = TAG_Int(6);
-    array___Array___add(fra.me.REG[2], REGB0);
-    REGB0 = TAG_Int(36);
-    array___Array___add(fra.me.REG[2], REGB0);
-    REGB0 = TAG_Int(79);
-    array___Array___add(fra.me.REG[2], REGB0);
-    REGB0 = TAG_Int(49);
-    array___Array___add(fra.me.REG[2], REGB0);
-    REGB0 = TAG_Int(79);
-    array___Array___add(fra.me.REG[2], REGB0);
-    REGB0 = TAG_Int(17);
-    array___Array___add(fra.me.REG[2], REGB0);
-    REGB0 = TAG_Int(79);
-    array___Array___add(fra.me.REG[2], REGB0);
-    REGB0 = TAG_Int(18);
-    array___Array___add(fra.me.REG[2], REGB0);
-    REGB0 = TAG_Int(7);
-    array___Array___add(fra.me.REG[2], REGB0);
-    REGB0 = TAG_Int(22);
-    array___Array___add(fra.me.REG[2], REGB0);
-    REGB0 = TAG_Int(8);
-    array___Array___add(fra.me.REG[2], REGB0);
-    array___Array___add(fra.me.REG[1], fra.me.REG[2]);
-    /* ./parser//lexer.nit:3318 */
-    once_value_1 = fra.me.REG[1];
-    register_static_object(&once_value_1);
-  } else fra.me.REG[1] = once_value_1;
-  ATTR_lexer___Lexer____accept_table(fra.me.REG[0]) = fra.me.REG[1];
+  REGB0 = p1;
+  /* ./parser//lexer.nit:1692 */
+  REGB1 = TAG_Bool(ATTR_lexer___Lexer____text(fra.me.REG[0])!=NIT_NULL);
+  if (UNTAG_Bool(REGB1)) {
+  } else {
+    nit_abort("Uninitialized attribute %s", "_text", LOCATE_lexer, 1692);
+  }
+  fra.me.REG[1] = ATTR_lexer___Lexer____text(fra.me.REG[0]);
+  /* ./../lib/standard//collection//array.nit:23 */
+  REGB1 = TAG_Bool(ATTR_array___AbstractArrayRead____length(fra.me.REG[1])!=NIT_NULL);
+  if (UNTAG_Bool(REGB1)) {
+  } else {
+    nit_abort("Uninitialized attribute %s", "_length", LOCATE_array, 23);
+  }
+  REGB1 = ATTR_array___AbstractArrayRead____length(fra.me.REG[1]);
+  /* ./parser//lexer.nit:1693 */
+  REGB2 = TAG_Int(1);
+  /* ./../lib/standard//kernel.nit:217 */
+  REGB2 = TAG_Int(UNTAG_Int(REGB1)-UNTAG_Int(REGB2));
+  /* ./parser//lexer.nit:1694 */
+  while(1) {
+    /* ./../lib/standard//kernel.nit:213 */
+    REGB1 = TAG_Bool(UNTAG_Int(REGB2)>=UNTAG_Int(REGB0));
+    /* ./parser//lexer.nit:1694 */
+    if (UNTAG_Bool(REGB1)) {
+      /* ./parser//lexer.nit:1695 */
+      REGB1 = TAG_Bool(false);
+      ATTR_lexer___Lexer____eof(fra.me.REG[0]) = REGB1;
+      /* ./parser//lexer.nit:1696 */
+      REGB1 = TAG_Bool(ATTR_lexer___Lexer____stream_pos(fra.me.REG[0])!=NIT_NULL);
+      if (UNTAG_Bool(REGB1)) {
+      } else {
+        nit_abort("Uninitialized attribute %s", "_stream_pos", LOCATE_lexer, 1696);
+      }
+      REGB1 = ATTR_lexer___Lexer____stream_pos(fra.me.REG[0]);
+      REGB3 = TAG_Int(1);
+      /* ./../lib/standard//kernel.nit:215 */
+      REGB3 = TAG_Int(UNTAG_Int(REGB1)+UNTAG_Int(REGB3));
+      /* ./parser//lexer.nit:1696 */
+      ATTR_lexer___Lexer____stream_pos(fra.me.REG[0]) = REGB3;
+      /* ./parser//lexer.nit:1697 */
+      REGB3 = TAG_Bool(ATTR_lexer___Lexer____stream_buf(fra.me.REG[0])!=NIT_NULL);
+      if (UNTAG_Bool(REGB3)) {
+      } else {
+        nit_abort("Uninitialized attribute %s", "_stream_buf", LOCATE_lexer, 1697);
+      }
+      fra.me.REG[1] = ATTR_lexer___Lexer____stream_buf(fra.me.REG[0]);
+      REGB3 = TAG_Bool(ATTR_lexer___Lexer____stream_pos(fra.me.REG[0])!=NIT_NULL);
+      if (UNTAG_Bool(REGB3)) {
+      } else {
+        nit_abort("Uninitialized attribute %s", "_stream_pos", LOCATE_lexer, 1697);
+      }
+      REGB3 = ATTR_lexer___Lexer____stream_pos(fra.me.REG[0]);
+      REGB1 = TAG_Bool(ATTR_lexer___Lexer____text(fra.me.REG[0])!=NIT_NULL);
+      if (UNTAG_Bool(REGB1)) {
+      } else {
+        nit_abort("Uninitialized attribute %s", "_text", LOCATE_lexer, 1697);
+      }
+      fra.me.REG[2] = ATTR_lexer___Lexer____text(fra.me.REG[0]);
+      REGB1 = CALL_abstract_collection___MapRead_____bra(fra.me.REG[2])(fra.me.REG[2], REGB2);
+      CALL_abstract_collection___Map_____braeq(fra.me.REG[1])(fra.me.REG[1], REGB3, REGB1);
+      /* ./parser//lexer.nit:1698 */
+      REGB1 = TAG_Int(1);
+      /* ./../lib/standard//kernel.nit:217 */
+      REGB1 = TAG_Int(UNTAG_Int(REGB2)-UNTAG_Int(REGB1));
+      /* ./parser//lexer.nit:1698 */
+      REGB2 = REGB1;
+    } else {
+      /* ./parser//lexer.nit:1694 */
+      goto label1;
+    }
+  }
+  label1: while(0);
   stack_frame_head = fra.me.prev;
   return;
 }