parser: `Visitor::visit` does not accepts `null`
[nit.git] / tests / sav / test_parser_args1.res
index bccf533..9902641 100644 (file)
@@ -1,5 +1,5 @@
-../src/test_parser.nit:17,1--111,1
-  ../src/test_parser.nit:17,1--110,3
+../src/test_parser.nit:17,1--110,1
+  ../src/test_parser.nit:17,1--109,3
     ../src/test_parser.nit:17,1--18,19
       ../src/test_parser.nit:17,1--18,0
         '# Program used to test the NIT parser
@@ -12,7 +12,7 @@
       keyword 'import' ... ../src/test_parser.nit:20,1--6
       ../src/test_parser.nit:20,8--13
         identifier 'parser' ... ../src/test_parser.nit:20,8--13
-    ../src/test_parser.nit:22,1--42,3
+    ../src/test_parser.nit:22,1--41,3
       ../src/test_parser.nit:22,1
       ../src/test_parser.nit:22,1--5
         keyword 'class' ... ../src/test_parser.nit:22,1--5
         attribute '_rank' ... ../src/test_parser.nit:24,6--10
         ../src/test_parser.nit:24,13--15
           type identifier 'Int' ... ../src/test_parser.nit:24,13--15
-      ../src/test_parser.nit:25,2--36,4
+      ../src/test_parser.nit:25,2--35,4
         keyword 'redef' ... ../src/test_parser.nit:25,2--6
         ../src/test_parser.nit:25,12
         keyword 'fun' ... ../src/test_parser.nit:25,8--10
         ../src/test_parser.nit:25,12--16
           identifier 'visit' ... ../src/test_parser.nit:25,12--16
-        ../src/test_parser.nit:25,17--35
+        ../src/test_parser.nit:25,17--19
           '(' ... ../src/test_parser.nit:25,17
-          ../src/test_parser.nit:25,18--34
+          ../src/test_parser.nit:25,18
             identifier 'n' ... ../src/test_parser.nit:25,18
-            ../src/test_parser.nit:25,21--34
-              keyword 'nullable' ... ../src/test_parser.nit:25,21--28
-              type identifier 'ANode' ... ../src/test_parser.nit:25,30--34
-          ')' ... ../src/test_parser.nit:25,35
-        ../src/test_parser.nit:27,3--36,4
-          ../src/test_parser.nit:27,3--26
+          ')' ... ../src/test_parser.nit:25,19
+        ../src/test_parser.nit:27,3--35,4
+          ../src/test_parser.nit:27,3--31,5
             keyword 'if' ... ../src/test_parser.nit:27,3--4
-            ../src/test_parser.nit:27,6--14
+            ../src/test_parser.nit:27,6--16
               ../src/test_parser.nit:27,6
                 ../src/test_parser.nit:27,6
                 identifier 'n' ... ../src/test_parser.nit:27,6
                 ../src/test_parser.nit:27,6
-              ../src/test_parser.nit:27,11--14
-                keyword 'null' ... ../src/test_parser.nit:27,11--14
-            ../src/test_parser.nit:27,21--26
-              keyword 'return' ... ../src/test_parser.nit:27,21--26
-          ../src/test_parser.nit:28,3--32,5
-            keyword 'if' ... ../src/test_parser.nit:28,3--4
-            ../src/test_parser.nit:28,6--16
-              ../src/test_parser.nit:28,6
-                ../src/test_parser.nit:28,6
-                identifier 'n' ... ../src/test_parser.nit:28,6
-                ../src/test_parser.nit:28,6
-              ../src/test_parser.nit:28,12--16
-                type identifier 'Token' ... ../src/test_parser.nit:28,12--16
-            ../src/test_parser.nit:29,4--58
-              ../src/test_parser.nit:29,4--58
-                ../src/test_parser.nit:29,11
-                identifier 'printn' ... ../src/test_parser.nit:29,4--9
-                ../src/test_parser.nit:29,10--58
-                  '(' ... ../src/test_parser.nit:29,10
-                  ../src/test_parser.nit:29,11--22
-                    ../src/test_parser.nit:29,11--14
-                      literal value '"  "' ... ../src/test_parser.nit:29,11--14
-                    ../src/test_parser.nit:29,18--22
-                      ../src/test_parser.nit:29,18
-                      attribute '_rank' ... ../src/test_parser.nit:29,18--22
-                  ../src/test_parser.nit:29,25--30
-                    ../src/test_parser.nit:29,25
-                      ../src/test_parser.nit:29,25
-                      identifier 'n' ... ../src/test_parser.nit:29,25
-                      ../src/test_parser.nit:29,25
-                    identifier 'to_s' ... ../src/test_parser.nit:29,27--30
-                    ../src/test_parser.nit:29,25
-                  ../src/test_parser.nit:29,33--39
-                    literal value '" ... "' ... ../src/test_parser.nit:29,33--39
-                  ../src/test_parser.nit:29,42--51
-                    ../src/test_parser.nit:29,42
-                      ../src/test_parser.nit:29,42
-                      identifier 'n' ... ../src/test_parser.nit:29,42
-                      ../src/test_parser.nit:29,42
-                    identifier 'location' ... ../src/test_parser.nit:29,44--51
-                    ../src/test_parser.nit:29,42
-                  ../src/test_parser.nit:29,54--57
-                    literal value '"\n"' ... ../src/test_parser.nit:29,54--57
-                  ')' ... ../src/test_parser.nit:29,58
-            ../src/test_parser.nit:31,4--32,5
-              ../src/test_parser.nit:31,4--41
-                ../src/test_parser.nit:31,11
-                identifier 'printn' ... ../src/test_parser.nit:31,4--9
-                ../src/test_parser.nit:31,10--41
-                  '(' ... ../src/test_parser.nit:31,10
-                  ../src/test_parser.nit:31,11--22
-                    ../src/test_parser.nit:31,11--14
-                      literal value '"  "' ... ../src/test_parser.nit:31,11--14
-                    ../src/test_parser.nit:31,18--22
-                      ../src/test_parser.nit:31,18
-                      attribute '_rank' ... ../src/test_parser.nit:31,18--22
-                  ../src/test_parser.nit:31,25--34
-                    ../src/test_parser.nit:31,25
-                      ../src/test_parser.nit:31,25
-                      identifier 'n' ... ../src/test_parser.nit:31,25
-                      ../src/test_parser.nit:31,25
-                    identifier 'location' ... ../src/test_parser.nit:31,27--34
-                    ../src/test_parser.nit:31,25
-                  ../src/test_parser.nit:31,37--40
-                    literal value '"\n"' ... ../src/test_parser.nit:31,37--40
-                  ')' ... ../src/test_parser.nit:31,41
-              keyword 'end' ... ../src/test_parser.nit:32,3--5
+              ../src/test_parser.nit:27,12--16
+                type identifier 'Token' ... ../src/test_parser.nit:27,12--16
+            ../src/test_parser.nit:28,4--58
+              ../src/test_parser.nit:28,4--58
+                ../src/test_parser.nit:28,11
+                identifier 'printn' ... ../src/test_parser.nit:28,4--9
+                ../src/test_parser.nit:28,10--58
+                  '(' ... ../src/test_parser.nit:28,10
+                  ../src/test_parser.nit:28,11--22
+                    ../src/test_parser.nit:28,11--14
+                      literal value '"  "' ... ../src/test_parser.nit:28,11--14
+                    ../src/test_parser.nit:28,18--22
+                      ../src/test_parser.nit:28,18
+                      attribute '_rank' ... ../src/test_parser.nit:28,18--22
+                  ../src/test_parser.nit:28,25--30
+                    ../src/test_parser.nit:28,25
+                      ../src/test_parser.nit:28,25
+                      identifier 'n' ... ../src/test_parser.nit:28,25
+                      ../src/test_parser.nit:28,25
+                    identifier 'to_s' ... ../src/test_parser.nit:28,27--30
+                    ../src/test_parser.nit:28,25
+                  ../src/test_parser.nit:28,33--39
+                    literal value '" ... "' ... ../src/test_parser.nit:28,33--39
+                  ../src/test_parser.nit:28,42--51
+                    ../src/test_parser.nit:28,42
+                      ../src/test_parser.nit:28,42
+                      identifier 'n' ... ../src/test_parser.nit:28,42
+                      ../src/test_parser.nit:28,42
+                    identifier 'location' ... ../src/test_parser.nit:28,44--51
+                    ../src/test_parser.nit:28,42
+                  ../src/test_parser.nit:28,54--57
+                    literal value '"\n"' ... ../src/test_parser.nit:28,54--57
+                  ')' ... ../src/test_parser.nit:28,58
+            ../src/test_parser.nit:30,4--31,5
+              ../src/test_parser.nit:30,4--41
+                ../src/test_parser.nit:30,11
+                identifier 'printn' ... ../src/test_parser.nit:30,4--9
+                ../src/test_parser.nit:30,10--41
+                  '(' ... ../src/test_parser.nit:30,10
+                  ../src/test_parser.nit:30,11--22
+                    ../src/test_parser.nit:30,11--14
+                      literal value '"  "' ... ../src/test_parser.nit:30,11--14
+                    ../src/test_parser.nit:30,18--22
+                      ../src/test_parser.nit:30,18
+                      attribute '_rank' ... ../src/test_parser.nit:30,18--22
+                  ../src/test_parser.nit:30,25--34
+                    ../src/test_parser.nit:30,25
+                      ../src/test_parser.nit:30,25
+                      identifier 'n' ... ../src/test_parser.nit:30,25
+                      ../src/test_parser.nit:30,25
+                    identifier 'location' ... ../src/test_parser.nit:30,27--34
+                    ../src/test_parser.nit:30,25
+                  ../src/test_parser.nit:30,37--40
+                    literal value '"\n"' ... ../src/test_parser.nit:30,37--40
+                  ')' ... ../src/test_parser.nit:30,41
+              keyword 'end' ... ../src/test_parser.nit:31,3--5
+          ../src/test_parser.nit:32,3--19
+            ../src/test_parser.nit:32,11
+            attribute '_rank' ... ../src/test_parser.nit:32,3--7
+            '=' ... ../src/test_parser.nit:32,9
+            ../src/test_parser.nit:32,11--19
+              ../src/test_parser.nit:32,11--15
+                ../src/test_parser.nit:32,11
+                attribute '_rank' ... ../src/test_parser.nit:32,11--15
+              ../src/test_parser.nit:32,19
+                literal value '1' ... ../src/test_parser.nit:32,19
           ../src/test_parser.nit:33,3--19
