syntax: prepare stmts following loops to be unreachable
[nit.git] / src / parser / lexer.nit
index 257b305..158a76f 100644 (file)
@@ -5,7 +5,7 @@ package lexer
 intrude import parser_nodes
 
 redef class Token
-    readable writable var _text: String
+    readable var _text: String
 
     fun parser_index: Int is abstract
 
@@ -150,9 +150,9 @@ redef class TKwmeth
        return 10
     end
 
-    init init_tk(text: String, loc: Location)
+    init init_tk(loc: Location)
     do
-        _text = text
+        _text = once "fun"
                _location = loc
     end
 end
@@ -170,23 +170,10 @@ redef class TKwtype
     end
 end
 
-redef class TKwattr
-    redef fun parser_index: Int
-    do
-       return 12
-    end
-
-    init init_tk(loc: Location)
-    do
-        _text = once "attr"
-               _location = loc
-    end
-end
-
 redef class TKwinit
     redef fun parser_index: Int
     do
-       return 13
+       return 12
     end
 
     init init_tk(loc: Location)
@@ -199,7 +186,7 @@ end
 redef class TKwredef
     redef fun parser_index: Int
     do
-       return 14
+       return 13
     end
 
     init init_tk(loc: Location)
@@ -212,7 +199,7 @@ end
 redef class TKwis
     redef fun parser_index: Int
     do
-       return 15
+       return 14
     end
 
     init init_tk(loc: Location)
@@ -225,7 +212,7 @@ end
 redef class TKwdo
     redef fun parser_index: Int
     do
-       return 16
+       return 15
     end
 
     init init_tk(loc: Location)
@@ -238,7 +225,7 @@ end
 redef class TKwreadable
     redef fun parser_index: Int
     do
-       return 17
+       return 16
     end
 
     init init_tk(loc: Location)
@@ -251,7 +238,7 @@ end
 redef class TKwwritable
     redef fun parser_index: Int
     do
-       return 18
+       return 17
     end
 
     init init_tk(loc: Location)
@@ -264,7 +251,7 @@ end
 redef class TKwvar
     redef fun parser_index: Int
     do
-       return 19
+       return 18
     end
 
     init init_tk(loc: Location)
@@ -277,7 +264,7 @@ end
 redef class TKwintern
     redef fun parser_index: Int
     do
-       return 20
+       return 19
     end
 
     init init_tk(loc: Location)
@@ -290,7 +277,7 @@ end
 redef class TKwextern
     redef fun parser_index: Int
     do
-       return 21
+       return 20
     end
 
     init init_tk(loc: Location)
@@ -303,7 +290,7 @@ end
 redef class TKwprotected
     redef fun parser_index: Int
     do
-       return 22
+       return 21
     end
 
     init init_tk(loc: Location)
@@ -316,7 +303,7 @@ end
 redef class TKwprivate
     redef fun parser_index: Int
     do
-       return 23
+       return 22
     end
 
     init init_tk(loc: Location)
@@ -329,7 +316,7 @@ end
 redef class TKwintrude
     redef fun parser_index: Int
     do
-       return 24
+       return 23
     end
 
     init init_tk(loc: Location)
@@ -342,7 +329,7 @@ end
 redef class TKwif
     redef fun parser_index: Int
     do
-       return 25
+       return 24
     end
 
     init init_tk(loc: Location)
@@ -355,7 +342,7 @@ end
 redef class TKwthen
     redef fun parser_index: Int
     do
-       return 26
+       return 25
     end
 
     init init_tk(loc: Location)
@@ -368,7 +355,7 @@ end
 redef class TKwelse
     redef fun parser_index: Int
     do
-       return 27
+       return 26
     end
 
     init init_tk(loc: Location)
@@ -381,7 +368,7 @@ end
 redef class TKwwhile
     redef fun parser_index: Int
     do
-       return 28
+       return 27
     end
 
     init init_tk(loc: Location)
@@ -391,6 +378,19 @@ redef class TKwwhile
     end
 end
 
+redef class TKwloop
+    redef fun parser_index: Int
+    do
+       return 28
+    end
+
+    init init_tk(loc: Location)
+    do
+        _text = once "loop"
+               _location = loc
+    end
+end
+
 redef class TKwfor
     redef fun parser_index: Int
     do
@@ -638,23 +638,10 @@ redef class TKwas
     end
 end
 
-redef class TKwwith
-    redef fun parser_index: Int
-    do
-       return 48
-    end
-
-    init init_tk(loc: Location)
-    do
-        _text = once "with"
-               _location = loc
-    end
-end
-
 redef class TKwnullable
     redef fun parser_index: Int
     do
-       return 49
+       return 48
     end
 
     init init_tk(loc: Location)
@@ -667,7 +654,7 @@ end
 redef class TKwisset
     redef fun parser_index: Int
     do
-       return 50
+       return 49
     end
 
     init init_tk(loc: Location)
@@ -680,7 +667,7 @@ end
 redef class TKwlabel
     redef fun parser_index: Int
     do
-       return 51
+       return 50
     end
 
     init init_tk(loc: Location)
@@ -693,7 +680,7 @@ end
 redef class TOpar
     redef fun parser_index: Int
     do
-       return 52
+       return 51
     end
 
     init init_tk(loc: Location)
@@ -706,7 +693,7 @@ end
 redef class TCpar
     redef fun parser_index: Int
     do
-       return 53
+       return 52
     end
 
     init init_tk(loc: Location)
@@ -719,7 +706,7 @@ end
 redef class TObra
     redef fun parser_index: Int
     do
-       return 54
+       return 53
     end
 
     init init_tk(loc: Location)
@@ -732,7 +719,7 @@ end
 redef class TCbra
     redef fun parser_index: Int
     do
-       return 55
+       return 54
     end
 
     init init_tk(loc: Location)
@@ -745,7 +732,7 @@ end
 redef class TComma
     redef fun parser_index: Int
     do
-       return 56
+       return 55
     end
 
     init init_tk(loc: Location)
@@ -758,7 +745,7 @@ end
 redef class TColumn
     redef fun parser_index: Int
     do
-       return 57
+       return 56
     end
 
     init init_tk(loc: Location)
@@ -771,7 +758,7 @@ end
 redef class TQuad
     redef fun parser_index: Int
     do
-       return 58
+       return 57
     end
 
     init init_tk(loc: Location)
@@ -784,7 +771,7 @@ end
 redef class TAssign
     redef fun parser_index: Int
     do
-       return 59
+       return 58
     end
 
     init init_tk(loc: Location)
@@ -797,7 +784,7 @@ end
 redef class TPluseq
     redef fun parser_index: Int
     do
-       return 60
+       return 59
     end
 
     init init_tk(loc: Location)
@@ -810,7 +797,7 @@ end
 redef class TMinuseq
     redef fun parser_index: Int
     do
-       return 61
+       return 60
     end
 
     init init_tk(loc: Location)
@@ -823,7 +810,7 @@ end
 redef class TDotdotdot
     redef fun parser_index: Int
     do
-       return 62
+       return 61
     end
 
     init init_tk(loc: Location)
@@ -836,7 +823,7 @@ end
 redef class TDotdot
     redef fun parser_index: Int
     do
-       return 63
+       return 62
     end
 
     init init_tk(loc: Location)
@@ -849,7 +836,7 @@ end
 redef class TDot
     redef fun parser_index: Int
     do
-       return 64
+       return 63
     end
 
     init init_tk(loc: Location)
@@ -862,7 +849,7 @@ end
 redef class TPlus
     redef fun parser_index: Int
     do
-       return 65
+       return 64
     end
 
     init init_tk(loc: Location)
@@ -875,7 +862,7 @@ end
 redef class TMinus
     redef fun parser_index: Int
     do
-       return 66
+       return 65
     end
 
     init init_tk(loc: Location)
@@ -888,7 +875,7 @@ end
 redef class TStar
     redef fun parser_index: Int
     do
-       return 67
+       return 66
     end
 
     init init_tk(loc: Location)
@@ -901,7 +888,7 @@ end
 redef class TSlash
     redef fun parser_index: Int
     do
-       return 68
+       return 67
     end
 
     init init_tk(loc: Location)
@@ -914,7 +901,7 @@ end
 redef class TPercent
     redef fun parser_index: Int
     do
-       return 69
+       return 68
     end
 
     init init_tk(loc: Location)
@@ -927,7 +914,7 @@ end
 redef class TEq
     redef fun parser_index: Int
     do
-       return 70
+       return 69
     end
 
     init init_tk(loc: Location)
@@ -940,7 +927,7 @@ end
 redef class TNe
     redef fun parser_index: Int
     do
-       return 71
+       return 70
     end
 
     init init_tk(loc: Location)
@@ -953,7 +940,7 @@ end
 redef class TLt
     redef fun parser_index: Int
     do
-       return 72
+       return 71
     end
 
     init init_tk(loc: Location)
@@ -966,7 +953,7 @@ end
 redef class TLe
     redef fun parser_index: Int
     do
-       return 73
+       return 72
     end
 
     init init_tk(loc: Location)
@@ -979,7 +966,7 @@ end
 redef class TGt
     redef fun parser_index: Int
     do
-       return 74
+       return 73
     end
 
     init init_tk(loc: Location)
@@ -992,7 +979,7 @@ end
 redef class TGe
     redef fun parser_index: Int
     do
-       return 75
+       return 74
     end
 
     init init_tk(loc: Location)
@@ -1005,7 +992,7 @@ end
 redef class TStarship
     redef fun parser_index: Int
     do
-       return 76
+       return 75
     end
 
     init init_tk(loc: Location)
@@ -1015,6 +1002,19 @@ redef class TStarship
     end
 end
 
+redef class TBang
+    redef fun parser_index: Int
+    do
+       return 76
+    end
+
+    init init_tk(loc: Location)
+    do
+        _text = once "!"
+               _location = loc
+    end
+end
+
 redef class TClassid
     redef fun parser_index: Int
     do
@@ -1160,7 +1160,7 @@ redef class EOF
 end
 
 redef class AError