-            ../src/test_parser.nit:33,11
-            attribute '_rank' ... ../src/test_parser.nit:33,3--7
-            '=' ... ../src/test_parser.nit:33,9
-            ../src/test_parser.nit:33,11--19
-              ../src/test_parser.nit:33,11--15
-                ../src/test_parser.nit:33,11
-                attribute '_rank' ... ../src/test_parser.nit:33,11--15
-              ../src/test_parser.nit:33,19
-                literal value '1' ... ../src/test_parser.nit:33,19
+            ../src/test_parser.nit:33,3
+              ../src/test_parser.nit:33,3
+              identifier 'n' ... ../src/test_parser.nit:33,3
+              ../src/test_parser.nit:33,3
+            identifier 'visit_all' ... ../src/test_parser.nit:33,5--13
+            ../src/test_parser.nit:33,14--19
+              '(' ... ../src/test_parser.nit:33,14
+              ../src/test_parser.nit:33,15--18
+                keyword 'self' ... ../src/test_parser.nit:33,15--18
+              ')' ... ../src/test_parser.nit:33,19
           ../src/test_parser.nit:34,3--19
-            ../src/test_parser.nit:34,3
-              ../src/test_parser.nit:34,3
-              identifier 'n' ... ../src/test_parser.nit:34,3
-              ../src/test_parser.nit:34,3
-            identifier 'visit_all' ... ../src/test_parser.nit:34,5--13
-            ../src/test_parser.nit:34,14--19
-              '(' ... ../src/test_parser.nit:34,14
-              ../src/test_parser.nit:34,15--18
-                keyword 'self' ... ../src/test_parser.nit:34,15--18
-              ')' ... ../src/test_parser.nit:34,19
-          ../src/test_parser.nit:35,3--19
-            ../src/test_parser.nit:35,11
-            attribute '_rank' ... ../src/test_parser.nit:35,3--7
-            '=' ... ../src/test_parser.nit:35,9
-            ../src/test_parser.nit:35,11--19
-              ../src/test_parser.nit:35,11--15
-                ../src/test_parser.nit:35,11
-                attribute '_rank' ... ../src/test_parser.nit:35,11--15
-              ../src/test_parser.nit:35,19
-                literal value '1' ... ../src/test_parser.nit:35,19
-          keyword 'end' ... ../src/test_parser.nit:36,2--4
-      ../src/test_parser.nit:38,2--41,4
-        ../src/test_parser.nit:40,11
-        keyword 'init' ... ../src/test_parser.nit:38,2--5
-        ../src/test_parser.nit:40,11
-        ../src/test_parser.nit:40,3--41,4
-          ../src/test_parser.nit:40,3--11
-            ../src/test_parser.nit:40,11
-            attribute '_rank' ... ../src/test_parser.nit:40,3--7
-            '=' ... ../src/test_parser.nit:40,9
-            ../src/test_parser.nit:40,11
-              literal value '0' ... ../src/test_parser.nit:40,11
-          keyword 'end' ... ../src/test_parser.nit:41,2--4
-      keyword 'end' ... ../src/test_parser.nit:42,1--3
-    ../src/test_parser.nit:44,1--110,3
-      ../src/test_parser.nit:44,1--110,3
-        ../src/test_parser.nit:44,1--110,3
-          ../src/test_parser.nit:44,1--20
+            ../src/test_parser.nit:34,11
+            attribute '_rank' ... ../src/test_parser.nit:34,3--7
+            '=' ... ../src/test_parser.nit:34,9
+            ../src/test_parser.nit:34,11--19
+              ../src/test_parser.nit:34,11--15
+                ../src/test_parser.nit:34,11
+                attribute '_rank' ... ../src/test_parser.nit:34,11--15
+              ../src/test_parser.nit:34,19
+                literal value '1' ... ../src/test_parser.nit:34,19
+          keyword 'end' ... ../src/test_parser.nit:35,2--4
+      ../src/test_parser.nit:37,2--40,4
+        ../src/test_parser.nit:39,11
+        keyword 'init' ... ../src/test_parser.nit:37,2--5
+        ../src/test_parser.nit:39,11
+        ../src/test_parser.nit:39,3--40,4
+          ../src/test_parser.nit:39,3--11
+            ../src/test_parser.nit:39,11
+            attribute '_rank' ... ../src/test_parser.nit:39,3--7
+            '=' ... ../src/test_parser.nit:39,9
+            ../src/test_parser.nit:39,11
+              literal value '0' ... ../src/test_parser.nit:39,11
+          keyword 'end' ... ../src/test_parser.nit:40,2--4
+      keyword 'end' ... ../src/test_parser.nit:41,1--3
+    ../src/test_parser.nit:43,1--109,3
+      ../src/test_parser.nit:43,1--109,3
+        ../src/test_parser.nit:43,1--109,3
+          ../src/test_parser.nit:43,1--20
+            keyword 'var' ... ../src/test_parser.nit:43,1--3
+            identifier 'no_print' ... ../src/test_parser.nit:43,5--12
+            '=' ... ../src/test_parser.nit:43,14
+            ../src/test_parser.nit:43,16--20
+              keyword 'false' ... ../src/test_parser.nit:43,16--20
+          ../src/test_parser.nit:44,1--22
             keyword 'var' ... ../src/test_parser.nit:44,1--3
-            identifier 'no_print' ... ../src/test_parser.nit:44,5--12
-            '=' ... ../src/test_parser.nit:44,14
-            ../src/test_parser.nit:44,16--20
-              keyword 'false' ... ../src/test_parser.nit:44,16--20
-          ../src/test_parser.nit:45,1--22
+            identifier 'only_lexer' ... ../src/test_parser.nit:44,5--14
+            '=' ... ../src/test_parser.nit:44,16
+            ../src/test_parser.nit:44,18--22
+              keyword 'false' ... ../src/test_parser.nit:44,18--22
+          ../src/test_parser.nit:45,1--21
             keyword 'var' ... ../src/test_parser.nit:45,1--3
-            identifier 'only_lexer' ... ../src/test_parser.nit:45,5--14
-            '=' ... ../src/test_parser.nit:45,16
-            ../src/test_parser.nit:45,18--22
-              keyword 'false' ... ../src/test_parser.nit:45,18--22
-          ../src/test_parser.nit:46,1--21
+            identifier 'need_help' ... ../src/test_parser.nit:45,5--13
+            '=' ... ../src/test_parser.nit:45,15
+            ../src/test_parser.nit:45,17--21
+              keyword 'false' ... ../src/test_parser.nit:45,17--21
+          ../src/test_parser.nit:46,1--19
             keyword 'var' ... ../src/test_parser.nit:46,1--3