-    readable writable var _message: String
+    readable var _message: String
 
     init init_error(message: String, loc: Location)
     do
@@ -1260,7 +1260,7 @@ class Lexer
                var text = _text
                text.clear
 
-               while true do
+               loop
                        var c = get_char
 
                        if c != -1 then
@@ -1285,8 +1285,7 @@ class Lexer
 
                                text.add(c.ascii)
 
-                               var first_loop = true # aka until
-                               while dfa_state < -1 or first_loop do
+                               loop
                                        var old_state = dfa_state
                                        if dfa_state < -1 then
                                                old_state = -2 - dfa_state
@@ -1310,11 +1309,11 @@ class Lexer
                                                                low = middle + 1
                                                        else
                                                                dfa_state = tmp2[2]
-                                                               low = high + 1 # aka break
+                                                               break
                                                        end
                                                end
                                        end
-                                       first_loop = false # aka until
+                                       if dfa_state > -2 then break
                                end
 
                                _cr = cr
@@ -1425,8 +1424,7 @@ class Lexer
                                        end
                                        if accept_token == 11 then
                                                var location = new Location(_filename, start_line + 1, accept_line + 1, start_pos + 1, accept_pos)
-                                               var token_text = text.substring(0, accept_length)
-                                               var token = new TKwmeth.init_tk(token_text, location)
+                                               var token = new TKwmeth.init_tk(location)
                                                push_back(accept_length)
                                                _pos = accept_pos
                                                _line = accept_line
@@ -1442,7 +1440,7 @@ class Lexer
                                        end
                                        if accept_token == 13 then
                                                var location = new Location(_filename, start_line + 1, accept_line + 1, start_pos + 1, accept_pos)
-                                               var token = new TKwattr.init_tk(location)
+                                               var token = new TKwinit.init_tk(location)
                                                push_back(accept_length)
                                                _pos = accept_pos
                                                _line = accept_line
@@ -1450,7 +1448,7 @@ class Lexer
                                        end
                                        if accept_token == 14 then
                                                var location = new Location(_filename, start_line + 1, accept_line + 1, start_pos + 1, accept_pos)
-                                               var token = new TKwinit.init_tk(location)
+                                               var token = new TKwredef.init_tk(location)
                                                push_back(accept_length)
                                                _pos = accept_pos
                                                _line = accept_line
@@ -1458,7 +1456,7 @@ class Lexer
                                        end
                                        if accept_token == 15 then
                                                var location = new Location(_filename, start_line + 1, accept_line + 1, start_pos + 1, accept_pos)
-                                               var token = new TKwredef.init_tk(location)
+                                               var token = new TKwis.init_tk(location)
                                                push_back(accept_length)
                                                _pos = accept_pos
                                                _line = accept_line
@@ -1466,7 +1464,7 @@ class Lexer
                                        end
                                        if accept_token == 16 then
                                                var location = new Location(_filename, start_line + 1, accept_line + 1, start_pos + 1, accept_pos)
-                                               var token = new TKwis.init_tk(location)
+                                               var token = new TKwdo.init_tk(location)
                                                push_back(accept_length)
                                                _pos = accept_pos
                                                _line = accept_line
@@ -1474,7 +1472,7 @@ class Lexer
                                        end
                                        if accept_token == 17 then
                                                var location = new Location(_filename, start_line + 1, accept_line + 1, start_pos + 1, accept_pos)
-                                               var token = new TKwdo.init_tk(location)
+                                               var token = new TKwreadable.init_tk(location)
                                                push_back(accept_length)
                                                _pos = accept_pos
                                                _line = accept_line
@@ -1482,7 +1480,7 @@ class Lexer
                                        end
                                        if accept_token == 18 then
                                                var location = new Location(_filename, start_line + 1, accept_line + 1, start_pos + 1, accept_pos)
-                                               var token = new TKwreadable.init_tk(location)
+                                               var token = new TKwwritable.init_tk(location)
                                                push_back(accept_length)
                                                _pos = accept_pos
                                                _line = accept_line
@@ -1490,7 +1488,7 @@ class Lexer
                                        end
                                        if accept_token == 19 then
                                                var location = new Location(_filename, start_line + 1, accept_line + 1, start_pos + 1, accept_pos)
-                                               var token = new TKwwritable.init_tk(location)
+                                               var token = new TKwvar.init_tk(location)
                                                push_back(accept_length)
                                                _pos = accept_pos
                                                _line = accept_line
@@ -1498,7 +1496,7 @@ class Lexer
                                        end
                                        if accept_token == 20 then
                                                var location = new Location(_filename, start_line + 1, accept_line + 1, start_pos + 1, accept_pos)
-                                               var token = new TKwvar.init_tk(location)
+                                               var token = new TKwintern.init_tk(location)
                                                push_back(accept_length)
                                                _pos = accept_pos
                                                _line = accept_line
@@ -1506,7 +1504,7 @@ class Lexer
                                        end
                                        if accept_token == 21 then
                                                var location = new Location(_filename, start_line + 1, accept_line + 1, start_pos + 1, accept_pos)
-                                               var token = new TKwintern.init_tk(location)
+                                               var token = new TKwextern.init_tk(location)
                                                push_back(accept_length)
                                                _pos = accept_pos
                                                _line = accept_line
@@ -1514,7 +1512,7 @@ class Lexer
                                        end
                                        if accept_token == 22 then
                                                var location = new Location(_filename, start_line + 1, accept_line + 1, start_pos + 1, accept_pos)
-                                               var token = new TKwextern.init_tk(location)
+                                               var token = new TKwprotected.init_tk(location)
                                                push_back(accept_length)
                                                _pos = accept_pos
                                                _line = accept_line
@@ -1522,7 +1520,7 @@ class Lexer
                                        end
                                        if accept_token == 23 then
                                                var location = new Location(_filename, start_line + 1, accept_line + 1, start_pos + 1, accept_pos)
-                                               var token = new TKwprotected.init_tk(location)
+                                               var token = new TKwprivate.init_tk(location)
                                                push_back(accept_length)
                                                _pos = accept_pos
                                                _line = accept_line
@@ -1530,7 +1528,7 @@ class Lexer
                                        end
                                        if accept_token == 24 then
                                                var location = new Location(_filename, start_line + 1, accept_line + 1, start_pos + 1, accept_pos)
-                                               var token = new TKwprivate.init_tk(location)
+                                               var token = new TKwintrude.init_tk(location)
                                                push_back(accept_length)
                                                _pos = accept_pos
                                                _line = accept_line
@@ -1538,7 +1536,7 @@ class Lexer
                                        end
                                        if accept_token == 25 then
                                                var location = new Location(_filename, start_line + 1, accept_line + 1, start_pos + 1, accept_pos)
-                                               var token = new TKwintrude.init_tk(location)
+                                               var token = new TKwif.init_tk(location)
                                                push_back(accept_length)
                                                _pos = accept_pos
                                                _line = accept_line
@@ -1546,7 +1544,7 @@ class Lexer
                                        end
                                        if accept_token == 26 then
                                                var location = new Location(_filename, start_line + 1, accept_line + 1, start_pos + 1, accept_pos)
-                                               var token = new TKwif.init_tk(location)
+                                               var token = new TKwthen.init_tk(location)
                                                push_back(accept_length)
                                                _pos = accept_pos
                                                _line = accept_line
@@ -1554,7 +1552,7 @@ class Lexer
                                        end
                                        if accept_token == 27 then
                                                var location = new Location(_filename, start_line + 1, accept_line + 1, start_pos + 1, accept_pos)
-                                               var token = new TKwthen.init_tk(location)
+                                               var token = new TKwelse.init_tk(location)
                                                push_back(accept_length)
                                                _pos = accept_pos
                                                _line = accept_line
@@ -1562,7 +1560,7 @@ class Lexer
                                        end
                                        if accept_token == 28 then
                                                var location = new Location(_filename, start_line + 1, accept_line + 1, start_pos + 1, accept_pos)
-                                               var token = new TKwelse.init_tk(location)
+                                               var token = new TKwwhile.init_tk(location)
                                                push_back(accept_length)
                                                _pos = accept_pos
                                                _line = accept_line
@@ -1570,7 +1568,7 @@ class Lexer
                                        end
                                        if accept_token == 29 then
                                                var location = new Location(_filename, start_line + 1, accept_line + 1, start_pos + 1, accept_pos)
-                                               var token = new TKwwhile.init_tk(location)
+                                               var token = new TKwloop.init_tk(location)
                                                push_back(accept_length)
                                                _pos = accept_pos
                                                _line = accept_line
@@ -1730,7 +1728,7 @@ class Lexer
                                        end
                                        if accept_token == 49 then
                                                var location = new Location(_filename, start_line + 1, accept_line + 1, start_pos + 1, accept_pos)
-                                               var token = new TKwwith.init_tk(location)
+                                               var token = new TKwnullable.init_tk(location)
                                                push_back(accept_length)
                                                _pos = accept_pos
                                                _line = accept_line
@@ -1738,7 +1736,7 @@ class Lexer
                                        end
                                        if accept_token == 50 then
                                                var location = new Location(_filename, start_line + 1, accept_line + 1, start_pos + 1, accept_pos)
-                                               var token = new TKwnullable.init_tk(location)
+                                               var token = new TKwisset.init_tk(location)
                                                push_back(accept_length)
                                                _pos = accept_pos
                                                _line = accept_line
@@ -1746,7 +1744,7 @@ class Lexer
                                        end
                                        if accept_token == 51 then
                                                var location = new Location(_filename, start_line + 1, accept_line + 1, start_pos + 1, accept_pos)
-                                               var token = new TKwisset.init_tk(location)
+                                               var token = new TKwlabel.init_tk(location)
                                                push_back(accept_length)
                                                _pos = accept_pos
                                                _line = accept_line
@@ -1754,7 +1752,7 @@ class Lexer
                                        end
                                        if accept_token == 52 then
                                                var location = new Location(_filename, start_line + 1, accept_line + 1, start_pos + 1, accept_pos)
-                                               var token = new TKwlabel.init_tk(location)
+                                               var token = new TOpar.init_tk(location)
                                                push_back(accept_length)
                                                _pos = accept_pos
                                                _line = accept_line
@@ -1762,7 +1760,7 @@ class Lexer
                                        end
                                        if accept_token == 53 then
                                                var location = new Location(_filename, start_line + 1, accept_line + 1, start_pos + 1, accept_pos)
-                                               var token = new TOpar.init_tk(location)
+                                               var token = new TCpar.init_tk(location)
                                                push_back(accept_length)
                                                _pos = accept_pos
                                                _line = accept_line
@@ -1770,7 +1768,7 @@ class Lexer
                                        end
                                        if accept_token == 54 then
                                                var location = new Location(_filename, start_line + 1, accept_line + 1, start_pos + 1, accept_pos)
-                                               var token = new TCpar.init_tk(location)
+                                               var token = new TObra.init_tk(location)
                                                push_back(accept_length)
                                                _pos = accept_pos
                                                _line = accept_line
@@ -1778,7 +1776,7 @@ class Lexer
                                        end
                                        if accept_token == 55 then
                                                var location = new Location(_filename, start_line + 1, accept_line + 1, start_pos + 1, accept_pos)
-                                               var token = new TObra.init_tk(location)
+                                               var token = new TCbra.init_tk(location)
                                                push_back(accept_length)
                                                _pos = accept_pos
                                                _line = accept_line
@@ -1786,7 +1784,7 @@ class Lexer
                                        end
                                        if accept_token == 56 then
                                                var location = new Location(_filename, start_line + 1, accept_line + 1, start_pos + 1, accept_pos)
-                                               var token = new TCbra.init_tk(location)
+                                               var token = new TComma.init_tk(location)
                                                push_back(accept_length)
                                                _pos = accept_pos
                                                _line = accept_line
@@ -1794,7 +1792,7 @@ class Lexer
                                        end
                                        if accept_token == 57 then
                                                var location = new Location(_filename, start_line + 1, accept_line + 1, start_pos + 1, accept_pos)
-                                               var token = new TComma.init_tk(location)
+                                               var token = new TColumn.init_tk(location)
                                                push_back(accept_length)
                                                _pos = accept_pos
                                                _line = accept_line
@@ -1802,7 +1800,7 @@ class Lexer
                                        end
                                        if accept_token == 58 then
                                                var location = new Location(_filename, start_line + 1, accept_line + 1, start_pos + 1, accept_pos)
-                                               var token = new TColumn.init_tk(location)
+                                               var token = new TQuad.init_tk(location)
                                                push_back(accept_length)
                                                _pos = accept_pos
                                                _line = accept_line
@@ -1810,7 +1808,7 @@ class Lexer
                                        end
                                        if accept_token == 59 then
                                                var location = new Location(_filename, start_line + 1, accept_line + 1, start_pos + 1, accept_pos)
-                                               var token = new TQuad.init_tk(location)
+                                               var token = new TAssign.init_tk(location)
                                                push_back(accept_length)
                                                _pos = accept_pos
                                                _line = accept_line
@@ -1818,7 +1816,7 @@ class Lexer
                                        end
                                        if accept_token == 60 then
                                                var location = new Location(_filename, start_line + 1, accept_line + 1, start_pos + 1, accept_pos)
-                                               var token = new TAssign.init_tk(location)
+                                               var token = new TPluseq.init_tk(location)
                                                push_back(accept_length)
                                                _pos = accept_pos
                                                _line = accept_line
@@ -1826,7 +1824,7 @@ class Lexer
                                        end
                                        if accept_token == 61 then
                                                var location = new Location(_filename, start_line + 1, accept_line + 1, start_pos + 1, accept_pos)
-                                               var token = new TPluseq.init_tk(location)
+                                               var token = new TMinuseq.init_tk(location)
                                                push_back(accept_length)
                                                _pos = accept_pos
                                                _line = accept_line
@@ -1834,7 +1832,7 @@ class Lexer
                                        end
                                        if accept_token == 62 then
                                                var location = new Location(_filename, start_line + 1, accept_line + 1, start_pos + 1, accept_pos)
-                                               var token = new TMinuseq.init_tk(location)
+                                               var token = new TDotdotdot.init_tk(location)
                                                push_back(accept_length)
                                                _pos = accept_pos
                                                _line = accept_line
@@ -1842,7 +1840,7 @@ class Lexer
                                        end
                                        if accept_token == 63 then
                                                var location = new Location(_filename, start_line + 1, accept_line + 1, start_pos + 1, accept_pos)
-                                               var token = new TDotdotdot.init_tk(location)
+                                               var token = new TDotdot.init_tk(location)
                                                push_back(accept_length)
                                                _pos = accept_pos
                                                _line = accept_line
@@ -1850,7 +1848,7 @@ class Lexer
                                        end
                                        if accept_token == 64 then
                                                var location = new Location(_filename, start_line + 1, accept_line + 1, start_pos + 1, accept_pos)
-                                               var token = new TDotdot.init_tk(location)
+                                               var token = new TDot.init_tk(location)
                                                push_back(accept_length)
                                                _pos = accept_pos
                                                _line = accept_line
@@ -1858,7 +1856,7 @@ class Lexer
                                        end
                                        if accept_token == 65 then
                                                var location = new Location(_filename, start_line + 1, accept_line + 1, start_pos + 1, accept_pos)
-                                               var token = new TDot.init_tk(location)
+                                               var token = new TPlus.init_tk(location)
                                                push_back(accept_length)
                                                _pos = accept_pos
                                                _line = accept_line
@@ -1866,7 +1864,7 @@ class Lexer
                                        end
                                        if accept_token == 66 then
                                                var location = new Location(_filename, start_line + 1, accept_line + 1, start_pos + 1, accept_pos)
-                                               var token = new TPlus.init_tk(location)
+                                               var token = new TMinus.init_tk(location)
                                                push_back(accept_length)
                                                _pos = accept_pos
                                                _line = accept_line
@@ -1874,7 +1872,7 @@ class Lexer
                                        end
                                        if accept_token == 67 then
                                                var location = new Location(_filename, start_line + 1, accept_line + 1, start_pos + 1, accept_pos)
-                                               var token = new TMinus.init_tk(location)
+                                               var token = new TStar.init_tk(location)
                                                push_back(accept_length)
                                                _pos = accept_pos
                                                _line = accept_line
@@ -1882,7 +1880,7 @@ class Lexer
                                        end
                                        if accept_token == 68 then
                                                var location = new Location(_filename, start_line + 1, accept_line + 1, start_pos + 1, accept_pos)
-                                               var token = new TStar.init_tk(location)
+                                               var token = new TSlash.init_tk(location)
                                                push_back(accept_length)
                                                _pos = accept_pos
                                                _line = accept_line
@@ -1890,7 +1888,7 @@ class Lexer
                                        end
                                        if accept_token == 69 then
                                                var location = new Location(_filename, start_line + 1, accept_line + 1, start_pos + 1, accept_pos)
-                                               var token = new TSlash.init_tk(location)
+                                               var token = new TPercent.init_tk(location)
                                                push_back(accept_length)
                                                _pos = accept_pos
                                                _line = accept_line
@@ -1898,7 +1896,7 @@ class Lexer
                                        end
                                        if accept_token == 70 then
                                                var location = new Location(_filename, start_line + 1, accept_line + 1, start_pos + 1, accept_pos)
-                                               var token = new TPercent.init_tk(location)
+                                               var token = new TEq.init_tk(location)
                                                push_back(accept_length)
                                                _pos = accept_pos
                                                _line = accept_line
@@ -1906,7 +1904,7 @@ class Lexer
                                        end
                                        if accept_token == 71 then
                                                var location = new Location(_filename, start_line + 1, accept_line + 1, start_pos + 1, accept_pos)
-                                               var token = new TEq.init_tk(location)
+                                               var token = new TNe.init_tk(location)
                                                push_back(accept_length)
                                                _pos = accept_pos
                                                _line = accept_line
@@ -1914,7 +1912,7 @@ class Lexer
                                        end
                                        if accept_token == 72 then
                                                var location = new Location(_filename, start_line + 1, accept_line + 1, start_pos + 1, accept_pos)
-                                               var token = new TNe.init_tk(location)
+                                               var token = new TLt.init_tk(location)
                                                push_back(accept_length)
                                                _pos = accept_pos
                                                _line = accept_line
@@ -1922,7 +1920,7 @@ class Lexer
                                        end
                                        if accept_token == 73 then
                                                var location = new Location(_filename, start_line + 1, accept_line + 1, start_pos + 1, accept_pos)
-                                               var token = new TLt.init_tk(location)
+                                               var token = new TLe.init_tk(location)
                                                push_back(accept_length)
                                                _pos = accept_pos
                                                _line = accept_line
@@ -1930,7 +1928,7 @@ class Lexer
                                        end
                                        if accept_token == 74 then
                                                var location = new Location(_filename, start_line + 1, accept_line + 1, start_pos + 1, accept_pos)
-                                               var token = new TLe.init_tk(location)
+                                               var token = new TGt.init_tk(location)
                                                push_back(accept_length)
                                                _pos = accept_pos
                                                _line = accept_line
@@ -1938,7 +1936,7 @@ class Lexer
                                        end
                                        if accept_token == 75 then
                                                var location = new Location(_filename, start_line + 1, accept_line + 1, start_pos + 1, accept_pos)
-                                               var token = new TGt.init_tk(location)
+                                               var token = new TGe.init_tk(location)
                                                push_back(accept_length)
                                                _pos = accept_pos
                                                _line = accept_line
@@ -1946,7 +1944,7 @@ class Lexer
                                        end
                                        if accept_token == 76 then
                                                var location = new Location(_filename, start_line + 1, accept_line + 1, start_pos + 1, accept_pos)
-                                               var token = new TGe.init_tk(location)
+                                               var token = new TStarship.init_tk(location)
                                                push_back(accept_length)
                                                _pos = accept_pos
                                                _line = accept_line