-            identifier 'need_help' ... ../src/test_parser.nit:46,5--13
-            '=' ... ../src/test_parser.nit:46,15
-            ../src/test_parser.nit:46,17--21
-              keyword 'false' ... ../src/test_parser.nit:46,17--21
-          ../src/test_parser.nit:47,1--19
-            keyword 'var' ... ../src/test_parser.nit:47,1--3
-            identifier 'no_file' ... ../src/test_parser.nit:47,5--11
-            '=' ... ../src/test_parser.nit:47,13
-            ../src/test_parser.nit:47,15--19
-              keyword 'false' ... ../src/test_parser.nit:47,15--19
-          ../src/test_parser.nit:49,1--65,3
-            keyword 'while' ... ../src/test_parser.nit:49,1--5
-            ../src/test_parser.nit:49,7--51
-              ../src/test_parser.nit:49,7--23
-                keyword 'not' ... ../src/test_parser.nit:49,7--9
-                ../src/test_parser.nit:49,11--23
-                  ../src/test_parser.nit:49,11--14
-                    ../src/test_parser.nit:49,11
-                    identifier 'args' ... ../src/test_parser.nit:49,11--14
-                    ../src/test_parser.nit:49,11
-                  identifier 'is_empty' ... ../src/test_parser.nit:49,16--23
-                  ../src/test_parser.nit:49,11
-              ../src/test_parser.nit:49,29--51
-                ../src/test_parser.nit:49,29--44
-                  ../src/test_parser.nit:49,29--38
-                    ../src/test_parser.nit:49,29--32
-                      ../src/test_parser.nit:49,29
-                      identifier 'args' ... ../src/test_parser.nit:49,29--32
-                      ../src/test_parser.nit:49,29
-                    identifier 'first' ... ../src/test_parser.nit:49,34--38
-                    ../src/test_parser.nit:49,29
-                  identifier 'first' ... ../src/test_parser.nit:49,40--44
-                  ../src/test_parser.nit:49,29
-                ../src/test_parser.nit:49,49--51
-                  literal value ''-'' ... ../src/test_parser.nit:49,49--51
-            keyword 'do' ... ../src/test_parser.nit:49,53--54
-            ../src/test_parser.nit:50,2--65,3
-              ../src/test_parser.nit:50,2--63,4
-                keyword 'if' ... ../src/test_parser.nit:50,2--3
-                ../src/test_parser.nit:50,5--22
-                  ../src/test_parser.nit:50,5--14
-                    ../src/test_parser.nit:50,5--8
-                      ../src/test_parser.nit:50,5
-                      identifier 'args' ... ../src/test_parser.nit:50,5--8
-                      ../src/test_parser.nit:50,5
-                    identifier 'first' ... ../src/test_parser.nit:50,10--14
-                    ../src/test_parser.nit:50,5
-                  ../src/test_parser.nit:50,19--22
-                    literal value '"-n"' ... ../src/test_parser.nit:50,19--22
-                ../src/test_parser.nit:51,3--17
-                  ../src/test_parser.nit:51,3--17
-                    ../src/test_parser.nit:51,14
-                    identifier 'no_print' ... ../src/test_parser.nit:51,3--10
-                    ../src/test_parser.nit:51,14
-                    '=' ... ../src/test_parser.nit:51,12
-                    ../src/test_parser.nit:51,14--17
-                      keyword 'true' ... ../src/test_parser.nit:51,14--17
-                ../src/test_parser.nit:52,7--63,4
-                  keyword 'if' ... ../src/test_parser.nit:52,7--8
-                  ../src/test_parser.nit:52,10--27
-                    ../src/test_parser.nit:52,10--19
-                      ../src/test_parser.nit:52,10--13
-                        ../src/test_parser.nit:52,10
-                        identifier 'args' ... ../src/test_parser.nit:52,10--13
-                        ../src/test_parser.nit:52,10
-                      identifier 'first' ... ../src/test_parser.nit:52,15--19
-                      ../src/test_parser.nit:52,10
-                    ../src/test_parser.nit:52,24--27
-                      literal value '"-l"' ... ../src/test_parser.nit:52,24--27
-                  ../src/test_parser.nit:53,3--19
-                    ../src/test_parser.nit:53,3--19
-                      ../src/test_parser.nit:53,16
-                      identifier 'only_lexer' ... ../src/test_parser.nit:53,3--12
-                      ../src/test_parser.nit:53,16
-                      '=' ... ../src/test_parser.nit:53,14
-                      ../src/test_parser.nit:53,16--19
-                        keyword 'true' ... ../src/test_parser.nit:53,16--19
-                  ../src/test_parser.nit:54,7--63,4
-                    keyword 'if' ... ../src/test_parser.nit:54,7--8
-                    ../src/test_parser.nit:54,10--27
-                      ../src/test_parser.nit:54,10--19
-                        ../src/test_parser.nit:54,10--13
-                          ../src/test_parser.nit:54,10
-                          identifier 'args' ... ../src/test_parser.nit:54,10--13
-                          ../src/test_parser.nit:54,10
-                        identifier 'first' ... ../src/test_parser.nit:54,15--19
-                        ../src/test_parser.nit:54,10
-                      ../src/test_parser.nit:54,24--27
-                        literal value '"-p"' ... ../src/test_parser.nit:54,24--27
-                    ../src/test_parser.nit:55,3--20
-                      ../src/test_parser.nit:55,3--20
-                        ../src/test_parser.nit:55,16
-                        identifier 'only_lexer' ... ../src/test_parser.nit:55,3--12
-                        ../src/test_parser.nit:55,16
-                        '=' ... ../src/test_parser.nit:55,14
-                        ../src/test_parser.nit:55,16--20
-                          keyword 'false' ... ../src/test_parser.nit:55,16--20
-                    ../src/test_parser.nit:56,7--63,4
-                      keyword 'if' ... ../src/test_parser.nit:56,7--8
-                      ../src/test_parser.nit:56,10--27
-                        ../src/test_parser.nit:56,10--19
-                          ../src/test_parser.nit:56,10--13
-                            ../src/test_parser.nit:56,10
-                            identifier 'args' ... ../src/test_parser.nit:56,10--13
-                            ../src/test_parser.nit:56,10
-                          identifier 'first' ... ../src/test_parser.nit:56,15--19
-                          ../src/test_parser.nit:56,10
-                        ../src/test_parser.nit:56,24--27
-                          literal value '"-e"' ... ../src/test_parser.nit:56,24--27
-                      ../src/test_parser.nit:57,3--16
-                        ../src/test_parser.nit:57,3--16
-                          ../src/test_parser.nit:57,13
-                          identifier 'no_file' ... ../src/test_parser.nit:57,3--9
-                          ../src/test_parser.nit:57,13
-                          '=' ... ../src/test_parser.nit:57,11
-                          ../src/test_parser.nit:57,13--16
-                            keyword 'true' ... ../src/test_parser.nit:57,13--16
-                      ../src/test_parser.nit:58,7--63,4
-                        keyword 'if' ... ../src/test_parser.nit:58,7--8
-                        ../src/test_parser.nit:58,10--49
-                          ../src/test_parser.nit:58,10--27
-                            ../src/test_parser.nit:58,10--19
-                              ../src/test_parser.nit:58,10--13
-                                ../src/test_parser.nit:58,10
-                                identifier 'args' ... ../src/test_parser.nit:58,10--13
-                                ../src/test_parser.nit:58,10
-                              identifier 'first' ... ../src/test_parser.nit:58,15--19
-                              ../src/test_parser.nit:58,10
-                            ../src/test_parser.nit:58,24--27
-                              literal value '"-h"' ... ../src/test_parser.nit:58,24--27
-                          ../src/test_parser.nit:58,32--49
-                            ../src/test_parser.nit:58,32--41
-                              ../src/test_parser.nit:58,32--35
-                                ../src/test_parser.nit:58,32
-                                identifier 'args' ... ../src/test_parser.nit:58,32--35
-                                ../src/test_parser.nit:58,32
-                              identifier 'first' ... ../src/test_parser.nit:58,37--41
-                              ../src/test_parser.nit:58,32
-                            ../src/test_parser.nit:58,46--49
-                              literal value '"-?"' ... ../src/test_parser.nit:58,46--49
-                        ../src/test_parser.nit:59,3--18
-                          ../src/test_parser.nit:59,3--18
-                            ../src/test_parser.nit:59,15
-                            identifier 'need_help' ... ../src/test_parser.nit:59,3--11
-                            ../src/test_parser.nit:59,15
-                            '=' ... ../src/test_parser.nit:59,13
-                            ../src/test_parser.nit:59,15--18
-                              keyword 'true' ... ../src/test_parser.nit:59,15--18
-                        ../src/test_parser.nit:61,3--63,4
-                          ../src/test_parser.nit:61,3--48
-                            ../src/test_parser.nit:61,3--8
-                              ../src/test_parser.nit:61,3
-                              identifier 'stderr' ... ../src/test_parser.nit:61,3--8
-                              ../src/test_parser.nit:61,3
-                            identifier 'write' ... ../src/test_parser.nit:61,10--14
-                            ../src/test_parser.nit:61,15--48
-                              '(' ... ../src/test_parser.nit:61,15
-                              ../src/test_parser.nit:61,16--47
-                                ../src/test_parser.nit:61,16--32
-                                  literal value '"Unknown option {' ... ../src/test_parser.nit:61,16--32
-                                ../src/test_parser.nit:61,33--42
-                                  ../src/test_parser.nit:61,33--36
-                                    ../src/test_parser.nit:61,33
-                                    identifier 'args' ... ../src/test_parser.nit:61,33--36
-                                    ../src/test_parser.nit:61,33
-                                  identifier 'first' ... ../src/test_parser.nit:61,38--42
-                                  ../src/test_parser.nit:61,33
-                                ../src/test_parser.nit:61,43--47
-                                  '}.\n"' ... ../src/test_parser.nit:61,43--47
-                              ')' ... ../src/test_parser.nit:61,48
-                          ../src/test_parser.nit:62,3--9
-                            ../src/test_parser.nit:62,8
-                            identifier 'exit' ... ../src/test_parser.nit:62,3--6
-                            ../src/test_parser.nit:62,7--9
-                              '(' ... ../src/test_parser.nit:62,7
-                              ../src/test_parser.nit:62,8
-                                literal value '0' ... ../src/test_parser.nit:62,8
-                              ')' ... ../src/test_parser.nit:62,9
-                          keyword 'end' ... ../src/test_parser.nit:63,2--4
-              ../src/test_parser.nit:64,2--11
-                ../src/test_parser.nit:64,2--5
-                  ../src/test_parser.nit:64,2
-                  identifier 'args' ... ../src/test_parser.nit:64,2--5
-                  ../src/test_parser.nit:64,2
-                identifier 'shift' ... ../src/test_parser.nit:64,7--11
-                ../src/test_parser.nit:64,2
-              keyword 'end' ... ../src/test_parser.nit:65,1--3
-          ../src/test_parser.nit:67,1--110,3
-            keyword 'if' ... ../src/test_parser.nit:67,1--2
-            ../src/test_parser.nit:67,4--29
-              ../src/test_parser.nit:67,4--16
-                ../src/test_parser.nit:67,4--7
-                  ../src/test_parser.nit:67,4
-                  identifier 'args' ... ../src/test_parser.nit:67,4--7
-                  ../src/test_parser.nit:67,4
-                identifier 'is_empty' ... ../src/test_parser.nit:67,9--16
-                ../src/test_parser.nit:67,4
-              ../src/test_parser.nit:67,21--29
-                ../src/test_parser.nit:67,21
-                identifier 'need_help' ... ../src/test_parser.nit:67,21--29
-                ../src/test_parser.nit:67,21
-            ../src/test_parser.nit:68,2--75,30
-              ../src/test_parser.nit:68,2--16
+            identifier 'no_file' ... ../src/test_parser.nit:46,5--11
+            '=' ... ../src/test_parser.nit:46,13
+            ../src/test_parser.nit:46,15--19
+              keyword 'false' ... ../src/test_parser.nit:46,15--19
+          ../src/test_parser.nit:48,1--64,3
+            keyword 'while' ... ../src/test_parser.nit:48,1--5
+            ../src/test_parser.nit:48,7--51
+              ../src/test_parser.nit:48,7--23
+                keyword 'not' ... ../src/test_parser.nit:48,7--9
+                ../src/test_parser.nit:48,11--23
+                  ../src/test_parser.nit:48,11--14
+                    ../src/test_parser.nit:48,11
+                    identifier 'args' ... ../src/test_parser.nit:48,11--14
+                    ../src/test_parser.nit:48,11
+                  identifier 'is_empty' ... ../src/test_parser.nit:48,16--23
+                  ../src/test_parser.nit:48,11
+              ../src/test_parser.nit:48,29--51
+                ../src/test_parser.nit:48,29--44
+                  ../src/test_parser.nit:48,29--38
+                    ../src/test_parser.nit:48,29--32
+                      ../src/test_parser.nit:48,29
+                      identifier 'args' ... ../src/test_parser.nit:48,29--32
+                      ../src/test_parser.nit:48,29
+                    identifier 'first' ... ../src/test_parser.nit:48,34--38
+                    ../src/test_parser.nit:48,29
+                  identifier 'first' ... ../src/test_parser.nit:48,40--44
+                  ../src/test_parser.nit:48,29
+                ../src/test_parser.nit:48,49--51
+                  literal value ''-'' ... ../src/test_parser.nit:48,49--51
+            keyword 'do' ... ../src/test_parser.nit:48,53--54
+            ../src/test_parser.nit:49,2--64,3
+              ../src/test_parser.nit:49,2--62,4
+                keyword 'if' ... ../src/test_parser.nit:49,2--3
+                ../src/test_parser.nit:49,5--22
+                  ../src/test_parser.nit:49,5--14
+                    ../src/test_parser.nit:49,5--8
+                      ../src/test_parser.nit:49,5
+                      identifier 'args' ... ../src/test_parser.nit:49,5--8
+                      ../src/test_parser.nit:49,5
+                    identifier 'first' ... ../src/test_parser.nit:49,10--14
+                    ../src/test_parser.nit:49,5
+                  ../src/test_parser.nit:49,19--22
+                    literal value '"-n"' ... ../src/test_parser.nit:49,19--22
+                ../src/test_parser.nit:50,3--17
+                  ../src/test_parser.nit:50,3--17
+                    ../src/test_parser.nit:50,14
+                    identifier 'no_print' ... ../src/test_parser.nit:50,3--10
+                    ../src/test_parser.nit:50,14
+                    '=' ... ../src/test_parser.nit:50,12
+                    ../src/test_parser.nit:50,14--17
+                      keyword 'true' ... ../src/test_parser.nit:50,14--17
+                ../src/test_parser.nit:51,7--62,4
+                  keyword 'if' ... ../src/test_parser.nit:51,7--8
+                  ../src/test_parser.nit:51,10--27
+                    ../src/test_parser.nit:51,10--19
+                      ../src/test_parser.nit:51,10--13
+                        ../src/test_parser.nit:51,10
+                        identifier 'args' ... ../src/test_parser.nit:51,10--13
+                        ../src/test_parser.nit:51,10
+                      identifier 'first' ... ../src/test_parser.nit:51,15--19
+                      ../src/test_parser.nit:51,10
+                    ../src/test_parser.nit:51,24--27
+                      literal value '"-l"' ... ../src/test_parser.nit:51,24--27
+                  ../src/test_parser.nit:52,3--19
+                    ../src/test_parser.nit:52,3--19
+                      ../src/test_parser.nit:52,16
+                      identifier 'only_lexer' ... ../src/test_parser.nit:52,3--12
+                      ../src/test_parser.nit:52,16
+                      '=' ... ../src/test_parser.nit:52,14
+                      ../src/test_parser.nit:52,16--19
+                        keyword 'true' ... ../src/test_parser.nit:52,16--19
+                  ../src/test_parser.nit:53,7--62,4
+                    keyword 'if' ... ../src/test_parser.nit:53,7--8
+                    ../src/test_parser.nit:53,10--27
+                      ../src/test_parser.nit:53,10--19
+                        ../src/test_parser.nit:53,10--13
+                          ../src/test_parser.nit:53,10
+                          identifier 'args' ... ../src/test_parser.nit:53,10--13
+                          ../src/test_parser.nit:53,10
+                        identifier 'first' ... ../src/test_parser.nit:53,15--19
+                        ../src/test_parser.nit:53,10
+                      ../src/test_parser.nit:53,24--27
+                        literal value '"-p"' ... ../src/test_parser.nit:53,24--27
+                    ../src/test_parser.nit:54,3--20
+                      ../src/test_parser.nit:54,3--20
+                        ../src/test_parser.nit:54,16
+                        identifier 'only_lexer' ... ../src/test_parser.nit:54,3--12
+                        ../src/test_parser.nit:54,16
+                        '=' ... ../src/test_parser.nit:54,14
+                        ../src/test_parser.nit:54,16--20
+                          keyword 'false' ... ../src/test_parser.nit:54,16--20
+                    ../src/test_parser.nit:55,7--62,4
+                      keyword 'if' ... ../src/test_parser.nit:55,7--8
+                      ../src/test_parser.nit:55,10--27
+                        ../src/test_parser.nit:55,10--19
+                          ../src/test_parser.nit:55,10--13
+                            ../src/test_parser.nit:55,10
+                            identifier 'args' ... ../src/test_parser.nit:55,10--13
+                            ../src/test_parser.nit:55,10
+                          identifier 'first' ... ../src/test_parser.nit:55,15--19
+                          ../src/test_parser.nit:55,10
+                        ../src/test_parser.nit:55,24--27
+                          literal value '"-e"' ... ../src/test_parser.nit:55,24--27
+                      ../src/test_parser.nit:56,3--16
+                        ../src/test_parser.nit:56,3--16
+                          ../src/test_parser.nit:56,13
+                          identifier 'no_file' ... ../src/test_parser.nit:56,3--9
+                          ../src/test_parser.nit:56,13
+                          '=' ... ../src/test_parser.nit:56,11
+                          ../src/test_parser.nit:56,13--16
+                            keyword 'true' ... ../src/test_parser.nit:56,13--16
+                      ../src/test_parser.nit:57,7--62,4
+                        keyword 'if' ... ../src/test_parser.nit:57,7--8
+                        ../src/test_parser.nit:57,10--49
+                          ../src/test_parser.nit:57,10--27
+                            ../src/test_parser.nit:57,10--19
+                              ../src/test_parser.nit:57,10--13
+                                ../src/test_parser.nit:57,10
+                                identifier 'args' ... ../src/test_parser.nit:57,10--13
+                                ../src/test_parser.nit:57,10
+                              identifier 'first' ... ../src/test_parser.nit:57,15--19
+                              ../src/test_parser.nit:57,10
+                            ../src/test_parser.nit:57,24--27
+                              literal value '"-h"' ... ../src/test_parser.nit:57,24--27
+                          ../src/test_parser.nit:57,32--49
+                            ../src/test_parser.nit:57,32--41
+                              ../src/test_parser.nit:57,32--35
+                                ../src/test_parser.nit:57,32
+                                identifier 'args' ... ../src/test_parser.nit:57,32--35
+                                ../src/test_parser.nit:57,32
+                              identifier 'first' ... ../src/test_parser.nit:57,37--41
+                              ../src/test_parser.nit:57,32
+                            ../src/test_parser.nit:57,46--49
+                              literal value '"-?"' ... ../src/test_parser.nit:57,46--49
+                        ../src/test_parser.nit:58,3--18
+                          ../src/test_parser.nit:58,3--18
+                            ../src/test_parser.nit:58,15
+                            identifier 'need_help' ... ../src/test_parser.nit:58,3--11
+                            ../src/test_parser.nit:58,15
+                            '=' ... ../src/test_parser.nit:58,13
+                            ../src/test_parser.nit:58,15--18
+                              keyword 'true' ... ../src/test_parser.nit:58,15--18
+                        ../src/test_parser.nit:60,3--62,4
+                          ../src/test_parser.nit:60,3--48
+                            ../src/test_parser.nit:60,3--8
+                              ../src/test_parser.nit:60,3
+                              identifier 'stderr' ... ../src/test_parser.nit:60,3--8
+                              ../src/test_parser.nit:60,3
+                            identifier 'write' ... ../src/test_parser.nit:60,10--14
+                            ../src/test_parser.nit:60,15--48
+                              '(' ... ../src/test_parser.nit:60,15
+                              ../src/test_parser.nit:60,16--47
+                                ../src/test_parser.nit:60,16--32
+                                  literal value '"Unknown option {' ... ../src/test_parser.nit:60,16--32
+                                ../src/test_parser.nit:60,33--42
+                                  ../src/test_parser.nit:60,33--36
+                                    ../src/test_parser.nit:60,33
+                                    identifier 'args' ... ../src/test_parser.nit:60,33--36
+                                    ../src/test_parser.nit:60,33
+                                  identifier 'first' ... ../src/test_parser.nit:60,38--42
+                                  ../src/test_parser.nit:60,33
+                                ../src/test_parser.nit:60,43--47
+                                  '}.\n"' ... ../src/test_parser.nit:60,43--47
+                              ')' ... ../src/test_parser.nit:60,48
+                          ../src/test_parser.nit:61,3--9
+                            ../src/test_parser.nit:61,8
+                            identifier 'exit' ... ../src/test_parser.nit:61,3--6
+                            ../src/test_parser.nit:61,7--9
+                              '(' ... ../src/test_parser.nit:61,7
+                              ../src/test_parser.nit:61,8
+                                literal value '0' ... ../src/test_parser.nit:61,8
+                              ')' ... ../src/test_parser.nit:61,9
+                          keyword 'end' ... ../src/test_parser.nit:62,2--4
+              ../src/test_parser.nit:63,2--11
+                ../src/test_parser.nit:63,2--5
+                  ../src/test_parser.nit:63,2
+                  identifier 'args' ... ../src/test_parser.nit:63,2--5
+                  ../src/test_parser.nit:63,2
+                identifier 'shift' ... ../src/test_parser.nit:63,7--11
+                ../src/test_parser.nit:63,2
+              keyword 'end' ... ../src/test_parser.nit:64,1--3
+          ../src/test_parser.nit:66,1--109,3
+            keyword 'if' ... ../src/test_parser.nit:66,1--2
+            ../src/test_parser.nit:66,4--29
+              ../src/test_parser.nit:66,4--16
+                ../src/test_parser.nit:66,4--7
+                  ../src/test_parser.nit:66,4
+                  identifier 'args' ... ../src/test_parser.nit:66,4--7
+                  ../src/test_parser.nit:66,4
+                identifier 'is_empty' ... ../src/test_parser.nit:66,9--16
+                ../src/test_parser.nit:66,4
+              ../src/test_parser.nit:66,21--29
+                ../src/test_parser.nit:66,21
+                identifier 'need_help' ... ../src/test_parser.nit:66,21--29
+                ../src/test_parser.nit:66,21
+            ../src/test_parser.nit:67,2--74,30
+              ../src/test_parser.nit:67,2--16
+                ../src/test_parser.nit:67,8
+                identifier 'print' ... ../src/test_parser.nit:67,2--6
+                ../src/test_parser.nit:67,7--16
+                  '(' ... ../src/test_parser.nit:67,7
+                  ../src/test_parser.nit:67,8--15
+                    literal value '"usage:"' ... ../src/test_parser.nit:67,8--15
+                  ')' ... ../src/test_parser.nit:67,16
+              ../src/test_parser.nit:68,2--54
                 ../src/test_parser.nit:68,8
                 identifier 'print' ... ../src/test_parser.nit:68,2--6