@@ -1954,7 +1952,7 @@ class Lexer
                                        end
                                        if accept_token == 77 then
                                                var location = new Location(_filename, start_line + 1, accept_line + 1, start_pos + 1, accept_pos)
-                                               var token = new TStarship.init_tk(location)
+                                               var token = new TBang.init_tk(location)
                                                push_back(accept_length)
                                                _pos = accept_pos
                                                _line = accept_line
@@ -2051,9 +2049,9 @@ class Lexer
                                                return token
                                        end
                                else
-                                       var location = new Location(_filename, start_line + 1, accept_line + 1, start_pos + 1, accept_pos)
+                                       var location = new Location(_filename, start_line + 1, start_line + 1, start_pos + 1, start_pos + 1)
                                        if text.length > 0 then
-                                               var token = new AError.init_error("Unknown token: {text}", location)
+                                               var token = new AError.init_error("Syntax error: unknown token {text}.", location)
                                                return token
                                        else
                                                var token = new EOF(location)
@@ -2061,8 +2059,9 @@ class Lexer
                                        end
                                end
                        end
+                       if false then break # FIXME remove once unreach loop exits are in c_src
                end
-               return null
+               return null # FIXME remove once unreach loop exits are in c_src
        end
 
        # Read the next character.
@@ -2147,19 +2146,19 @@ class Lexer
                                        [105, 105, 34],
                                        [106, 107, 33],
                                        [108, 108, 35],
-                                       [109, 109, 36],
-                                       [110, 110, 37],
-                                       [111, 111, 38],
-                                       [112, 112, 39],
+                                       [109, 109, 33],
+                                       [110, 110, 36],
+                                       [111, 111, 37],
+                                       [112, 112, 38],
                                        [113, 113, 33],
-                                       [114, 114, 40],
-                                       [115, 115, 41],
-                                       [116, 116, 42],
-                                       [117, 117, 43],
-                                       [118, 118, 44],
-                                       [119, 119, 45],
+                                       [114, 114, 39],
+                                       [115, 115, 40],
+                                       [116, 116, 41],
+                                       [117, 117, 42],
+                                       [118, 118, 43],
+                                       [119, 119, 44],
                                        [120, 122, 33],
-                                       [125, 125, 46]
+                                       [125, 125, 45]
                                ],
                                [
                                        [9, 9, 1],
@@ -2167,235 +2166,230 @@ class Lexer
                                ],
                                nil_array,
                                [
-                                       [10, 10, 47]
+                                       [10, 10, 46]
                                ],
                                [
                                        [9, 32, -3]
                                ],
                                [
-                                       [61, 61, 48]
+                                       [61, 61, 47]
                                ],
                                [
-                                       [0, 9, 49],
-                                       [11, 12, 49],
-                                       [14, 33, 49],
-                                       [34, 34, 50],
-                                       [35, 91, 49],
-                                       [92, 92, 51],
-                                       [93, 122, 49],
-                                       [123, 123, 52],
-                                       [124, 255, 49]
+                                       [0, 9, 48],
+                                       [11, 12, 48],
+                                       [14, 33, 48],
+                                       [34, 34, 49],
+                                       [35, 91, 48],
+                                       [92, 92, 50],
+                                       [93, 122, 48],
+                                       [123, 123, 51],
+                                       [124, 255, 48]
                                ],
                                [
-                                       [0, 9, 53],
-                                       [10, 10, 54],
-                                       [11, 12, 53],
-                                       [13, 13, 55],
-                                       [14, 255, 53]
+                                       [0, 9, 52],
+                                       [10, 10, 53],
+                                       [11, 12, 52],
+                                       [13, 13, 54],
+                                       [14, 255, 52]
                                ],
                                nil_array,
                                [
-                                       [0, 9, 56],
-                                       [11, 12, 56],
-                                       [14, 38, 56],
-                                       [39, 39, 57],
-                                       [40, 255, 56]
+                                       [0, 9, 55],
+                                       [11, 12, 55],
+                                       [14, 38, 55],
+                                       [39, 39, 56],
+                                       [40, 255, 55]
                                ],
                                nil_array,
                                nil_array,
                                nil_array,
                                [
-                                       [61, 61, 58]
+                                       [61, 61, 57]
                                ],
                                nil_array,
                                [
-                                       [61, 61, 59]
+                                       [61, 61, 58]
                                ],
                                [
-                                       [46, 46, 60],
-                                       [48, 57, 61]
+                                       [46, 46, 59],
+                                       [48, 57, 60]
                                ],
                                nil_array,
                                [
-                                       [46, 46, 62],
+                                       [46, 46, 61],
                                        [48, 57, 18]
                                ],
                                [
-                                       [58, 58, 63]
+                                       [58, 58, 62]
                                ],
                                [
-                                       [61, 61, 64]
+                                       [61, 61, 63]
                                ],
                                [
-                                       [61, 61, 65]
+                                       [61, 61, 64]
                                ],
                                [
-                                       [61, 61, 66]
+                                       [61, 61, 65]
                                ],
                                [
-                                       [48, 57, 67],
-                                       [65, 90, 68],
-                                       [95, 95, 69],
-                                       [97, 122, 70]
+                                       [48, 57, 66],
+                                       [65, 90, 67],
+                                       [95, 95, 68],
+                                       [97, 122, 69]
                                ],
                                nil_array,
                                nil_array,
                                [
-                                       [97, 122, 71]
+                                       [97, 122, 70]
                                ],
                                [
-                                       [48, 57, 72],
-                                       [65, 90, 73],
-                                       [95, 95, 74],
-                                       [97, 97, 75],
-                                       [98, 98, 76],
-                                       [99, 109, 75],
-                                       [110, 110, 77],
-                                       [111, 114, 75],
-                                       [115, 115, 78],
-                                       [116, 116, 79],
-                                       [117, 122, 75]
+                                       [48, 57, 71],
+                                       [65, 90, 72],
+                                       [95, 95, 73],
+                                       [97, 97, 74],
+                                       [98, 98, 75],
+                                       [99, 109, 74],
+                                       [110, 110, 76],
+                                       [111, 114, 74],
+                                       [115, 115, 77],
+                                       [116, 122, 74]
                                ],
                                [
                                        [48, 95, -29],
-                                       [97, 113, 75],
-                                       [114, 114, 80],
-                                       [115, 122, 75]
+                                       [97, 113, 74],
+                                       [114, 114, 78],
+                                       [115, 122, 74]
                                ],
                                [
                                        [48, 95, -29],
-                                       [97, 107, 75],
-                                       [108, 108, 81],
-                                       [109, 110, 75],
-                                       [111, 111, 82],
-                                       [112, 122, 75]
+                                       [97, 107, 74],
+                                       [108, 108, 79],
+                                       [109, 110, 74],
+                                       [111, 111, 80],
+                                       [112, 122, 74]
                                ],
                                [
                                        [48, 95, -29],
-                                       [97, 110, 75],
-                                       [111, 111, 83],
-                                       [112, 122, 75]
+                                       [97, 110, 74],
+                                       [111, 111, 81],
+                                       [112, 122, 74]
                                ],
                                [
                                        [48, 107, -31],
-                                       [108, 108, 84],
-                                       [109, 109, 75],
-                                       [110, 110, 85],
-                                       [111, 119, 75],
-                                       [120, 120, 86],
-                                       [121, 122, 75]
+                                       [108, 108, 82],
+                                       [109, 109, 74],
+                                       [110, 110, 83],
+                                       [111, 119, 74],
+                                       [120, 120, 84],
+                                       [121, 122, 74]
                                ],
                                [
                                        [48, 95, -29],
-                                       [97, 97, 87],
-                                       [98, 110, 75],
-                                       [111, 111, 88],
-                                       [112, 116, 75],
-                                       [117, 117, 89],
-                                       [118, 122, 75]
+                                       [97, 97, 85],
+                                       [98, 110, 74],
+                                       [111, 111, 86],
+                                       [112, 116, 74],
+                                       [117, 117, 87],
+                                       [118, 122, 74]
                                ],
                                [
                                        [48, 95, -29],
-                                       [97, 122, 75]
+                                       [97, 122, 74]
                                ],
                                [
                                        [48, 95, -29],
-                                       [97, 101, 75],
-                                       [102, 102, 90],
-                                       [103, 108, 75],
-                                       [109, 109, 91],
-                                       [110, 110, 92],
-                                       [111, 114, 75],
-                                       [115, 115, 93],
-                                       [116, 122, 75]
+                                       [97, 101, 74],
+                                       [102, 102, 88],
+                                       [103, 108, 74],
+                                       [109, 109, 89],
+                                       [110, 110, 90],
+                                       [111, 114, 74],
+                                       [115, 115, 91],
+                                       [116, 122, 74]
                                ],
                                [
                                        [48, 95, -29],
-                                       [97, 97, 94],
-                                       [98, 122, 75]
+                                       [97, 97, 92],
+                                       [98, 110, 74],
+                                       [111, 111, 93],
+                                       [112, 122, 74]
                                ],
                                [
                                        [48, 95, -29],
-                                       [97, 100, 75],
-                                       [101, 101, 95],
-                                       [102, 122, 75]
-                               ],
-                               [
-                                       [48, 100, -38],
-                                       [101, 101, 96],
-                                       [102, 110, 75],
-                                       [111, 111, 97],
-                                       [112, 116, 75],
-                                       [117, 117, 98],
-                                       [118, 122, 75]
+                                       [97, 100, 74],
+                                       [101, 101, 94],
+                                       [102, 110, 74],
+                                       [111, 111, 95],
+                                       [112, 116, 74],
+                                       [117, 117, 96],
+                                       [118, 122, 74]
                                ],
                                [
                                        [48, 95, -29],
-                                       [97, 109, 75],
-                                       [110, 110, 99],
-                                       [111, 113, 75],
-                                       [114, 114, 100],
-                                       [115, 122, 75]
+                                       [97, 109, 74],
+                                       [110, 110, 97],
+                                       [111, 113, 74],
+                                       [114, 114, 98],
+                                       [115, 122, 74]
                                ],
                                [
                                        [48, 95, -29],
-                                       [97, 97, 101],
-                                       [98, 113, 75],
-                                       [114, 114, 102],
-                                       [115, 122, 75]
+                                       [97, 97, 99],
+                                       [98, 113, 74],
+                                       [114, 114, 100],
+                                       [115, 122, 74]
                                ],
                                [
                                        [48, 100, -38],
-                                       [101, 101, 103],
-                                       [102, 122, 75]
+                                       [101, 101, 101],
+                                       [102, 122, 74]
                                ],
                                [
                                        [48, 100, -38],
-                                       [101, 101, 104],
-                                       [102, 111, 75],
-                                       [112, 112, 105],
-                                       [113, 116, 75],
-                                       [117, 117, 106],
-                                       [118, 122, 75]
+                                       [101, 101, 102],
+                                       [102, 111, 74],
+                                       [112, 112, 103],
+                                       [113, 116, 74],
+                                       [117, 117, 104],
+                                       [118, 122, 74]
                                ],
                                [
                                        [48, 95, -29],
-                                       [97, 103, 75],
-                                       [104, 104, 107],
-                                       [105, 113, 75],
-                                       [114, 114, 108],
-                                       [115, 120, 75],
-                                       [121, 121, 109],
-                                       [122, 122, 75]
+                                       [97, 103, 74],
+                                       [104, 104, 105],
+                                       [105, 113, 74],
+                                       [114, 114, 106],
+                                       [115, 120, 74],
+                                       [121, 121, 107],
+                                       [122, 122, 74]
                                ],
                                [
-                                       [48, 109, -40],
-                                       [110, 110, 110],
-                                       [111, 122, 75]
+                                       [48, 109, -39],
+                                       [110, 110, 108],
+                                       [111, 122, 74]
                                ],
                                [
                                        [48, 95, -29],
-                                       [97, 97, 111],
-                                       [98, 122, 75]
+                                       [97, 97, 109],
+                                       [98, 122, 74]
                                ],
                                [
-                                       [48, 103, -44],
-                                       [104, 104, 112],
-                                       [105, 105, 113],
-                                       [106, 113, 75],
-                                       [114, 114, 114],
-                                       [115, 122, 75]
+                                       [48, 103, -43],
+                                       [104, 104, 110],
+                                       [105, 113, 74],
+                                       [114, 114, 111],
+                                       [115, 122, 74]
                                ],
                                [
-                                       [0, 9, 115],
-                                       [11, 12, 115],
-                                       [14, 33, 115],
-                                       [34, 34, 116],
-                                       [35, 91, 115],
-                                       [92, 92, 117],
-                                       [93, 122, 115],
-                                       [123, 123, 118],
-                                       [124, 255, 115]
+                                       [0, 9, 112],
+                                       [11, 12, 112],
+                                       [14, 33, 112],
+                                       [34, 34, 113],
+                                       [35, 91, 112],
+                                       [92, 92, 114],
+                                       [93, 122, 112],
+                                       [123, 123, 115],
+                                       [124, 255, 112]
                                ],
                                nil_array,
                                nil_array,