-                ../src/test_parser.nit:68,7--16
+                ../src/test_parser.nit:68,7--54
                   '(' ... ../src/test_parser.nit:68,7
-                  ../src/test_parser.nit:68,8--15
-                    literal value '"usage:"' ... ../src/test_parser.nit:68,8--15
-                  ')' ... ../src/test_parser.nit:68,16
-              ../src/test_parser.nit:69,2--54
+                  ../src/test_parser.nit:68,8--53
+                    literal value '"  test_parser [options]... <filename.nit>..."' ... ../src/test_parser.nit:68,8--53
+                  ')' ... ../src/test_parser.nit:68,54
+              ../src/test_parser.nit:69,2--18
                 ../src/test_parser.nit:69,8
                 identifier 'print' ... ../src/test_parser.nit:69,2--6
-                ../src/test_parser.nit:69,7--54
+                ../src/test_parser.nit:69,7--18
                   '(' ... ../src/test_parser.nit:69,7
-                  ../src/test_parser.nit:69,8--53
-                    literal value '"  test_parser [options]... <filename.nit>..."' ... ../src/test_parser.nit:69,8--53
-                  ')' ... ../src/test_parser.nit:69,54
-              ../src/test_parser.nit:70,2--18
+                  ../src/test_parser.nit:69,8--17
+                    literal value '"options:"' ... ../src/test_parser.nit:69,8--17
+                  ')' ... ../src/test_parser.nit:69,18
+              ../src/test_parser.nit:70,2--36
                 ../src/test_parser.nit:70,8
                 identifier 'print' ... ../src/test_parser.nit:70,2--6