@@ -2404,9 +2398,9 @@ class Lexer
                                ],
                                nil_array,
                                [
-                                       [0, 9, 119],
-                                       [11, 12, 119],
-                                       [14, 255, 119]
+                                       [0, 9, 116],
+                                       [11, 12, 116],
+                                       [14, 255, 116]
                                ],
                                nil_array,
                                [
@@ -2414,7 +2408,7 @@ class Lexer
                                ],
                                nil_array,
                                [
-                                       [10, 10, 120]
+                                       [10, 10, 117]
                                ],
                                [
                                        [0, 255, -11]
@@ -2423,17 +2417,17 @@ class Lexer
                                nil_array,
                                nil_array,
                                [
-                                       [46, 46, 121]
+                                       [46, 46, 118]
                                ],
                                [
-                                       [48, 57, 61]
+                                       [48, 57, 60]
                                ],
                                [
-                                       [48, 57, 61]
+                                       [48, 57, 60]
                                ],
                                nil_array,
                                [
-                                       [62, 62, 122]
+                                       [62, 62, 119]
                                ],
                                nil_array,
                                nil_array,
@@ -2450,10 +2444,10 @@ class Lexer
                                        [48, 122, -25]
                                ],
                                [
-                                       [48, 57, 123],
-                                       [65, 90, 124],
-                                       [95, 95, 125],
-                                       [97, 122, 126]
+                                       [48, 57, 120],
+                                       [65, 90, 121],
+                                       [95, 95, 122],
+                                       [97, 122, 123]
                                ],
                                [
                                        [48, 122, -35]
@@ -2469,221 +2463,211 @@ class Lexer
                                ],
                                [
                                        [48, 110, -32],
-                                       [111, 111, 127],
-                                       [112, 114, 75],
-                                       [115, 115, 128],
-                                       [116, 122, 75]
+                                       [111, 111, 124],
+                                       [112, 114, 74],
+                                       [115, 115, 125],
+                                       [116, 122, 74]
                                ],
                                [
                                        [48, 95, -29],
-                                       [97, 99, 75],
-                                       [100, 100, 129],
-                                       [101, 122, 75]
+                                       [97, 99, 74],
+                                       [100, 100, 126],
+                                       [101, 122, 74]
                                ],
                                [
                                        [48, 95, -29],
-                                       [97, 114, 75],
-                                       [115, 115, 130],
-                                       [116, 122, 75]
-                               ],
-                               [
-                                       [48, 95, -29],
-                                       [97, 115, 75],
-                                       [116, 116, 131],
-                                       [117, 122, 75]
+                                       [97, 114, 74],
+                                       [115, 115, 127],
+                                       [116, 122, 74]
                                ],
                                [
                                        [48, 100, -38],
-                                       [101, 101, 132],
-                                       [102, 122, 75]
+                                       [101, 101, 128],
+                                       [102, 122, 74]
                                ],
                                [
                                        [48, 95, -29],
-                                       [97, 97, 133],
-                                       [98, 122, 75]
+                                       [97, 97, 129],
+                                       [98, 122, 74]
                                ],
                                [
-                                       [48, 109, -40],
-                                       [110, 110, 134],
-                                       [111, 122, 75]
+                                       [48, 109, -39],
+                                       [110, 110, 130],
+                                       [111, 122, 74]
                                ],
                                [
                                        [48, 122, -35]
                                ],
                                [
-                                       [48, 114, -80],
-                                       [115, 115, 135],
-                                       [116, 122, 75]
+                                       [48, 114, -79],
+                                       [115, 115, 131],
+                                       [116, 122, 74]
                                ],
                                [
-                                       [48, 99, -79],
-                                       [100, 100, 136],
-                                       [101, 122, 75]
+                                       [48, 99, -78],
+                                       [100, 100, 132],
+                                       [101, 122, 74]
                                ],
                                [
-                                       [48, 115, -81],
-                                       [116, 116, 137],
-                                       [117, 122, 75]
+                                       [48, 95, -29],
+                                       [97, 115, 74],
+                                       [116, 116, 133],
+                                       [117, 122, 74]
                                ],
                                [
                                        [48, 107, -31],
-                                       [108, 108, 138],
-                                       [109, 122, 75]
+                                       [108, 108, 134],
+                                       [109, 122, 74]
                                ],
                                [
                                        [48, 113, -30],
-                                       [114, 114, 139],
-                                       [115, 122, 75]
+                                       [114, 114, 135],
+                                       [115, 122, 74]
                                ],
                                [
-                                       [48, 109, -40],
-                                       [110, 110, 140],
-                                       [111, 122, 75]
+                                       [48, 109, -39],
+                                       [110, 110, 136],
+                                       [111, 122, 74]
                                ],
                                [
                                        [48, 122, -35]
                                ],
                                [
                                        [48, 95, -29],
-                                       [97, 111, 75],
-                                       [112, 112, 141],
-                                       [113, 122, 75]
+                                       [97, 111, 74],
+                                       [112, 112, 137],
+                                       [113, 122, 74]
                                ],
                                [
                                        [48, 95, -29],
-                                       [97, 104, 75],
-                                       [105, 105, 142],
-                                       [106, 115, 75],
-                                       [116, 116, 143],
-                                       [117, 122, 75]
+                                       [97, 104, 74],
+                                       [105, 105, 138],
+                                       [106, 115, 74],
+                                       [116, 116, 139],
+                                       [117, 122, 74]
                                ],
                                [
                                        [48, 95, -29],
-                                       [97, 97, 144],
-                                       [98, 114, 75],
-                                       [115, 115, 145],
-                                       [116, 122, 75]
+                                       [97, 97, 140],
+                                       [98, 114, 74],
+                                       [115, 115, 141],
+                                       [116, 122, 74]
                                ],
                                [
                                        [48, 97, -29],
-                                       [98, 98, 146],
-                                       [99, 122, 75]
+                                       [98, 98, 142],
+                                       [99, 122, 74]
                                ],
                                [
-                                       [48, 115, -81],
-                                       [116, 116, 147],
-                                       [117, 122, 75]
+                                       [48, 110, -32],
+                                       [111, 111, 143],
+                                       [112, 122, 74]
                                ],
                                [
                                        [48, 95, -29],
-                                       [97, 118, 75],
-                                       [119, 119, 148],
-                                       [120, 122, 75]
+                                       [97, 118, 74],
+                                       [119, 119, 144],
+                                       [120, 122, 74]
                                ],
                                [
-                                       [48, 115, -81],
-                                       [116, 116, 149],
-                                       [117, 122, 75]
+                                       [48, 115, -86],
+                                       [116, 116, 145],
+                                       [117, 122, 74]
                                ],
                                [
                                        [48, 107, -31],
-                                       [108, 108, 150],
-                                       [109, 122, 75]
+                                       [108, 108, 146],
+                                       [109, 122, 74]
                                ],
                                [
                                        [48, 95, -29],
-                                       [97, 98, 75],
-                                       [99, 99, 151],
-                                       [100, 122, 75]
+                                       [97, 98, 74],
+                                       [99, 99, 147],
+                                       [100, 122, 74]
                                ],
                                [
                                        [48, 122, -35]
                                ],
                                [
-                                       [48, 98, -101],
-                                       [99, 99, 152],
-                                       [100, 122, 75]
+                                       [48, 98, -99],
+                                       [99, 99, 148],
+                                       [100, 122, 74]
                                ],
                                [
-                                       [48, 104, -94],
-                                       [105, 105, 153],
-                                       [106, 110, 75],
-                                       [111, 111, 154],
-                                       [112, 122, 75]
+                                       [48, 104, -92],
+                                       [105, 105, 149],
+                                       [106, 110, 74],
+                                       [111, 111, 150],
+                                       [112, 122, 74]
                                ],
                                [
                                        [48, 95, -29],
-                                       [97, 97, 155],
-                                       [98, 99, 75],
-                                       [100, 100, 156],
-                                       [101, 115, 75],
-                                       [116, 116, 157],
-                                       [117, 122, 75]
+                                       [97, 97, 151],
+                                       [98, 99, 74],
+                                       [100, 100, 152],
+                                       [101, 115, 74],
+                                       [116, 116, 153],
+                                       [117, 122, 74]
                                ],
                                [
                                        [48, 107, -31],
-                                       [108, 108, 158],
-                                       [109, 122, 75]
+                                       [108, 108, 154],
+                                       [109, 122, 74]
                                ],
                                [
                                        [48, 100, -38],
-                                       [101, 101, 159],
-                                       [102, 122, 75]
+                                       [101, 101, 155],
+                                       [102, 122, 74]
                                ],
                                [
-                                       [48, 111, -93],
-                                       [112, 112, 160],
-                                       [113, 122, 75]
+                                       [48, 111, -91],
+                                       [112, 112, 156],
+                                       [113, 122, 74]
                                ],
                                [
                                        [48, 100, -38],
-                                       [101, 101, 161],
-                                       [102, 122, 75]
+                                       [101, 101, 157],
+                                       [102, 122, 74]
                                ],
                                [
                                        [48, 95, -29],
-                                       [97, 116, 75],
-                                       [117, 117, 162],
-                                       [118, 122, 75]
+                                       [97, 116, 74],
+                                       [117, 117, 158],
+                                       [118, 122, 74]
                                ],
                                [
-                                       [48, 111, -93],
-                                       [112, 112, 163],
-                                       [113, 122, 75]
+                                       [48, 111, -91],
+                                       [112, 112, 159],
+                                       [113, 122, 74]
                                ],
                                [
-                                       [48, 104, -94],
-                                       [105, 105, 164],
-                                       [106, 122, 75]
+                                       [48, 104, -92],
+                                       [105, 105, 160],
+                                       [106, 122, 74]
                                ],
                                [
                                        [48, 113, -30],
-                                       [114, 114, 165],
-                                       [115, 122, 75]
-                               ],
-                               [
-                                       [48, 104, -94],
-                                       [105, 105, 166],
-                                       [106, 122, 75]
+                                       [114, 114, 161],
+                                       [115, 122, 74]
                                ],
                                [
-                                       [48, 115, -81],
-                                       [116, 116, 167],
-                                       [117, 122, 75]
+                                       [48, 104, -92],
+                                       [105, 105, 162],
+                                       [106, 122, 74]
                                ],
                                [
-                                       [48, 104, -94],
-                                       [105, 105, 168],
-                                       [106, 122, 75]
+                                       [48, 104, -92],
+                                       [105, 105, 163],
+                                       [106, 122, 74]
                                ],
                                [
-                                       [0, 255, -48]
+                                       [0, 255, -47]
                                ],
                                nil_array,
                                [
-                                       [0, 9, 169],
-                                       [11, 12, 169],
-                                       [14, 255, 169]
+                                       [0, 9, 164],
+                                       [11, 12, 164],
+                                       [14, 255, 164]
                                ],
                                nil_array,
                                [
@@ -2693,72 +2677,67 @@ class Lexer
                                nil_array,
                                nil_array,
                                [
-                                       [48, 122, -73]
+                                       [48, 122, -72]
                                ],
                                [
-                                       [48, 122, -73]
+                                       [48, 122, -72]
                                ],
                                [
-                                       [48, 122, -73]
+                                       [48, 122, -72]
                                ],
                                [
-                                       [48, 122, -73]
+                                       [48, 122, -72]
                                ],
                                [
                                        [48, 113, -30],
-                                       [114, 114, 170],
-                                       [115, 122, 75]
+                                       [114, 114, 165],
+                                       [115, 122, 74]
                                ],
                                [
-                                       [48, 115, -81],
-                                       [116, 116, 171],
-                                       [117, 122, 75]
+                                       [48, 115, -86],
+                                       [116, 116, 166],
+                                       [117, 122, 74]
                                ],
                                [
                                        [48, 122, -35]
                                ],
                                [
                                        [48, 100, -38],
-                                       [101, 101, 172],
-                                       [102, 122, 75]
-                               ],
-                               [
-                                       [48, 113, -30],
-                                       [114, 114, 173],
-                                       [115, 122, 75]
+                                       [101, 101, 167],
+                                       [102, 122, 74]
                                ],
                                [
                                        [48, 95, -29],
-                                       [97, 97, 174],
-                                       [98, 122, 75]
+                                       [97, 97, 168],
+                                       [98, 122, 74]
                                ],
                                [
-                                       [48, 114, -80],
-                                       [115, 115, 175],
-                                       [116, 122, 75]
+                                       [48, 114, -79],
+                                       [115, 115, 169],
+                                       [116, 122, 74]
                                ],
                                [
-                                       [48, 115, -81],
-                                       [116, 116, 176],
-                                       [117, 122, 75]
+                                       [48, 115, -86],
+                                       [116, 116, 170],
+                                       [117, 122, 74]
                                ],
                                [
                                        [48, 100, -38],
-                                       [101, 101, 177],
-                                       [102, 122, 75]
+                                       [101, 101, 171],
+                                       [102, 122, 74]
                                ],
                                [
                                        [48, 122, -35]
                                ],
                                [
                                        [48, 100, -38],
-                                       [101, 101, 178],
-                                       [102, 122, 75]
+                                       [101, 101, 172],
+                                       [102, 122, 74]
                                ],
                                [
-                                       [48, 114, -80],
-                                       [115, 115, 179],
-                                       [116, 122, 75]
+                                       [48, 114, -79],
+                                       [115, 115, 173],
+                                       [116, 122, 74]
                                ],
                                [
                                        [48, 122, -35]
@@ -2768,38 +2747,38 @@ class Lexer
                                ],
                                [
                                        [48, 110, -32],
-                                       [111, 111, 180],
-                                       [112, 122, 75]
+                                       [111, 111, 174],
+                                       [112, 122, 74]
                                ],
                                [
-                                       [48, 115, -81],
-                                       [116, 116, 181],
-                                       [117, 122, 75]
+                                       [48, 115, -86],
+                                       [116, 116, 175],
+                                       [117, 122, 74]
                                ],
                                [
                                        [48, 100, -38],
-                                       [101, 101, 182],
-                                       [102, 113, 75],
-                                       [114, 114, 183],
-                                       [115, 122, 75]
+                                       [101, 101, 176],
+                                       [102, 113, 74],
+                                       [114, 114, 177],
+                                       [115, 122, 74]
                                ],
                                [
                                        [48, 122, -35]
                                ],
                                [
                                        [48, 100, -38],
-                                       [101, 101, 184],
-                                       [102, 122, 75]
+                                       [101, 101, 178],
+                                       [102, 122, 74]
                                ],
                                [
                                        [48, 100, -38],
-                                       [101, 101, 185],
-                                       [102, 122, 75]
+                                       [101, 101, 179],
+                                       [102, 122, 74]
                                ],
                                [
-                                       [48, 103, -44],
-                                       [104, 104, 186],
-                                       [105, 122, 75]
+                                       [48, 111, -91],
+                                       [112, 112, 180],
+                                       [113, 122, 74]
                                ],
                                [
                                        [48, 122, -35]
@@ -2809,229 +2788,221 @@ class Lexer
                                ],
                                [
                                        [48, 107, -31],
-                                       [108, 108, 187],
-                                       [109, 122, 75]
+                                       [108, 108, 181],
+                                       [109, 122, 74]
                                ],
                                [
                                        [48, 100, -38],
-                                       [101, 101, 188],
-                                       [102, 122, 75]
+                                       [101, 101, 182],
+                                       [102, 122, 74]
                                ],
                                [
                                        [48, 95, -29],
-                                       [97, 106, 75],
-                                       [107, 107, 189],
-                                       [108, 122, 75]
+                                       [97, 106, 74],
+                                       [107, 107, 183],
+                                       [108, 122, 74]
                                ],
                                [
                                        [48, 95, -29],
-                                       [97, 117, 75],
-                                       [118, 118, 190],
-                                       [119, 122, 75]
+                                       [97, 117, 74],
+                                       [118, 118, 184],
+                                       [119, 122, 74]
                                ],
                                [
-                                       [48, 115, -81],
-                                       [116, 116, 191],
-                                       [117, 122, 75]
+                                       [48, 115, -86],
+                                       [116, 116, 185],
+                                       [117, 122, 74]
                                ],
                                [
-                                       [48, 99, -79],
-                                       [100, 100, 192],
-                                       [101, 122, 75]
+                                       [48, 99, -78],
+                                       [100, 100, 186],
+                                       [101, 122, 74]
                                ],
                                [
                                        [48, 100, -38],
-                                       [101, 101, 193],
-                                       [102, 122, 75]
+                                       [101, 101, 187],
+                                       [102, 122, 74]
                                ],
                                [
-                                       [48, 116, -110],
-                                       [117, 117, 194],
-                                       [118, 122, 75]
+                                       [48, 116, -108],
+                                       [117, 117, 188],
+                                       [118, 122, 74]
                                ],
                                [
                                        [48, 101, -36],
-                                       [102, 102, 195],
-                                       [103, 122, 75]
+                                       [102, 102, 189],
+                                       [103, 122, 74]
                                ],
                                [
-                                       [48, 98, -101],
-                                       [99, 99, 196],
-                                       [100, 122, 75]
+                                       [48, 98, -99],
+                                       [99, 99, 190],
+                                       [100, 122, 74]
                                ],
                                [
                                        [48, 100, -38],
-                                       [101, 101, 197],
-                                       [102, 122, 75]
+                                       [101, 101, 191],
+                                       [102, 122, 74]
                                ],
                                [
-                                       [48, 109, -40],
-                                       [110, 110, 198],
-                                       [111, 122, 75]
+                                       [48, 109, -39],
+                                       [110, 110, 192],
+                                       [111, 122, 74]
                                ],
                                [
                                        [48, 100, -38],
-                                       [101, 101, 199],
-                                       [102, 122, 75]
+                                       [101, 101, 193],
+                                       [102, 122, 74]
                                ],
                                [
                                        [48, 100, -38],
-                                       [101, 101, 200],
-                                       [102, 122, 75]
+                                       [101, 101, 194],
+                                       [102, 122, 74]
                                ],
                                [
-                                       [48, 117, -155],
-                                       [118, 118, 201],
-                                       [119, 122, 75]
+                                       [48, 117, -151],
+                                       [118, 118, 195],
+                                       [119, 122, 74]
                                ],
                                [
                                        [48, 122, -35]
                                ],
                                [
                                        [48, 107, -31],
-                                       [108, 108, 202],
-                                       [109, 122, 75]
+                                       [108, 108, 196],
+                                       [109, 122, 74]
                                ],
                                [
-                                       [48, 103, -44],
-                                       [104, 104, 203],
-                                       [105, 122, 75]
+                                       [48, 115, -86],
+                                       [116, 116, 197],
+                                       [117, 122, 74]
                                ],
                                [
-                                       [48, 115, -81],
-                                       [116, 116, 204],
-                                       [117, 122, 75]
+                                       [0, 255, -47]
                                ],
                                [
-                                       [0, 255, -48]
-                               ],
-                               [
-                                       [48, 115, -81],
-                                       [116, 116, 205],
-                                       [117, 122, 75]
+                                       [48, 115, -86],
+                                       [116, 116, 198],
+                                       [117, 122, 74]
                                ],
                                [
                                        [48, 113, -30],
-                                       [114, 114, 206],
-                                       [115, 122, 75]
+                                       [114, 114, 199],
+                                       [115, 122, 74]
                                ],
                                [
                                        [48, 113, -30],
-                                       [114, 114, 207],
-                                       [115, 122, 75]
-                               ],
-                               [
-                                       [48, 122, -35]
+                                       [114, 114, 200],
+                                       [115, 122, 74]
                                ],
                                [
-                                       [48, 106, -154],
-                                       [107, 107, 208],
-                                       [108, 122, 75]
+                                       [48, 106, -150],
+                                       [107, 107, 201],
+                                       [108, 122, 74]
                                ],
                                [
-                                       [48, 114, -80],
-                                       [115, 115, 209],
-                                       [116, 122, 75]
+                                       [48, 114, -79],
+                                       [115, 115, 202],
+                                       [116, 122, 74]
                                ],
                                [
-                                       [48, 104, -94],
-                                       [105, 105, 210],
-                                       [106, 122, 75]
+                                       [48, 104, -92],
+                                       [105, 105, 203],
+                                       [106, 122, 74]
                                ],
                                [
                                        [48, 122, -35]
                                ],
                                [
                                        [48, 113, -30],
-                                       [114, 114, 211],
-                                       [115, 122, 75]
+                                       [114, 114, 204],
+                                       [115, 122, 74]
                                ],
                                [
                                        [48, 100, -38],
-                                       [101, 101, 212],
-                                       [102, 122, 75]
+                                       [101, 101, 205],
+                                       [102, 122, 74]
                                ],
                                [
                                        [48, 113, -30],
-                                       [114, 114, 213],
-                                       [115, 122, 75]
+                                       [114, 114, 206],
+                                       [115, 122, 74]
                                ],
                                [
                                        [48, 122, -35]
                                ],
                                [
                                        [48, 113, -30],
-                                       [114, 114, 214],
-                                       [115, 122, 75]
+                                       [114, 114, 207],
+                                       [115, 122, 74]
                                ],
                                [
-                                       [48, 116, -110],
-                                       [117, 117, 215],
-                                       [118, 122, 75]
+                                       [48, 116, -108],
+                                       [117, 117, 208],
+                                       [118, 122, 74]
                                ],
                                [
-                                       [48, 115, -81],
-                                       [116, 116, 216],
-                                       [117, 122, 75]
+                                       [48, 115, -86],
+                                       [116, 116, 209],
+                                       [117, 122, 74]
                                ],
                                [
                                        [48, 107, -31],
-                                       [108, 108, 217],
-                                       [109, 122, 75]
+                                       [108, 108, 210],
+                                       [109, 122, 74]
                                ],
                                [
                                        [48, 122, -35]
                                ],
                                [
                                        [48, 95, -29],
-                                       [97, 97, 218],
-                                       [98, 122, 75]
+                                       [97, 97, 211],
+                                       [98, 122, 74]
                                ],
                                [
                                        [48, 122, -35]
                                ],
                                [
                                        [48, 95, -29],
-                                       [97, 97, 219],
-                                       [98, 122, 75]
+                                       [97, 97, 212],
+                                       [98, 122, 74]
                                ],
                                [
                                        [48, 95, -29],
-                                       [97, 97, 220],
-                                       [98, 122, 75]
+                                       [97, 97, 213],
+                                       [98, 122, 74]
                                ],
                                [
                                        [48, 100, -38],
-                                       [101, 101, 221],
-                                       [102, 122, 75]
+                                       [101, 101, 214],
+                                       [102, 122, 74]
                                ],
                                [
                                        [48, 95, -29],
-                                       [97, 97, 222],
-                                       [98, 122, 75]
+                                       [97, 97, 215],
+                                       [98, 122, 74]
                                ],
                                [
                                        [48, 101, -36],
-                                       [102, 102, 223],
-                                       [103, 122, 75]
+                                       [102, 102, 216],
+                                       [103, 122, 74]
                                ],
                                [
                                        [48, 113, -30],
-                                       [114, 114, 224],
-                                       [115, 122, 75]
+                                       [114, 114, 217],
+                                       [115, 122, 74]
                                ],
                                [
                                        [48, 122, -35]
                                ],
                                [
-                                       [48, 104, -94],
-                                       [105, 105, 225],
-                                       [106, 122, 75]
+                                       [48, 104, -92],
+                                       [105, 105, 218],
+                                       [106, 122, 74]
                                ],
                                [
                                        [48, 113, -30],
-                                       [114, 114, 226],
-                                       [115, 122, 75]
+                                       [114, 114, 219],
+                                       [115, 122, 74]
                                ],
                                [
                                        [48, 122, -35]
@@ -3044,34 +3015,31 @@ class Lexer
                                ],
                                [
                                        [48, 100, -38],
-                                       [101, 101, 227],
-                                       [102, 122, 75]
+                                       [101, 101, 220],
+                                       [102, 122, 74]
                                ],
                                [
                                        [48, 100, -38],
-                                       [101, 101, 228],
-                                       [102, 122, 75]
-                               ],
-                               [
-                                       [48, 122, -35]
+                                       [101, 101, 221],
+                                       [102, 122, 74]
                                ],
                                [
                                        [48, 95, -29],
-                                       [97, 97, 229],
-                                       [98, 122, 75]
+                                       [97, 97, 222],
+                                       [98, 122, 74]
                                ],
                                [
                                        [48, 122, -35]
                                ],
                                [
                                        [48, 95, -29],
-                                       [97, 97, 230],
-                                       [98, 122, 75]
+                                       [97, 97, 223],
+                                       [98, 122, 74]
                                ],
                                [
-                                       [48, 115, -81],
-                                       [116, 116, 231],
-                                       [117, 122, 75]
+                                       [48, 115, -86],
+                                       [116, 116, 224],
+                                       [117, 122, 74]
                                ],
                                [
                                        [48, 122, -35]
@@ -3080,34 +3048,34 @@ class Lexer
                                        [48, 122, -35]
                                ],
                                [
-                                       [48, 109, -40],
-                                       [110, 110, 232],
-                                       [111, 122, 75]
+                                       [48, 109, -39],
+                                       [110, 110, 225],
+                                       [111, 122, 74]
                                ],
                                [
-                                       [48, 109, -40],
-                                       [110, 110, 233],
-                                       [111, 122, 75]
+                                       [48, 109, -39],
+                                       [110, 110, 226],
+                                       [111, 122, 74]
                                ],
                                [
                                        [48, 122, -35]
                                ],
                                [
-                                       [48, 115, -81],
-                                       [116, 116, 234],
-                                       [117, 122, 75]
+                                       [48, 115, -86],
+                                       [116, 116, 227],
+                                       [117, 122, 74]
                                ],
                                [
                                        [48, 101, -36],
-                                       [102, 102, 235],
-                                       [103, 109, 75],
-                                       [110, 110, 236],
-                                       [111, 122, 75]
+                                       [102, 102, 228],
+                                       [103, 109, 74],
+                                       [110, 110, 229],
+                                       [111, 122, 74]
                                ],
                                [
-                                       [48, 99, -79],
-                                       [100, 100, 237],
-                                       [101, 122, 75]
+                                       [48, 99, -78],
+                                       [100, 100, 230],
+                                       [101, 122, 74]
                                ],
                                [
                                        [48, 122, -35]
@@ -3117,71 +3085,71 @@ class Lexer
                                ],
                                [
                                        [48, 97, -29],
-                                       [98, 98, 238],
-                                       [99, 122, 75]
+                                       [98, 98, 231],
+                                       [99, 122, 74]
                                ],
                                [
                                        [48, 95, -29],
-                                       [97, 102, 75],
-                                       [103, 103, 239],
-                                       [104, 122, 75]
+                                       [97, 102, 74],
+                                       [103, 103, 232],
+                                       [104, 122, 74]
                                ],
                                [
-                                       [48, 115, -81],
-                                       [116, 116, 240],
-                                       [117, 122, 75]
+                                       [48, 115, -86],
+                                       [116, 116, 233],
+                                       [117, 122, 74]
                                ],
                                [
-                                       [48, 98, -101],
-                                       [99, 99, 241],
-                                       [100, 122, 75]
+                                       [48, 98, -99],
+                                       [99, 99, 234],
+                                       [100, 122, 74]
                                ],
                                [
                                        [48, 97, -29],
-                                       [98, 98, 242],
-                                       [99, 122, 75]
+                                       [98, 98, 235],
+                                       [99, 122, 74]
                                ],
                                [
                                        [48, 122, -35]
                                ],
                                [
-                                       [48, 109, -40],
-                                       [110, 110, 243],
-                                       [111, 122, 75]
+                                       [48, 109, -39],
+                                       [110, 110, 236],
+                                       [111, 122, 74]
                                ],
                                [
                                        [48, 95, -29],
-                                       [97, 97, 244],
-                                       [98, 122, 75]
+                                       [97, 97, 237],
+                                       [98, 122, 74]
                                ],
                                [
                                        [48, 122, -35]
                                ],
                                [
                                        [48, 113, -30],
-                                       [114, 114, 245],
-                                       [115, 122, 75]
+                                       [114, 114, 238],
+                                       [115, 122, 74]
                                ],
                                [
                                        [48, 122, -35]
                                ],
                                [
                                        [48, 97, -29],
-                                       [98, 98, 246],
-                                       [99, 122, 75]
+                                       [98, 98, 239],
+                                       [99, 122, 74]
                                ],
                                [
-                                       [48, 98, -101],
-                                       [99, 99, 247],
-                                       [100, 122, 75]
+                                       [48, 98, -99],
+                                       [99, 99, 240],
+                                       [100, 122, 74]
                                ],
                                [
                                        [48, 122, -35]
                                ],
                                [
-                                       [48, 116, -110],
-                                       [117, 117, 248],
-                                       [118, 122, 75]
+                                       [48, 116, -108],
+                                       [117, 117, 241],
+                                       [118, 122, 74]
                                ],
                                [
                                        [48, 122, -35]
@@ -3191,82 +3159,82 @@ class Lexer
                                ],
                                [
                                        [48, 95, -29],
-                                       [97, 97, 249],
-                                       [98, 122, 75]
+                                       [97, 97, 242],
+                                       [98, 122, 74]
                                ],
                                [
                                        [48, 122, -35]
                                ],
                                [
                                        [48, 100, -38],
-                                       [101, 101, 250],
-                                       [102, 122, 75]
+                                       [101, 101, 243],
+                                       [102, 122, 74]
                                ],
                                [
                                        [48, 107, -31],
-                                       [108, 108, 251],
-                                       [109, 122, 75]
+                                       [108, 108, 244],
+                                       [109, 122, 74]
                                ],
                                [
                                        [48, 100, -38],
-                                       [101, 101, 252],
-                                       [102, 122, 75]
+                                       [101, 101, 245],
+                                       [102, 122, 74]
                                ],
                                [
                                        [48, 100, -38],
-                                       [101, 101, 253],
-                                       [102, 122, 75]
+                                       [101, 101, 246],
+                                       [102, 122, 74]
                                ],
                                [
-                                       [48, 115, -81],
-                                       [116, 116, 254],
-                                       [117, 122, 75]
+                                       [48, 115, -86],
+                                       [116, 116, 247],
+                                       [117, 122, 74]
                                ],
                                [
                                        [48, 107, -31],
-                                       [108, 108, 255],
-                                       [109, 122, 75]
+                                       [108, 108, 248],
+                                       [109, 122, 74]
                                ],
                                [
                                        [48, 122, -35]
                                ],
                                [
                                        [48, 107, -31],
-                                       [108, 108, 256],
-                                       [109, 122, 75]
+                                       [108, 108, 249],
+                                       [109, 122, 74]
                                ],
                                [
-                                       [48, 114, -80],
-                                       [115, 115, 257],
-                                       [116, 122, 75]
+                                       [48, 114, -79],
+                                       [115, 115, 250],
+                                       [116, 122, 74]
                                ],
                                [
                                        [48, 107, -31],
-                                       [108, 108, 258],
-                                       [109, 122, 75]
+                                       [108, 108, 251],
+                                       [109, 122, 74]
                                ],
                                [
-                                       [48, 115, -81],
-                                       [116, 116, 259],
-                                       [117, 122, 75]
+                                       [48, 115, -86],
+                                       [116, 116, 252],
+                                       [117, 122, 74]
                                ],
                                [
                                        [48, 100, -38],
-                                       [101, 101, 260],
-                                       [102, 122, 75]
+                                       [101, 101, 253],
+                                       [102, 122, 74]
                                ],
                                [
-                                       [48, 98, -101],
-                                       [99, 99, 261],
-                                       [100, 122, 75]
+                                       [48, 98, -99],
+                                       [99, 99, 254],
+                                       [100, 122, 74]
                                ],
                                [
                                        [48, 122, -35]
                                ],
                                [
                                        [48, 100, -38],
-                                       [101, 101, 262],
-                                       [102, 122, 75]
+                                       [101, 101, 255],
+                                       [102, 122, 74]
                                ],
                                [
                                        [48, 122, -35]
@@ -3276,26 +3244,26 @@ class Lexer
                                ],
                                [
                                        [48, 100, -38],
-                                       [101, 101, 263],
-                                       [102, 122, 75]
+                                       [101, 101, 256],
+                                       [102, 122, 74]
                                ],
                                [
                                        [48, 100, -38],
-                                       [101, 101, 264],
-                                       [102, 122, 75]
+                                       [101, 101, 257],
+                                       [102, 122, 74]
                                ],
                                [
                                        [48, 122, -35]
                                ],
                                [
                                        [48, 95, -29],
-                                       [97, 97, 265],
-                                       [98, 122, 75]
+                                       [97, 97, 258],
+                                       [98, 122, 74]
                                ],
                                [
                                        [48, 100, -38],
-                                       [101, 101, 266],
-                                       [102, 122, 75]
+                                       [101, 101, 259],
+                                       [102, 122, 74]
                                ],
                                [
                                        [48, 122, -35]
@@ -3305,24 +3273,24 @@ class Lexer
                                ],
                                [
                                        [48, 100, -38],
-                                       [101, 101, 267],
-                                       [102, 122, 75]
+                                       [101, 101, 260],
+                                       [102, 122, 74]
                                ],
                                [
                                        [48, 122, -35]
                                ],
                                [
-                                       [48, 99, -79],
-                                       [100, 100, 268],
-                                       [101, 122, 75]
+                                       [48, 99, -78],
+                                       [100, 100, 261],
+                                       [101, 122, 74]
                                ],
                                [
                                        [48, 122, -35]
                                ],
                                [
                                        [48, 107, -31],
-                                       [108, 108, 269],
-                                       [109, 122, 75]
+                                       [108, 108, 262],
+                                       [109, 122, 74]
                                ],
                                [
                                        [48, 122, -35]
@@ -3349,7 +3317,7 @@ class Lexer
        private fun build_accept_table do
                _accept_table = once [
                        [
-                               -1,0,1,1,0,-1,-1,-1,70,-1,53,54,68,66,57,67,65,69,81,58,73,60,75,78,55,56,-1,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,-1,1,72,-1,84,-1,85,-1,2,2,-1,83,61,62,64,82,-1,59,74,71,76,78,78,78,78,80,79,79,79,79,79,79,48,79,79,79,79,17,79,79,79,79,79,79,26,79,31,16,79,79,79,79,79,79,33,79,79,79,79,79,79,79,79,79,79,79,79,79,79,-1,87,-1,86,-1,2,63,77,80,80,80,80,79,79,32,79,79,79,79,79,79,10,79,79,30,11,79,79,79,41,79,79,79,40,34,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,20,79,79,79,-1,79,79,79,13,79,79,79,28,79,79,79,14,79,79,79,79,11,47,42,79,79,79,79,79,79,44,79,79,27,45,12,79,79,49,79,38,79,79,37,5,79,79,46,79,79,79,51,52,79,79,79,79,79,15,79,79,43,79,29,79,79,39,79,22,4,79,21,79,79,79,79,79,79,35,79,79,79,79,79,79,25,79,3,24,79,79,9,79,79,6,36,79,50,79,18,79,19,7,23,8
+                               -1,0,1,1,0,77,-1,-1,69,-1,52,53,67,65,56,66,64,68,81,57,72,59,74,78,54,55,-1,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,-1,1,71,-1,84,-1,85,-1,2,2,-1,83,60,61,63,82,-1,58,73,70,75,78,78,78,78,80,79,79,79,79,79,79,48,79,79,79,16,79,79,79,79,79,79,25,79,31,15,79,79,79,79,79,79,33,79,79,79,79,79,79,79,79,79,79,79,79,79,-1,87,-1,86,-1,2,62,76,80,80,80,80,79,79,32,79,79,79,79,79,10,79,79,30,11,79,79,79,41,79,79,79,40,34,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,19,79,79,-1,79,79,79,79,79,79,27,79,79,79,13,79,79,79,79,29,47,42,79,79,79,79,79,79,44,79,79,26,45,12,79,79,79,38,79,79,37,5,79,79,46,79,79,79,50,51,79,79,79,79,79,14,79,79,43,79,28,79,79,39,79,21,4,79,20,79,79,79,79,79,79,35,79,79,79,79,79,79,24,79,3,23,79,79,9,79,79,6,36,79,49,79,17,79,18,7,22,8
 
                        ]
                ]