-                ../src/test_parser.nit:70,7--18
+                ../src/test_parser.nit:70,7--36
                   '(' ... ../src/test_parser.nit:70,7
-                  ../src/test_parser.nit:70,8--17
-                    literal value '"options:"' ... ../src/test_parser.nit:70,8--17
-                  ')' ... ../src/test_parser.nit:70,18
-              ../src/test_parser.nit:71,2--36
+                  ../src/test_parser.nit:70,8--35
+                    literal value '"  -n       do not print anything"' ... ../src/test_parser.nit:70,8--35
+                  ')' ... ../src/test_parser.nit:70,36
+              ../src/test_parser.nit:71,2--25
                 ../src/test_parser.nit:71,8
                 identifier 'print' ... ../src/test_parser.nit:71,2--6
-                ../src/test_parser.nit:71,7--36
+                ../src/test_parser.nit:71,7--25
                   '(' ... ../src/test_parser.nit:71,7
-                  ../src/test_parser.nit:71,8--35
-                    literal value '"  -n       do not print anything"' ... ../src/test_parser.nit:71,8--35
-                  ')' ... ../src/test_parser.nit:71,36
-              ../src/test_parser.nit:72,2--25
+                  ../src/test_parser.nit:71,8--24
+                    literal value '"  -l       only lexer"' ... ../src/test_parser.nit:71,8--24
+                  ')' ... ../src/test_parser.nit:71,25
+              ../src/test_parser.nit:72,2--41
                 ../src/test_parser.nit:72,8
                 identifier 'print' ... ../src/test_parser.nit:72,2--6
-                ../src/test_parser.nit:72,7--25
+                ../src/test_parser.nit:72,7--41
                   '(' ... ../src/test_parser.nit:72,7
-                  ../src/test_parser.nit:72,8--24
-                    literal value '"  -l       only lexer"' ... ../src/test_parser.nit:72,8--24
-                  ')' ... ../src/test_parser.nit:72,25
-              ../src/test_parser.nit:73,2--41
+                  ../src/test_parser.nit:72,8--40
+                    literal value '"  -p       lexer and parser (default)"' ... ../src/test_parser.nit:72,8--40
+                  ')' ... ../src/test_parser.nit:72,41
+              ../src/test_parser.nit:73,2--68
                 ../src/test_parser.nit:73,8
                 identifier 'print' ... ../src/test_parser.nit:73,2--6
-                ../src/test_parser.nit:73,7--41
+                ../src/test_parser.nit:73,7--68
                   '(' ... ../src/test_parser.nit:73,7
-                  ../src/test_parser.nit:73,8--40
-                    literal value '"  -p       lexer and parser (default)"' ... ../src/test_parser.nit:73,8--40
-                  ')' ... ../src/test_parser.nit:73,41
-              ../src/test_parser.nit:74,2--68
+                  ../src/test_parser.nit:73,8--67
+                    literal value '"  -e       instead on files, each argument is a content to parse"' ... ../src/test_parser.nit:73,8--67
+                  ')' ... ../src/test_parser.nit:73,68
+              ../src/test_parser.nit:74,2--30
                 ../src/test_parser.nit:74,8
                 identifier 'print' ... ../src/test_parser.nit:74,2--6
-                ../src/test_parser.nit:74,7--68
+                ../src/test_parser.nit:74,7--30
                   '(' ... ../src/test_parser.nit:74,7
-                  ../src/test_parser.nit:74,8--67
-                    literal value '"  -e       instead on files, each argument is a content to parse"' ... ../src/test_parser.nit:74,8--67
-                  ')' ... ../src/test_parser.nit:74,68
-              ../src/test_parser.nit:75,2--30
-                ../src/test_parser.nit:75,8
-                identifier 'print' ... ../src/test_parser.nit:75,2--6
-                ../src/test_parser.nit:75,7--30
-                  '(' ... ../src/test_parser.nit:75,7
-                  ../src/test_parser.nit:75,8--29
-                    literal value '"  -h       print this help"' ... ../src/test_parser.nit:75,8--29
-                  ')' ... ../src/test_parser.nit:75,30
-            ../src/test_parser.nit:77,2--110,3
-              ../src/test_parser.nit:77,2--109,4
-                keyword 'for' ... ../src/test_parser.nit:77,2--4
-                identifier 'a' ... ../src/test_parser.nit:77,6
-                ../src/test_parser.nit:77,11--14
-                  ../src/test_parser.nit:77,11
-                  identifier 'args' ... ../src/test_parser.nit:77,11--14
-                  ../src/test_parser.nit:77,11
-                keyword 'do' ... ../src/test_parser.nit:77,16--17
-                ../src/test_parser.nit:78,3--109,4
-                  ../src/test_parser.nit:78,3--12
-                    keyword 'var' ... ../src/test_parser.nit:78,3--5
-                    identifier 'source' ... ../src/test_parser.nit:78,7--12
-                  ../src/test_parser.nit:79,3--85,5
-                    keyword 'if' ... ../src/test_parser.nit:79,3--4
-                    ../src/test_parser.nit:79,6--12
-                      ../src/test_parser.nit:79,6
-                      identifier 'no_file' ... ../src/test_parser.nit:79,6--12
-                      ../src/test_parser.nit:79,6
-                    ../src/test_parser.nit:80,4--45
-                      ../src/test_parser.nit:80,4--45
-                        ../src/test_parser.nit:80,17
-                        identifier 'source' ... ../src/test_parser.nit:80,4--9
-                        ../src/test_parser.nit:80,17
-                        '=' ... ../src/test_parser.nit:80,11
-                        ../src/test_parser.nit:80,13--45
-                          keyword 'new' ... ../src/test_parser.nit:80,13--15
-                          ../src/test_parser.nit:80,17--26
-                            type identifier 'SourceFile' ... ../src/test_parser.nit:80,17--26
-                          identifier 'from_string' ... ../src/test_parser.nit:80,28--38
-                          ../src/test_parser.nit:80,39--45
-                            '(' ... ../src/test_parser.nit:80,39
-                            ../src/test_parser.nit:80,40--41
-                              literal value '""' ... ../src/test_parser.nit:80,40--41
-                            ../src/test_parser.nit:80,44
-                              ../src/test_parser.nit:80,44
-                              identifier 'a' ... ../src/test_parser.nit:80,44
-                              ../src/test_parser.nit:80,44
-                            ')' ... ../src/test_parser.nit:80,45
-                    ../src/test_parser.nit:82,4--85,5
-                      ../src/test_parser.nit:82,4--31
-                        keyword 'var' ... ../src/test_parser.nit:82,4--6
-                        identifier 'f' ... ../src/test_parser.nit:82,8
-                        '=' ... ../src/test_parser.nit:82,10
-                        ../src/test_parser.nit:82,12--31
-                          keyword 'new' ... ../src/test_parser.nit:82,12--14
-                          ../src/test_parser.nit:82,16--23
-                            type identifier 'IFStream' ... ../src/test_parser.nit:82,16--23
-                          identifier 'open' ... ../src/test_parser.nit:82,25--28
-                          ../src/test_parser.nit:82,29--31
-                            '(' ... ../src/test_parser.nit:82,29
-                            ../src/test_parser.nit:82,30
-                              ../src/test_parser.nit:82,30
-                              identifier 'a' ... ../src/test_parser.nit:82,30
-                              ../src/test_parser.nit:82,30
-                            ')' ... ../src/test_parser.nit:82,31
-                      ../src/test_parser.nit:83,4--32
-                        ../src/test_parser.nit:83,17
-                        identifier 'source' ... ../src/test_parser.nit:83,4--9
-                        ../src/test_parser.nit:83,17
-                        '=' ... ../src/test_parser.nit:83,11
-                        ../src/test_parser.nit:83,13--32
-                          keyword 'new' ... ../src/test_parser.nit:83,13--15
-                          ../src/test_parser.nit:83,17--26
-                            type identifier 'SourceFile' ... ../src/test_parser.nit:83,17--26
-                          ../src/test_parser.nit:83,27--32
-                            '(' ... ../src/test_parser.nit:83,27
-                            ../src/test_parser.nit:83,28
-                              ../src/test_parser.nit:83,28
-                              identifier 'a' ... ../src/test_parser.nit:83,28
-                              ../src/test_parser.nit:83,28
-                            ../src/test_parser.nit:83,31
-                              ../src/test_parser.nit:83,31
-                              identifier 'f' ... ../src/test_parser.nit:83,31
-                              ../src/test_parser.nit:83,31
-                            ')' ... ../src/test_parser.nit:83,32
-                      ../src/test_parser.nit:84,4--10
-                        ../src/test_parser.nit:84,4
-                          ../src/test_parser.nit:84,4
-                          identifier 'f' ... ../src/test_parser.nit:84,4
-                          ../src/test_parser.nit:84,4
-                        identifier 'close' ... ../src/test_parser.nit:84,6--10
-                        ../src/test_parser.nit:84,4
-                      keyword 'end' ... ../src/test_parser.nit:85,3--5
-                  ../src/test_parser.nit:86,3--31
-                    keyword 'var' ... ../src/test_parser.nit:86,3--5
-                    identifier 'lexer' ... ../src/test_parser.nit:86,7--11
-                    '=' ... ../src/test_parser.nit:86,13
-                    ../src/test_parser.nit:86,15--31
-                      keyword 'new' ... ../src/test_parser.nit:86,15--17
-                      ../src/test_parser.nit:86,19--23
-                        type identifier 'Lexer' ... ../src/test_parser.nit:86,19--23
-                      ../src/test_parser.nit:86,24--31
-                        '(' ... ../src/test_parser.nit:86,24
-                        ../src/test_parser.nit:86,25--30
-                          ../src/test_parser.nit:86,25
-                          identifier 'source' ... ../src/test_parser.nit:86,25--30
-                          ../src/test_parser.nit:86,25
-                        ')' ... ../src/test_parser.nit:86,31
-                  ../src/test_parser.nit:87,3--108,5
-                    keyword 'if' ... ../src/test_parser.nit:87,3--4
-                    ../src/test_parser.nit:87,6--15
-                      ../src/test_parser.nit:87,6
-                      identifier 'only_lexer' ... ../src/test_parser.nit:87,6--15
-                      ../src/test_parser.nit:87,6
-                    ../src/test_parser.nit:88,4--94,6
-                      ../src/test_parser.nit:88,4--25
-                        keyword 'var' ... ../src/test_parser.nit:88,4--6
-                        identifier 'token' ... ../src/test_parser.nit:88,8--12
-                        '=' ... ../src/test_parser.nit:88,14
-                        ../src/test_parser.nit:88,16--25
-                          ../src/test_parser.nit:88,16--20
-                            ../src/test_parser.nit:88,16
-                            identifier 'lexer' ... ../src/test_parser.nit:88,16--20
-                            ../src/test_parser.nit:88,16
-                          identifier 'next' ... ../src/test_parser.nit:88,22--25
-                          ../src/test_parser.nit:88,16
-                      ../src/test_parser.nit:89,4--94,6
-                        keyword 'while' ... ../src/test_parser.nit:89,4--8
-                        ../src/test_parser.nit:89,10--26
-                          keyword 'not' ... ../src/test_parser.nit:89,10--12
-                          ../src/test_parser.nit:89,14--26
-                            ../src/test_parser.nit:89,14--18
-                              ../src/test_parser.nit:89,14
-                              identifier 'token' ... ../src/test_parser.nit:89,14--18
-                              ../src/test_parser.nit:89,14
-                            ../src/test_parser.nit:89,24--26
-                              type identifier 'EOF' ... ../src/test_parser.nit:89,24--26
-                        keyword 'do' ... ../src/test_parser.nit:89,28--29
-                        ../src/test_parser.nit:90,5--94,6
-                          ../src/test_parser.nit:90,5--92,7
-                            keyword 'if' ... ../src/test_parser.nit:90,5--6
-                            ../src/test_parser.nit:90,8--19
-                              keyword 'not' ... ../src/test_parser.nit:90,8--10
-                              ../src/test_parser.nit:90,12--19
+                  ../src/test_parser.nit:74,8--29
+                    literal value '"  -h       print this help"' ... ../src/test_parser.nit:74,8--29
+                  ')' ... ../src/test_parser.nit:74,30
+            ../src/test_parser.nit:76,2--109,3
+              ../src/test_parser.nit:76,2--108,4
+                keyword 'for' ... ../src/test_parser.nit:76,2--4
+                identifier 'a' ... ../src/test_parser.nit:76,6
+                ../src/test_parser.nit:76,11--14
+                  ../src/test_parser.nit:76,11
+                  identifier 'args' ... ../src/test_parser.nit:76,11--14
+                  ../src/test_parser.nit:76,11
+                keyword 'do' ... ../src/test_parser.nit:76,16--17
+                ../src/test_parser.nit:77,3--108,4
+                  ../src/test_parser.nit:77,3--12
+                    keyword 'var' ... ../src/test_parser.nit:77,3--5
+                    identifier 'source' ... ../src/test_parser.nit:77,7--12
+                  ../src/test_parser.nit:78,3--84,5
+                    keyword 'if' ... ../src/test_parser.nit:78,3--4
+                    ../src/test_parser.nit:78,6--12
+                      ../src/test_parser.nit:78,6
+                      identifier 'no_file' ... ../src/test_parser.nit:78,6--12
+                      ../src/test_parser.nit:78,6
+                    ../src/test_parser.nit:79,4--45
+                      ../src/test_parser.nit:79,4--45
+                        ../src/test_parser.nit:79,17
+                        identifier 'source' ... ../src/test_parser.nit:79,4--9
+                        ../src/test_parser.nit:79,17
+                        '=' ... ../src/test_parser.nit:79,11
+                        ../src/test_parser.nit:79,13--45
+                          keyword 'new' ... ../src/test_parser.nit:79,13--15
+                          ../src/test_parser.nit:79,17--26
+                            type identifier 'SourceFile' ... ../src/test_parser.nit:79,17--26
+                          identifier 'from_string' ... ../src/test_parser.nit:79,28--38
+                          ../src/test_parser.nit:79,39--45
+                            '(' ... ../src/test_parser.nit:79,39
+                            ../src/test_parser.nit:79,40--41
+                              literal value '""' ... ../src/test_parser.nit:79,40--41
+                            ../src/test_parser.nit:79,44
+                              ../src/test_parser.nit:79,44
+                              identifier 'a' ... ../src/test_parser.nit:79,44
+                              ../src/test_parser.nit:79,44
+                            ')' ... ../src/test_parser.nit:79,45
+                    ../src/test_parser.nit:81,4--84,5
+                      ../src/test_parser.nit:81,4--31
+                        keyword 'var' ... ../src/test_parser.nit:81,4--6
+                        identifier 'f' ... ../src/test_parser.nit:81,8
+                        '=' ... ../src/test_parser.nit:81,10
+                        ../src/test_parser.nit:81,12--31
+                          keyword 'new' ... ../src/test_parser.nit:81,12--14
+                          ../src/test_parser.nit:81,16--23
+                            type identifier 'IFStream' ... ../src/test_parser.nit:81,16--23
+                          identifier 'open' ... ../src/test_parser.nit:81,25--28
+                          ../src/test_parser.nit:81,29--31
+                            '(' ... ../src/test_parser.nit:81,29
+                            ../src/test_parser.nit:81,30
+                              ../src/test_parser.nit:81,30
+                              identifier 'a' ... ../src/test_parser.nit:81,30
+                              ../src/test_parser.nit:81,30
+                            ')' ... ../src/test_parser.nit:81,31
+                      ../src/test_parser.nit:82,4--32
+                        ../src/test_parser.nit:82,17
+                        identifier 'source' ... ../src/test_parser.nit:82,4--9
+                        ../src/test_parser.nit:82,17
+                        '=' ... ../src/test_parser.nit:82,11
+                        ../src/test_parser.nit:82,13--32
+                          keyword 'new' ... ../src/test_parser.nit:82,13--15
+                          ../src/test_parser.nit:82,17--26
+                            type identifier 'SourceFile' ... ../src/test_parser.nit:82,17--26
+                          ../src/test_parser.nit:82,27--32
+                            '(' ... ../src/test_parser.nit:82,27
+                            ../src/test_parser.nit:82,28
+                              ../src/test_parser.nit:82,28
+                              identifier 'a' ... ../src/test_parser.nit:82,28
+                              ../src/test_parser.nit:82,28
+                            ../src/test_parser.nit:82,31
+                              ../src/test_parser.nit:82,31
+                              identifier 'f' ... ../src/test_parser.nit:82,31
+                              ../src/test_parser.nit:82,31
+                            ')' ... ../src/test_parser.nit:82,32
+                      ../src/test_parser.nit:83,4--10
+                        ../src/test_parser.nit:83,4
+                          ../src/test_parser.nit:83,4
+                          identifier 'f' ... ../src/test_parser.nit:83,4
+                          ../src/test_parser.nit:83,4
+                        identifier 'close' ... ../src/test_parser.nit:83,6--10
+                        ../src/test_parser.nit:83,4
+                      keyword 'end' ... ../src/test_parser.nit:84,3--5
+                  ../src/test_parser.nit:85,3--31
+                    keyword 'var' ... ../src/test_parser.nit:85,3--5
+                    identifier 'lexer' ... ../src/test_parser.nit:85,7--11
+                    '=' ... ../src/test_parser.nit:85,13
+                    ../src/test_parser.nit:85,15--31
+                      keyword 'new' ... ../src/test_parser.nit:85,15--17
+                      ../src/test_parser.nit:85,19--23
+                        type identifier 'Lexer' ... ../src/test_parser.nit:85,19--23
+                      ../src/test_parser.nit:85,24--31
+                        '(' ... ../src/test_parser.nit:85,24
+                        ../src/test_parser.nit:85,25--30
+                          ../src/test_parser.nit:85,25
+                          identifier 'source' ... ../src/test_parser.nit:85,25--30
+                          ../src/test_parser.nit:85,25
+                        ')' ... ../src/test_parser.nit:85,31
+                  ../src/test_parser.nit:86,3--107,5
+                    keyword 'if' ... ../src/test_parser.nit:86,3--4
+                    ../src/test_parser.nit:86,6--15
+                      ../src/test_parser.nit:86,6
+                      identifier 'only_lexer' ... ../src/test_parser.nit:86,6--15
+                      ../src/test_parser.nit:86,6
+                    ../src/test_parser.nit:87,4--93,6
+                      ../src/test_parser.nit:87,4--25
+                        keyword 'var' ... ../src/test_parser.nit:87,4--6
+                        identifier 'token' ... ../src/test_parser.nit:87,8--12
+                        '=' ... ../src/test_parser.nit:87,14
+                        ../src/test_parser.nit:87,16--25
+                          ../src/test_parser.nit:87,16--20
+                            ../src/test_parser.nit:87,16
+                            identifier 'lexer' ... ../src/test_parser.nit:87,16--20
+                            ../src/test_parser.nit:87,16
+                          identifier 'next' ... ../src/test_parser.nit:87,22--25
+                          ../src/test_parser.nit:87,16
+                      ../src/test_parser.nit:88,4--93,6
+                        keyword 'while' ... ../src/test_parser.nit:88,4--8
+                        ../src/test_parser.nit:88,10--26
+                          keyword 'not' ... ../src/test_parser.nit:88,10--12
+                          ../src/test_parser.nit:88,14--26
+                            ../src/test_parser.nit:88,14--18
+                              ../src/test_parser.nit:88,14
+                              identifier 'token' ... ../src/test_parser.nit:88,14--18
+                              ../src/test_parser.nit:88,14
+                            ../src/test_parser.nit:88,24--26
+                              type identifier 'EOF' ... ../src/test_parser.nit:88,24--26
+                        keyword 'do' ... ../src/test_parser.nit:88,28--29
+                        ../src/test_parser.nit:89,5--93,6
+                          ../src/test_parser.nit:89,5--91,7
+                            keyword 'if' ... ../src/test_parser.nit:89,5--6
+                            ../src/test_parser.nit:89,8--19
+                              keyword 'not' ... ../src/test_parser.nit:89,8--10
+                              ../src/test_parser.nit:89,12--19
+                                ../src/test_parser.nit:89,12
+                                identifier 'no_print' ... ../src/test_parser.nit:89,12--19
+                                ../src/test_parser.nit:89,12
+                            ../src/test_parser.nit:90,6--64
+                              ../src/test_parser.nit:90,6--64
                                 ../src/test_parser.nit:90,12
-                                identifier 'no_print' ... ../src/test_parser.nit:90,12--19
-                                ../src/test_parser.nit:90,12
-                            ../src/test_parser.nit:91,6--64
-                              ../src/test_parser.nit:91,6--64
-                                ../src/test_parser.nit:91,12
-                                identifier 'print' ... ../src/test_parser.nit:91,6--10
-                                ../src/test_parser.nit:91,11--64
-                                  '(' ... ../src/test_parser.nit:91,11
-                                  ../src/test_parser.nit:91,12--63
-                                    ../src/test_parser.nit:91,12--27
-                                      literal value '"Read token at {' ... ../src/test_parser.nit:91,12--27
-                                    ../src/test_parser.nit:91,28--41
-                                      ../src/test_parser.nit:91,28--32
-                                        ../src/test_parser.nit:91,28
-                                        identifier 'token' ... ../src/test_parser.nit:91,28--32
-                                        ../src/test_parser.nit:91,28
-                                      identifier 'location' ... ../src/test_parser.nit:91,34--41
-                                      ../src/test_parser.nit:91,28
-                                    ../src/test_parser.nit:91,42--50
-                                      literal value '} text='{' ... ../src/test_parser.nit:91,42--50
-                                    ../src/test_parser.nit:91,51--60
-                                      ../src/test_parser.nit:91,51--55
-                                        ../src/test_parser.nit:91,51
-                                        identifier 'token' ... ../src/test_parser.nit:91,51--55
-                                        ../src/test_parser.nit:91,51
-                                      identifier 'text' ... ../src/test_parser.nit:91,57--60
-                                      ../src/test_parser.nit:91,51
-                                    ../src/test_parser.nit:91,61--63
-                                      '}'"' ... ../src/test_parser.nit:91,61--63
-                                  ')' ... ../src/test_parser.nit:91,64
-                            ../src/test_parser.nit:92,5--7
-                              keyword 'end' ... ../src/test_parser.nit:92,5--7
-                          ../src/test_parser.nit:93,5--22
-                            ../src/test_parser.nit:93,13
-                            identifier 'token' ... ../src/test_parser.nit:93,5--9
-                            ../src/test_parser.nit:93,13
-                            '=' ... ../src/test_parser.nit:93,11
-                            ../src/test_parser.nit:93,13--22
-                              ../src/test_parser.nit:93,13--17
-                                ../src/test_parser.nit:93,13
-                                identifier 'lexer' ... ../src/test_parser.nit:93,13--17
-                                ../src/test_parser.nit:93,13
-                              identifier 'next' ... ../src/test_parser.nit:93,19--22
-                              ../src/test_parser.nit:93,13
-                          keyword 'end' ... ../src/test_parser.nit:94,4--6
-                    ../src/test_parser.nit:96,4--108,5
-                      ../src/test_parser.nit:96,4--33
+                                identifier 'print' ... ../src/test_parser.nit:90,6--10
+                                ../src/test_parser.nit:90,11--64
+                                  '(' ... ../src/test_parser.nit:90,11
+                                  ../src/test_parser.nit:90,12--63
+                                    ../src/test_parser.nit:90,12--27
+                                      literal value '"Read token at {' ... ../src/test_parser.nit:90,12--27
+                                    ../src/test_parser.nit:90,28--41
+                                      ../src/test_parser.nit:90,28--32
+                                        ../src/test_parser.nit:90,28
+                                        identifier 'token' ... ../src/test_parser.nit:90,28--32
+                                        ../src/test_parser.nit:90,28
+                                      identifier 'location' ... ../src/test_parser.nit:90,34--41
+                                      ../src/test_parser.nit:90,28
+                                    ../src/test_parser.nit:90,42--50
+                                      literal value '} text='{' ... ../src/test_parser.nit:90,42--50
+                                    ../src/test_parser.nit:90,51--60
+                                      ../src/test_parser.nit:90,51--55
+                                        ../src/test_parser.nit:90,51
+                                        identifier 'token' ... ../src/test_parser.nit:90,51--55
+                                        ../src/test_parser.nit:90,51
+                                      identifier 'text' ... ../src/test_parser.nit:90,57--60
+                                      ../src/test_parser.nit:90,51
+                                    ../src/test_parser.nit:90,61--63
+                                      '}'"' ... ../src/test_parser.nit:90,61--63
+                                  ')' ... ../src/test_parser.nit:90,64
+                            ../src/test_parser.nit:91,5--7
+                              keyword 'end' ... ../src/test_parser.nit:91,5--7
+                          ../src/test_parser.nit:92,5--22
+                            ../src/test_parser.nit:92,13
+                            identifier 'token' ... ../src/test_parser.nit:92,5--9
+                            ../src/test_parser.nit:92,13
+                            '=' ... ../src/test_parser.nit:92,11
+                            ../src/test_parser.nit:92,13--22
+                              ../src/test_parser.nit:92,13--17
+                                ../src/test_parser.nit:92,13
+                                identifier 'lexer' ... ../src/test_parser.nit:92,13--17
+                                ../src/test_parser.nit:92,13
+                              identifier 'next' ... ../src/test_parser.nit:92,19--22
+                              ../src/test_parser.nit:92,13
+                          keyword 'end' ... ../src/test_parser.nit:93,4--6
+                    ../src/test_parser.nit:95,4--107,5
+                      ../src/test_parser.nit:95,4--33
+                        keyword 'var' ... ../src/test_parser.nit:95,4--6
+                        identifier 'parser' ... ../src/test_parser.nit:95,8--13
+                        '=' ... ../src/test_parser.nit:95,15
+                        ../src/test_parser.nit:95,17--33
+                          keyword 'new' ... ../src/test_parser.nit:95,17--19
+                          ../src/test_parser.nit:95,21--26
+                            type identifier 'Parser' ... ../src/test_parser.nit:95,21--26
+                          ../src/test_parser.nit:95,27--33
+                            '(' ... ../src/test_parser.nit:95,27
+                            ../src/test_parser.nit:95,28--32
+                              ../src/test_parser.nit:95,28
+                              identifier 'lexer' ... ../src/test_parser.nit:95,28--32
+                              ../src/test_parser.nit:95,28
+                            ')' ... ../src/test_parser.nit:95,33
+                      ../src/test_parser.nit:96,4--26
                         keyword 'var' ... ../src/test_parser.nit:96,4--6
-                        identifier 'parser' ... ../src/test_parser.nit:96,8--13
-                        '=' ... ../src/test_parser.nit:96,15
-                        ../src/test_parser.nit:96,17--33
-                          keyword 'new' ... ../src/test_parser.nit:96,17--19
-                          ../src/test_parser.nit:96,21--26
-                            type identifier 'Parser' ... ../src/test_parser.nit:96,21--26
-                          ../src/test_parser.nit:96,27--33
-                            '(' ... ../src/test_parser.nit:96,27
-                            ../src/test_parser.nit:96,28--32
-                              ../src/test_parser.nit:96,28
-                              identifier 'lexer' ... ../src/test_parser.nit:96,28--32
-                              ../src/test_parser.nit:96,28
-                            ')' ... ../src/test_parser.nit:96,33
-                      ../src/test_parser.nit:97,4--26
-                        keyword 'var' ... ../src/test_parser.nit:97,4--6
-                        identifier 'tree' ... ../src/test_parser.nit:97,8--11
-                        '=' ... ../src/test_parser.nit:97,13
-                        ../src/test_parser.nit:97,15--26
-                          ../src/test_parser.nit:97,15--20
-                            ../src/test_parser.nit:97,15
-                            identifier 'parser' ... ../src/test_parser.nit:97,15--20
-                            ../src/test_parser.nit:97,15
-                          identifier 'parse' ... ../src/test_parser.nit:97,22--26
-                          ../src/test_parser.nit:97,15
-                      ../src/test_parser.nit:99,4--25
-                        keyword 'var' ... ../src/test_parser.nit:99,4--6
-                        identifier 'error' ... ../src/test_parser.nit:99,8--12
-                        '=' ... ../src/test_parser.nit:99,14
-                        ../src/test_parser.nit:99,16--25
-                          ../src/test_parser.nit:99,16--19
-                            ../src/test_parser.nit:99,16
-                            identifier 'tree' ... ../src/test_parser.nit:99,16--19
-                            ../src/test_parser.nit:99,16
-                          identifier 'n_eof' ... ../src/test_parser.nit:99,21--25
-                          ../src/test_parser.nit:99,16
-                      ../src/test_parser.nit:100,4--103,6
-                        keyword 'if' ... ../src/test_parser.nit:100,4--5
-                        ../src/test_parser.nit:100,7--22
-                          ../src/test_parser.nit:100,7--11
-                            ../src/test_parser.nit:100,7
-                            identifier 'error' ... ../src/test_parser.nit:100,7--11
-                            ../src/test_parser.nit:100,7
-                          ../src/test_parser.nit:100,17--22
-                            type identifier 'AError' ... ../src/test_parser.nit:100,17--22
-                        ../src/test_parser.nit:101,5--102,10
-                          ../src/test_parser.nit:101,5--58
-                            ../src/test_parser.nit:101,11
-                            identifier 'print' ... ../src/test_parser.nit:101,5--9
-                            ../src/test_parser.nit:101,10--58
-                              '(' ... ../src/test_parser.nit:101,10
-                              ../src/test_parser.nit:101,11--57
-                                ../src/test_parser.nit:101,11--21
-                                  literal value '"Error at {' ... ../src/test_parser.nit:101,11--21
-                                ../src/test_parser.nit:101,22--35
-                                  ../src/test_parser.nit:101,22--26
-                                    ../src/test_parser.nit:101,22
-                                    identifier 'error' ... ../src/test_parser.nit:101,22--26
-                                    ../src/test_parser.nit:101,22
-                                  identifier 'location' ... ../src/test_parser.nit:101,28--35
-                                  ../src/test_parser.nit:101,22
-                                ../src/test_parser.nit:101,36--42
-                                  literal value '}:\n\t{' ... ../src/test_parser.nit:101,36--42
-                                ../src/test_parser.nit:101,43--55
-                                  ../src/test_parser.nit:101,43--47
-                                    ../src/test_parser.nit:101,43
-                                    identifier 'error' ... ../src/test_parser.nit:101,43--47
-                                    ../src/test_parser.nit:101,43
-                                  identifier 'message' ... ../src/test_parser.nit:101,49--55
-                                  ../src/test_parser.nit:101,43
-                                ../src/test_parser.nit:101,56--57
-                                  '}"' ... ../src/test_parser.nit:101,56--57
-                              ')' ... ../src/test_parser.nit:101,58
-                          ../src/test_parser.nit:102,5--10
-                            keyword 'return' ... ../src/test_parser.nit:102,5--10
-                        ../src/test_parser.nit:103,4--6
-                          keyword 'end' ... ../src/test_parser.nit:103,4--6
-                      ../src/test_parser.nit:105,4--107,6
-                        keyword 'if' ... ../src/test_parser.nit:105,4--5
-                        ../src/test_parser.nit:105,7--18
-                          keyword 'not' ... ../src/test_parser.nit:105,7--9
-                          ../src/test_parser.nit:105,11--18
-                            ../src/test_parser.nit:105,11
-                            identifier 'no_print' ... ../src/test_parser.nit:105,11--18
-                            ../src/test_parser.nit:105,11
-                        ../src/test_parser.nit:106,5--44
-                          ../src/test_parser.nit:106,5--44
-                            ../src/test_parser.nit:106,5--26
-                              '(' ... ../src/test_parser.nit:106,5
-                              ../src/test_parser.nit:106,6--25
-                                keyword 'new' ... ../src/test_parser.nit:106,6--8
-                                ../src/test_parser.nit:106,10--25
-                                  type identifier 'PrintTreeVisitor' ... ../src/test_parser.nit:106,10--25
-                                ../src/test_parser.nit:106,6
-                              ')' ... ../src/test_parser.nit:106,26
-                            identifier 'enter_visit' ... ../src/test_parser.nit:106,28--38
-                            ../src/test_parser.nit:106,39--44
-                              '(' ... ../src/test_parser.nit:106,39
-                              ../src/test_parser.nit:106,40--43
-                                ../src/test_parser.nit:106,40
-                                identifier 'tree' ... ../src/test_parser.nit:106,40--43
-                                ../src/test_parser.nit:106,40
-                              ')' ... ../src/test_parser.nit:106,44
-                        ../src/test_parser.nit:107,4--6
-                          keyword 'end' ... ../src/test_parser.nit:107,4--6
-                      keyword 'end' ... ../src/test_parser.nit:108,3--5
-                  keyword 'end' ... ../src/test_parser.nit:109,2--4
-              keyword 'end' ... ../src/test_parser.nit:110,1--3
-  end of file ... ../src/test_parser.nit:111,1
+                        identifier 'tree' ... ../src/test_parser.nit:96,8--11
+                        '=' ... ../src/test_parser.nit:96,13
+                        ../src/test_parser.nit:96,15--26
+                          ../src/test_parser.nit:96,15--20
+                            ../src/test_parser.nit:96,15
+                            identifier 'parser' ... ../src/test_parser.nit:96,15--20
+                            ../src/test_parser.nit:96,15
+                          identifier 'parse' ... ../src/test_parser.nit:96,22--26
+                          ../src/test_parser.nit:96,15
+                      ../src/test_parser.nit:98,4--25
+                        keyword 'var' ... ../src/test_parser.nit:98,4--6
+                        identifier 'error' ... ../src/test_parser.nit:98,8--12
+                        '=' ... ../src/test_parser.nit:98,14
+                        ../src/test_parser.nit:98,16--25
+                          ../src/test_parser.nit:98,16--19
+                            ../src/test_parser.nit:98,16
+                            identifier 'tree' ... ../src/test_parser.nit:98,16--19
+                            ../src/test_parser.nit:98,16
+                          identifier 'n_eof' ... ../src/test_parser.nit:98,21--25
+                          ../src/test_parser.nit:98,16
+                      ../src/test_parser.nit:99,4--102,6
+                        keyword 'if' ... ../src/test_parser.nit:99,4--5
+                        ../src/test_parser.nit:99,7--22
+                          ../src/test_parser.nit:99,7--11
+                            ../src/test_parser.nit:99,7
+                            identifier 'error' ... ../src/test_parser.nit:99,7--11
+                            ../src/test_parser.nit:99,7
+                          ../src/test_parser.nit:99,17--22
+                            type identifier 'AError' ... ../src/test_parser.nit:99,17--22
+                        ../src/test_parser.nit:100,5--101,10
+                          ../src/test_parser.nit:100,5--58
+                            ../src/test_parser.nit:100,11
+                            identifier 'print' ... ../src/test_parser.nit:100,5--9
+                            ../src/test_parser.nit:100,10--58
+                              '(' ... ../src/test_parser.nit:100,10
+                              ../src/test_parser.nit:100,11--57
+                                ../src/test_parser.nit:100,11--21
+                                  literal value '"Error at {' ... ../src/test_parser.nit:100,11--21
+                                ../src/test_parser.nit:100,22--35
+                                  ../src/test_parser.nit:100,22--26
+                                    ../src/test_parser.nit:100,22
+                                    identifier 'error' ... ../src/test_parser.nit:100,22--26
+                                    ../src/test_parser.nit:100,22
+                                  identifier 'location' ... ../src/test_parser.nit:100,28--35
+                                  ../src/test_parser.nit:100,22
+                                ../src/test_parser.nit:100,36--42
+                                  literal value '}:\n\t{' ... ../src/test_parser.nit:100,36--42
+                                ../src/test_parser.nit:100,43--55
+                                  ../src/test_parser.nit:100,43--47
+                                    ../src/test_parser.nit:100,43
+                                    identifier 'error' ... ../src/test_parser.nit:100,43--47
+                                    ../src/test_parser.nit:100,43
+                                  identifier 'message' ... ../src/test_parser.nit:100,49--55
+                                  ../src/test_parser.nit:100,43
+                                ../src/test_parser.nit:100,56--57
+                                  '}"' ... ../src/test_parser.nit:100,56--57
+                              ')' ... ../src/test_parser.nit:100,58
+                          ../src/test_parser.nit:101,5--10
+                            keyword 'return' ... ../src/test_parser.nit:101,5--10
+                        ../src/test_parser.nit:102,4--6
+                          keyword 'end' ... ../src/test_parser.nit:102,4--6
+                      ../src/test_parser.nit:104,4--106,6
+                        keyword 'if' ... ../src/test_parser.nit:104,4--5
+                        ../src/test_parser.nit:104,7--18
+                          keyword 'not' ... ../src/test_parser.nit:104,7--9
+                          ../src/test_parser.nit:104,11--18
+                            ../src/test_parser.nit:104,11
+                            identifier 'no_print' ... ../src/test_parser.nit:104,11--18
+                            ../src/test_parser.nit:104,11
+                        ../src/test_parser.nit:105,5--44
+                          ../src/test_parser.nit:105,5--44
+                            ../src/test_parser.nit:105,5--26
+                              '(' ... ../src/test_parser.nit:105,5
+                              ../src/test_parser.nit:105,6--25
+                                keyword 'new' ... ../src/test_parser.nit:105,6--8
+                                ../src/test_parser.nit:105,10--25
+                                  type identifier 'PrintTreeVisitor' ... ../src/test_parser.nit:105,10--25
+                                ../src/test_parser.nit:105,6
+                              ')' ... ../src/test_parser.nit:105,26
+                            identifier 'enter_visit' ... ../src/test_parser.nit:105,28--38
+                            ../src/test_parser.nit:105,39--44
+                              '(' ... ../src/test_parser.nit:105,39
+                              ../src/test_parser.nit:105,40--43
+                                ../src/test_parser.nit:105,40
+                                identifier 'tree' ... ../src/test_parser.nit:105,40--43
+                                ../src/test_parser.nit:105,40
+                              ')' ... ../src/test_parser.nit:105,44
+                        ../src/test_parser.nit:106,4--6
+                          keyword 'end' ... ../src/test_parser.nit:106,4--6
+                      keyword 'end' ... ../src/test_parser.nit:107,3--5
+                  keyword 'end' ... ../src/test_parser.nit:108,2--4
+              keyword 'end' ... ../src/test_parser.nit:109,1--3
+  end of file ... ../src/test_parser.nit:110,1