parser: closure syntax use '!' instead of 'with'
[nit.git] / src / parser / lexer.nit
index fd1edf5..65bdf36 100644 (file)
@@ -625,23 +625,10 @@ redef class TKwas
     end
 end
 
-redef class TKwwith
-    redef fun parser_index: Int
-    do
-       return 47
-    end
-
-    init init_tk(loc: Location)
-    do
-        _text = once "with"
-               _location = loc
-    end
-end
-
 redef class TKwnullable
     redef fun parser_index: Int
     do
-       return 48
+       return 47
     end
 
     init init_tk(loc: Location)
@@ -654,7 +641,7 @@ end
 redef class TKwisset
     redef fun parser_index: Int
     do
-       return 49
+       return 48
     end
 
     init init_tk(loc: Location)
@@ -667,7 +654,7 @@ end
 redef class TKwlabel
     redef fun parser_index: Int
     do
-       return 50
+       return 49
     end
 
     init init_tk(loc: Location)
@@ -680,7 +667,7 @@ end
 redef class TOpar
     redef fun parser_index: Int
     do
-       return 51
+       return 50
     end
 
     init init_tk(loc: Location)
@@ -693,7 +680,7 @@ end
 redef class TCpar
     redef fun parser_index: Int
     do
-       return 52
+       return 51
     end
 
     init init_tk(loc: Location)
@@ -706,7 +693,7 @@ end
 redef class TObra
     redef fun parser_index: Int
     do
-       return 53
+       return 52
     end
 
     init init_tk(loc: Location)
@@ -719,7 +706,7 @@ end
 redef class TCbra
     redef fun parser_index: Int
     do
-       return 54
+       return 53
     end
 
     init init_tk(loc: Location)
@@ -732,7 +719,7 @@ end
 redef class TComma
     redef fun parser_index: Int
     do
-       return 55
+       return 54
     end
 
     init init_tk(loc: Location)
@@ -745,7 +732,7 @@ end
 redef class TColumn
     redef fun parser_index: Int
     do
-       return 56
+       return 55
     end
 
     init init_tk(loc: Location)
@@ -758,7 +745,7 @@ end
 redef class TQuad
     redef fun parser_index: Int
     do
-       return 57
+       return 56
     end
 
     init init_tk(loc: Location)
@@ -771,7 +758,7 @@ end
 redef class TAssign
     redef fun parser_index: Int
     do
-       return 58
+       return 57
     end
 
     init init_tk(loc: Location)
@@ -784,7 +771,7 @@ end
 redef class TPluseq
     redef fun parser_index: Int
     do
-       return 59
+       return 58
     end
 
     init init_tk(loc: Location)
@@ -797,7 +784,7 @@ end
 redef class TMinuseq
     redef fun parser_index: Int
     do
-       return 60
+       return 59
     end
 
     init init_tk(loc: Location)
@@ -810,7 +797,7 @@ end
 redef class TDotdotdot
     redef fun parser_index: Int
     do
-       return 61
+       return 60
     end
 
     init init_tk(loc: Location)
@@ -823,7 +810,7 @@ end
 redef class TDotdot
     redef fun parser_index: Int
     do
-       return 62
+       return 61
     end
 
     init init_tk(loc: Location)
@@ -836,7 +823,7 @@ end
 redef class TDot
     redef fun parser_index: Int
     do
-       return 63
+       return 62
     end
 
     init init_tk(loc: Location)
@@ -849,7 +836,7 @@ end
 redef class TPlus
     redef fun parser_index: Int
     do
-       return 64
+       return 63
     end
 
     init init_tk(loc: Location)
@@ -862,7 +849,7 @@ end
 redef class TMinus
     redef fun parser_index: Int
     do
-       return 65
+       return 64
     end
 
     init init_tk(loc: Location)
@@ -875,7 +862,7 @@ end
 redef class TStar
     redef fun parser_index: Int
     do
-       return 66
+       return 65
     end
 
     init init_tk(loc: Location)
@@ -888,7 +875,7 @@ end
 redef class TSlash
     redef fun parser_index: Int
     do
-       return 67
+       return 66
     end
 
     init init_tk(loc: Location)
@@ -901,7 +888,7 @@ end
 redef class TPercent
     redef fun parser_index: Int
     do
-       return 68
+       return 67
     end
 
     init init_tk(loc: Location)
@@ -914,7 +901,7 @@ end
 redef class TEq
     redef fun parser_index: Int
     do
-       return 69
+       return 68
     end
 
     init init_tk(loc: Location)
@@ -927,7 +914,7 @@ end
 redef class TNe
     redef fun parser_index: Int
     do
-       return 70
+       return 69
     end
 
     init init_tk(loc: Location)
@@ -940,7 +927,7 @@ end
 redef class TLt
     redef fun parser_index: Int
     do
-       return 71
+       return 70
     end
 
     init init_tk(loc: Location)
@@ -953,7 +940,7 @@ end
 redef class TLe
     redef fun parser_index: Int
     do
-       return 72
+       return 71
     end
 
     init init_tk(loc: Location)
@@ -966,7 +953,7 @@ end
 redef class TGt
     redef fun parser_index: Int
     do
-       return 73
+       return 72
     end
 
     init init_tk(loc: Location)
@@ -979,7 +966,7 @@ end
 redef class TGe
     redef fun parser_index: Int
     do
-       return 74
+       return 73
     end
 
     init init_tk(loc: Location)
@@ -992,7 +979,7 @@ end
 redef class TStarship
     redef fun parser_index: Int
     do
-       return 75
+       return 74
     end
 
     init init_tk(loc: Location)
@@ -1002,6 +989,19 @@ redef class TStarship
     end
 end
 
+redef class TBang
+    redef fun parser_index: Int
+    do
+       return 75
+    end
+
+    init init_tk(loc: Location)
+    do
+        _text = once "!"
+               _location = loc
+    end
+end
+
 redef class TClassid
     redef fun parser_index: Int
     do
@@ -1708,7 +1708,7 @@ class Lexer
                                        end
                                        if accept_token == 48 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
@@ -1716,7 +1716,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 TKwnullable.init_tk(location)
+                                               var token = new TKwisset.init_tk(location)
                                                push_back(accept_length)
                                                _pos = accept_pos
                                                _line = accept_line
@@ -1724,7 +1724,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 TKwisset.init_tk(location)
+                                               var token = new TKwlabel.init_tk(location)
                                                push_back(accept_length)
                                                _pos = accept_pos
                                                _line = accept_line
@@ -1732,7 +1732,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 TKwlabel.init_tk(location)
+                                               var token = new TOpar.init_tk(location)
                                                push_back(accept_length)
                                                _pos = accept_pos
                                                _line = accept_line
@@ -1740,7 +1740,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 TOpar.init_tk(location)
+                                               var token = new TCpar.init_tk(location)
                                                push_back(accept_length)
                                                _pos = accept_pos
                                                _line = accept_line
@@ -1748,7 +1748,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 TCpar.init_tk(location)
+                                               var token = new TObra.init_tk(location)
                                                push_back(accept_length)
                                                _pos = accept_pos
                                                _line = accept_line
@@ -1756,7 +1756,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 TObra.init_tk(location)
+                                               var token = new TCbra.init_tk(location)
                                                push_back(accept_length)
                                                _pos = accept_pos
                                                _line = accept_line
@@ -1764,7 +1764,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 TCbra.init_tk(location)
+                                               var token = new TComma.init_tk(location)
                                                push_back(accept_length)
                                                _pos = accept_pos
                                                _line = accept_line
@@ -1772,7 +1772,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 TComma.init_tk(location)
+                                               var token = new TColumn.init_tk(location)
                                                push_back(accept_length)
                                                _pos = accept_pos
                                                _line = accept_line
@@ -1780,7 +1780,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 TColumn.init_tk(location)
+                                               var token = new TQuad.init_tk(location)
                                                push_back(accept_length)
                                                _pos = accept_pos
                                                _line = accept_line
@@ -1788,7 +1788,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 TQuad.init_tk(location)
+                                               var token = new TAssign.init_tk(location)
                                                push_back(accept_length)
                                                _pos = accept_pos
                                                _line = accept_line
@@ -1796,7 +1796,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 TAssign.init_tk(location)
+                                               var token = new TPluseq.init_tk(location)
                                                push_back(accept_length)
                                                _pos = accept_pos
                                                _line = accept_line
@@ -1804,7 +1804,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 TPluseq.init_tk(location)
+                                               var token = new TMinuseq.init_tk(location)
                                                push_back(accept_length)
                                                _pos = accept_pos
                                                _line = accept_line
@@ -1812,7 +1812,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 TMinuseq.init_tk(location)
+                                               var token = new TDotdotdot.init_tk(location)
                                                push_back(accept_length)
                                                _pos = accept_pos
                                                _line = accept_line
@@ -1820,7 +1820,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 TDotdotdot.init_tk(location)
+                                               var token = new TDotdot.init_tk(location)
                                                push_back(accept_length)
                                                _pos = accept_pos
                                                _line = accept_line
@@ -1828,7 +1828,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 TDotdot.init_tk(location)
+                                               var token = new TDot.init_tk(location)
                                                push_back(accept_length)
                                                _pos = accept_pos
                                                _line = accept_line
@@ -1836,7 +1836,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 TDot.init_tk(location)
+                                               var token = new TPlus.init_tk(location)
                                                push_back(accept_length)
                                                _pos = accept_pos
                                                _line = accept_line
@@ -1844,7 +1844,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 TPlus.init_tk(location)
+                                               var token = new TMinus.init_tk(location)
                                                push_back(accept_length)
                                                _pos = accept_pos
                                                _line = accept_line
@@ -1852,7 +1852,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 TMinus.init_tk(location)
+                                               var token = new TStar.init_tk(location)
                                                push_back(accept_length)
                                                _pos = accept_pos
                                                _line = accept_line
@@ -1860,7 +1860,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 TStar.init_tk(location)
+                                               var token = new TSlash.init_tk(location)
                                                push_back(accept_length)
                                                _pos = accept_pos
                                                _line = accept_line
@@ -1868,7 +1868,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 TSlash.init_tk(location)
+                                               var token = new TPercent.init_tk(location)
                                                push_back(accept_length)
                                                _pos = accept_pos
                                                _line = accept_line
@@ -1876,7 +1876,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 TPercent.init_tk(location)
+                                               var token = new TEq.init_tk(location)
                                                push_back(accept_length)
                                                _pos = accept_pos
                                                _line = accept_line
@@ -1884,7 +1884,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 TEq.init_tk(location)
+                                               var token = new TNe.init_tk(location)
                                                push_back(accept_length)
                                                _pos = accept_pos
                                                _line = accept_line
@@ -1892,7 +1892,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 TNe.init_tk(location)
+                                               var token = new TLt.init_tk(location)
                                                push_back(accept_length)
                                                _pos = accept_pos
                                                _line = accept_line
@@ -1900,7 +1900,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 TLt.init_tk(location)
+                                               var token = new TLe.init_tk(location)
                                                push_back(accept_length)
                                                _pos = accept_pos
                                                _line = accept_line
@@ -1908,7 +1908,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 TLe.init_tk(location)
+                                               var token = new TGt.init_tk(location)
                                                push_back(accept_length)
                                                _pos = accept_pos
                                                _line = accept_line
@@ -1916,7 +1916,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 TGt.init_tk(location)
+                                               var token = new TGe.init_tk(location)
                                                push_back(accept_length)
                                                _pos = accept_pos
                                                _line = accept_line
@@ -1924,7 +1924,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 TGe.init_tk(location)
+                                               var token = new TStarship.init_tk(location)
                                                push_back(accept_length)
                                                _pos = accept_pos
                                                _line = accept_line
@@ -1932,7 +1932,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 TStarship.init_tk(location)
+                                               var token = new TBang.init_tk(location)
                                                push_back(accept_length)
                                                _pos = accept_pos
                                                _line = accept_line
@@ -2353,21 +2353,20 @@ class Lexer
                                [
                                        [48, 103, -43],
                                        [104, 104, 109],
-                                       [105, 105, 110],
-                                       [106, 113, 74],
-                                       [114, 114, 111],
+                                       [105, 113, 74],
+                                       [114, 114, 110],
                                        [115, 122, 74]
                                ],
                                [
-                                       [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]
+                                       [0, 9, 111],
+                                       [11, 12, 111],
+                                       [14, 33, 111],
+                                       [34, 34, 112],
+                                       [35, 91, 111],
+                                       [92, 92, 113],
+                                       [93, 122, 111],
+                                       [123, 123, 114],
+                                       [124, 255, 111]
                                ],
                                nil_array,
                                nil_array,
@@ -2376,9 +2375,9 @@ class Lexer
                                ],
                                nil_array,
                                [
-                                       [0, 9, 116],
-                                       [11, 12, 116],
-                                       [14, 255, 116]
+                                       [0, 9, 115],
+                                       [11, 12, 115],
+                                       [14, 255, 115]
                                ],
                                nil_array,
                                [
@@ -2386,7 +2385,7 @@ class Lexer
                                ],
                                nil_array,
                                [
-                                       [10, 10, 117]
+                                       [10, 10, 116]
                                ],
                                [
                                        [0, 255, -11]
@@ -2395,7 +2394,7 @@ class Lexer
                                nil_array,
                                nil_array,
                                [
-                                       [46, 46, 118]
+                                       [46, 46, 117]
                                ],
                                [
                                        [48, 57, 60]
@@ -2405,7 +2404,7 @@ class Lexer
                                ],
                                nil_array,
                                [
-                                       [62, 62, 119]
+                                       [62, 62, 118]
                                ],
                                nil_array,
                                nil_array,
@@ -2422,10 +2421,10 @@ class Lexer
                                        [48, 122, -25]
                                ],
                                [
-                                       [48, 57, 120],
-                                       [65, 90, 121],
-                                       [95, 95, 122],
-                                       [97, 122, 123]
+                                       [48, 57, 119],
+                                       [65, 90, 120],
+                                       [95, 95, 121],
+                                       [97, 122, 122]
                                ],
                                [
                                        [48, 122, -35]
@@ -2441,36 +2440,36 @@ class Lexer
                                ],
                                [
                                        [48, 110, -32],
-                                       [111, 111, 124],
+                                       [111, 111, 123],
                                        [112, 114, 74],
-                                       [115, 115, 125],
+                                       [115, 115, 124],
                                        [116, 122, 74]
                                ],
                                [
                                        [48, 95, -29],
                                        [97, 99, 74],
-                                       [100, 100, 126],
+                                       [100, 100, 125],
                                        [101, 122, 74]
                                ],
                                [
                                        [48, 95, -29],
                                        [97, 114, 74],
-                                       [115, 115, 127],
+                                       [115, 115, 126],
                                        [116, 122, 74]
                                ],
                                [
                                        [48, 100, -38],
-                                       [101, 101, 128],
+                                       [101, 101, 127],
                                        [102, 122, 74]
                                ],
                                [
                                        [48, 95, -29],
-                                       [97, 97, 129],
+                                       [97, 97, 128],
                                        [98, 122, 74]
                                ],
                                [
                                        [48, 109, -39],
-                                       [110, 110, 130],
+                                       [110, 110, 129],
                                        [111, 122, 74]
                                ],
                                [
@@ -2478,33 +2477,33 @@ class Lexer
                                ],
                                [
                                        [48, 114, -79],
-                                       [115, 115, 131],
+                                       [115, 115, 130],
                                        [116, 122, 74]
                                ],
                                [
                                        [48, 99, -78],
-                                       [100, 100, 132],
+                                       [100, 100, 131],
                                        [101, 122, 74]
                                ],
                                [
                                        [48, 95, -29],
                                        [97, 115, 74],
-                                       [116, 116, 133],
+                                       [116, 116, 132],
                                        [117, 122, 74]
                                ],
                                [
                                        [48, 107, -31],
-                                       [108, 108, 134],
+                                       [108, 108, 133],
                                        [109, 122, 74]
                                ],
                                [
                                        [48, 113, -30],
-                                       [114, 114, 135],
+                                       [114, 114, 134],
                                        [115, 122, 74]
                                ],
                                [
                                        [48, 109, -39],
-                                       [110, 110, 136],
+                                       [110, 110, 135],
                                        [111, 122, 74]
                                ],
                                [
@@ -2513,49 +2512,49 @@ class Lexer
                                [
                                        [48, 95, -29],
                                        [97, 111, 74],
-                                       [112, 112, 137],
+                                       [112, 112, 136],
                                        [113, 122, 74]
                                ],
                                [
                                        [48, 95, -29],
                                        [97, 104, 74],
-                                       [105, 105, 138],
+                                       [105, 105, 137],
                                        [106, 115, 74],
-                                       [116, 116, 139],
+                                       [116, 116, 138],
                                        [117, 122, 74]
                                ],
                                [
                                        [48, 95, -29],
-                                       [97, 97, 140],
+                                       [97, 97, 139],
                                        [98, 114, 74],
-                                       [115, 115, 141],
+                                       [115, 115, 140],
                                        [116, 122, 74]
                                ],
                                [
                                        [48, 97, -29],
-                                       [98, 98, 142],
+                                       [98, 98, 141],
                                        [99, 122, 74]
                                ],
                                [
                                        [48, 95, -29],
                                        [97, 118, 74],
-                                       [119, 119, 143],
+                                       [119, 119, 142],
                                        [120, 122, 74]
                                ],
                                [
                                        [48, 115, -86],
-                                       [116, 116, 144],
+                                       [116, 116, 143],
                                        [117, 122, 74]
                                ],
                                [
                                        [48, 107, -31],
-                                       [108, 108, 145],
+                                       [108, 108, 144],
                                        [109, 122, 74]
                                ],
                                [
                                        [48, 95, -29],
                                        [97, 98, 74],
-                                       [99, 99, 146],
+                                       [99, 99, 145],
                                        [100, 122, 74]
                                ],
                                [
@@ -2563,79 +2562,74 @@ class Lexer
                                ],
                                [
                                        [48, 98, -98],
-                                       [99, 99, 147],
+                                       [99, 99, 146],
                                        [100, 122, 74]
                                ],
                                [
                                        [48, 104, -92],
-                                       [105, 105, 148],
+                                       [105, 105, 147],
                                        [106, 110, 74],
-                                       [111, 111, 149],
+                                       [111, 111, 148],
                                        [112, 122, 74]
                                ],
                                [
                                        [48, 95, -29],
-                                       [97, 97, 150],
+                                       [97, 97, 149],
                                        [98, 99, 74],
-                                       [100, 100, 151],
+                                       [100, 100, 150],
                                        [101, 115, 74],
-                                       [116, 116, 152],
+                                       [116, 116, 151],
                                        [117, 122, 74]
                                ],
                                [
                                        [48, 107, -31],
-                                       [108, 108, 153],
+                                       [108, 108, 152],
                                        [109, 122, 74]
                                ],
                                [
                                        [48, 100, -38],
-                                       [101, 101, 154],
+                                       [101, 101, 153],
                                        [102, 122, 74]
                                ],
                                [
                                        [48, 111, -91],
-                                       [112, 112, 155],
+                                       [112, 112, 154],
                                        [113, 122, 74]
                                ],
                                [
                                        [48, 100, -38],
-                                       [101, 101, 156],
+                                       [101, 101, 155],
                                        [102, 122, 74]
                                ],
                                [
                                        [48, 95, -29],
                                        [97, 116, 74],
-                                       [117, 117, 157],
+                                       [117, 117, 156],
                                        [118, 122, 74]
                                ],
                                [
                                        [48, 111, -91],
-                                       [112, 112, 158],
+                                       [112, 112, 157],
                                        [113, 122, 74]
                                ],
                                [
                                        [48, 104, -92],
-                                       [105, 105, 159],
+                                       [105, 105, 158],
                                        [106, 122, 74]
                                ],
                                [
                                        [48, 113, -30],
-                                       [114, 114, 160],
+                                       [114, 114, 159],
                                        [115, 122, 74]
                                ],
                                [
                                        [48, 104, -92],
-                                       [105, 105, 161],
+                                       [105, 105, 160],
                                        [106, 122, 74]
                                ],
                                [
-                                       [48, 115, -86],
-                                       [116, 116, 162],
-                                       [117, 122, 74]
-                               ],
-                               [
                                        [48, 104, -92],
-                                       [105, 105, 163],
+                                       [105, 105, 161],
                                        [106, 122, 74]
                                ],
                                [
@@ -2643,9 +2637,9 @@ class Lexer
                                ],
                                nil_array,
                                [
-                                       [0, 9, 164],
-                                       [11, 12, 164],
-                                       [14, 255, 164]
+                                       [0, 9, 162],
+                                       [11, 12, 162],
+                                       [14, 255, 162]
                                ],
                                nil_array,
                                [
@@ -2668,12 +2662,12 @@ class Lexer
                                ],
                                [
                                        [48, 113, -30],
-                                       [114, 114, 165],
+                                       [114, 114, 163],
                                        [115, 122, 74]
                                ],
                                [
                                        [48, 115, -86],
-                                       [116, 116, 166],
+                                       [116, 116, 164],
                                        [117, 122, 74]
                                ],
                                [
@@ -2681,27 +2675,27 @@ class Lexer
                                ],
                                [
                                        [48, 100, -38],
-                                       [101, 101, 167],
+                                       [101, 101, 165],
                                        [102, 122, 74]
                                ],
                                [
                                        [48, 95, -29],
-                                       [97, 97, 168],
+                                       [97, 97, 166],
                                        [98, 122, 74]
                                ],
                                [
                                        [48, 114, -79],
-                                       [115, 115, 169],
+                                       [115, 115, 167],
                                        [116, 122, 74]
                                ],
                                [
                                        [48, 115, -86],
-                                       [116, 116, 170],
+                                       [116, 116, 168],
                                        [117, 122, 74]
                                ],
                                [
                                        [48, 100, -38],
-                                       [101, 101, 171],
+                                       [101, 101, 169],
                                        [102, 122, 74]
                                ],
                                [
@@ -2709,12 +2703,12 @@ class Lexer
                                ],
                                [
                                        [48, 100, -38],
-                                       [101, 101, 172],
+                                       [101, 101, 170],
                                        [102, 122, 74]
                                ],
                                [
                                        [48, 114, -79],
-                                       [115, 115, 173],
+                                       [115, 115, 171],
                                        [116, 122, 74]
                                ],
                                [
@@ -2725,19 +2719,19 @@ class Lexer
                                ],
                                [
                                        [48, 110, -32],
-                                       [111, 111, 174],
+                                       [111, 111, 172],
                                        [112, 122, 74]
                                ],
                                [
                                        [48, 115, -86],
-                                       [116, 116, 175],
+                                       [116, 116, 173],
                                        [117, 122, 74]
                                ],
                                [
                                        [48, 100, -38],
-                                       [101, 101, 176],
+                                       [101, 101, 174],
                                        [102, 113, 74],
-                                       [114, 114, 177],
+                                       [114, 114, 175],
                                        [115, 122, 74]
                                ],
                                [
@@ -2745,12 +2739,12 @@ class Lexer
                                ],
                                [
                                        [48, 100, -38],
-                                       [101, 101, 178],
+                                       [101, 101, 176],
                                        [102, 122, 74]
                                ],
                                [
                                        [48, 100, -38],
-                                       [101, 101, 179],
+                                       [101, 101, 177],
                                        [102, 122, 74]
                                ],
                                [
@@ -2761,79 +2755,79 @@ class Lexer
                                ],
                                [
                                        [48, 107, -31],
-                                       [108, 108, 180],
+                                       [108, 108, 178],
                                        [109, 122, 74]
                                ],
                                [
                                        [48, 100, -38],
-                                       [101, 101, 181],
+                                       [101, 101, 179],
                                        [102, 122, 74]
                                ],
                                [
                                        [48, 95, -29],
                                        [97, 106, 74],
-                                       [107, 107, 182],
+                                       [107, 107, 180],
                                        [108, 122, 74]
                                ],
                                [
                                        [48, 95, -29],
                                        [97, 117, 74],
-                                       [118, 118, 183],
+                                       [118, 118, 181],
                                        [119, 122, 74]
                                ],
                                [
                                        [48, 115, -86],
-                                       [116, 116, 184],
+                                       [116, 116, 182],
                                        [117, 122, 74]
                                ],
                                [
                                        [48, 99, -78],
-                                       [100, 100, 185],
+                                       [100, 100, 183],
                                        [101, 122, 74]
                                ],
                                [
                                        [48, 100, -38],
-                                       [101, 101, 186],
+                                       [101, 101, 184],
                                        [102, 122, 74]
                                ],
                                [
                                        [48, 116, -107],
-                                       [117, 117, 187],
+                                       [117, 117, 185],
                                        [118, 122, 74]
                                ],
                                [
                                        [48, 101, -36],
-                                       [102, 102, 188],
+                                       [102, 102, 186],
                                        [103, 122, 74]
                                ],
                                [
                                        [48, 98, -98],
-                                       [99, 99, 189],
+                                       [99, 99, 187],
                                        [100, 122, 74]
                                ],
                                [
                                        [48, 100, -38],
-                                       [101, 101, 190],
+                                       [101, 101, 188],
                                        [102, 122, 74]
                                ],
                                [
                                        [48, 109, -39],
-                                       [110, 110, 191],
+                                       [110, 110, 189],
                                        [111, 122, 74]
                                ],
                                [
                                        [48, 100, -38],
-                                       [101, 101, 192],
+                                       [101, 101, 190],
                                        [102, 122, 74]
                                ],
                                [
                                        [48, 100, -38],
-                                       [101, 101, 193],
+                                       [101, 101, 191],
                                        [102, 122, 74]
                                ],
                                [
-                                       [48, 117, -150],
-                                       [118, 118, 194],
+                                       [48, 117, -149],
+                                       [118, 118, 192],
                                        [119, 122, 74]
                                ],
                                [
@@ -2841,17 +2835,12 @@ class Lexer
                                ],
                                [
                                        [48, 107, -31],
-                                       [108, 108, 195],
+                                       [108, 108, 193],
                                        [109, 122, 74]
                                ],
                                [
-                                       [48, 103, -43],
-                                       [104, 104, 196],
-                                       [105, 122, 74]
-                               ],
-                               [
                                        [48, 115, -86],
-                                       [116, 116, 197],
+                                       [116, 116, 194],
                                        [117, 122, 74]
                                ],
                                [
@@ -2859,32 +2848,32 @@ class Lexer
                                ],
                                [
                                        [48, 115, -86],
-                                       [116, 116, 198],
+                                       [116, 116, 195],
                                        [117, 122, 74]
                                ],
                                [
                                        [48, 113, -30],
-                                       [114, 114, 199],
+                                       [114, 114, 196],
                                        [115, 122, 74]
                                ],
                                [
                                        [48, 113, -30],
-                                       [114, 114, 200],
+                                       [114, 114, 197],
                                        [115, 122, 74]
                                ],
                                [
-                                       [48, 106, -149],
-                                       [107, 107, 201],
+                                       [48, 106, -148],
+                                       [107, 107, 198],
                                        [108, 122, 74]
                                ],
                                [
                                        [48, 114, -79],
-                                       [115, 115, 202],
+                                       [115, 115, 199],
                                        [116, 122, 74]
                                ],
                                [
                                        [48, 104, -92],
-                                       [105, 105, 203],
+                                       [105, 105, 200],
                                        [106, 122, 74]
                                ],
                                [
@@ -2892,17 +2881,17 @@ class Lexer
                                ],
                                [
                                        [48, 113, -30],
-                                       [114, 114, 204],
+                                       [114, 114, 201],
                                        [115, 122, 74]
                                ],
                                [
                                        [48, 100, -38],
-                                       [101, 101, 205],
+                                       [101, 101, 202],
                                        [102, 122, 74]
                                ],
                                [
                                        [48, 113, -30],
-                                       [114, 114, 206],
+                                       [114, 114, 203],
                                        [115, 122, 74]
                                ],
                                [
@@ -2910,27 +2899,27 @@ class Lexer
                                ],
                                [
                                        [48, 113, -30],
-                                       [114, 114, 207],
+                                       [114, 114, 204],
                                        [115, 122, 74]
                                ],
                                [
                                        [48, 116, -107],
-                                       [117, 117, 208],
+                                       [117, 117, 205],
                                        [118, 122, 74]
                                ],
                                [
                                        [48, 115, -86],
-                                       [116, 116, 209],
+                                       [116, 116, 206],
                                        [117, 122, 74]
                                ],
                                [
                                        [48, 107, -31],
-                                       [108, 108, 210],
+                                       [108, 108, 207],
                                        [109, 122, 74]
                                ],
                                [
                                        [48, 95, -29],
-                                       [97, 97, 211],
+                                       [97, 97, 208],
                                        [98, 122, 74]
                                ],
                                [
@@ -2938,32 +2927,32 @@ class Lexer
                                ],
                                [
                                        [48, 95, -29],
-                                       [97, 97, 212],
+                                       [97, 97, 209],
                                        [98, 122, 74]
                                ],
                                [
                                        [48, 95, -29],
-                                       [97, 97, 213],
+                                       [97, 97, 210],
                                        [98, 122, 74]
                                ],
                                [
                                        [48, 100, -38],
-                                       [101, 101, 214],
+                                       [101, 101, 211],
                                        [102, 122, 74]
                                ],
                                [
                                        [48, 95, -29],
-                                       [97, 97, 215],
+                                       [97, 97, 212],
                                        [98, 122, 74]
                                ],
                                [
                                        [48, 101, -36],
-                                       [102, 102, 216],
+                                       [102, 102, 213],
                                        [103, 122, 74]
                                ],
                                [
                                        [48, 113, -30],
-                                       [114, 114, 217],
+                                       [114, 114, 214],
                                        [115, 122, 74]
                                ],
                                [
@@ -2971,12 +2960,12 @@ class Lexer
                                ],
                                [
                                        [48, 104, -92],
-                                       [105, 105, 218],
+                                       [105, 105, 215],
                                        [106, 122, 74]
                                ],
                                [
                                        [48, 113, -30],
-                                       [114, 114, 219],
+                                       [114, 114, 216],
                                        [115, 122, 74]
                                ],
                                [
@@ -2990,20 +2979,17 @@ class Lexer
                                ],
                                [
                                        [48, 100, -38],
-                                       [101, 101, 220],
+                                       [101, 101, 217],
                                        [102, 122, 74]
                                ],
                                [
                                        [48, 100, -38],
-                                       [101, 101, 221],
+                                       [101, 101, 218],
                                        [102, 122, 74]
                                ],
                                [
-                                       [48, 122, -35]
-                               ],
-                               [
                                        [48, 95, -29],
-                                       [97, 97, 222],
+                                       [97, 97, 219],
                                        [98, 122, 74]
                                ],
                                [
@@ -3011,12 +2997,12 @@ class Lexer
                                ],
                                [
                                        [48, 95, -29],
-                                       [97, 97, 223],
+                                       [97, 97, 220],
                                        [98, 122, 74]
                                ],
                                [
                                        [48, 115, -86],
-                                       [116, 116, 224],
+                                       [116, 116, 221],
                                        [117, 122, 74]
                                ],
                                [
@@ -3027,12 +3013,12 @@ class Lexer
                                ],
                                [
                                        [48, 109, -39],
-                                       [110, 110, 225],
+                                       [110, 110, 222],
                                        [111, 122, 74]
                                ],
                                [
                                        [48, 109, -39],
-                                       [110, 110, 226],
+                                       [110, 110, 223],
                                        [111, 122, 74]
                                ],
                                [
@@ -3040,19 +3026,19 @@ class Lexer
                                ],
                                [
                                        [48, 115, -86],
-                                       [116, 116, 227],
+                                       [116, 116, 224],
                                        [117, 122, 74]
                                ],
                                [
                                        [48, 101, -36],
-                                       [102, 102, 228],
+                                       [102, 102, 225],
                                        [103, 109, 74],
-                                       [110, 110, 229],
+                                       [110, 110, 226],
                                        [111, 122, 74]
                                ],
                                [
                                        [48, 99, -78],
-                                       [100, 100, 230],
+                                       [100, 100, 227],
                                        [101, 122, 74]
                                ],
                                [
@@ -3063,28 +3049,28 @@ class Lexer
                                ],
                                [
                                        [48, 97, -29],
-                                       [98, 98, 231],
+                                       [98, 98, 228],
                                        [99, 122, 74]
                                ],
                                [
                                        [48, 95, -29],
                                        [97, 102, 74],
-                                       [103, 103, 232],
+                                       [103, 103, 229],
                                        [104, 122, 74]
                                ],
                                [
                                        [48, 115, -86],
-                                       [116, 116, 233],
+                                       [116, 116, 230],
                                        [117, 122, 74]
                                ],
                                [
                                        [48, 98, -98],
-                                       [99, 99, 234],
+                                       [99, 99, 231],
                                        [100, 122, 74]
                                ],
                                [
                                        [48, 97, -29],
-                                       [98, 98, 235],
+                                       [98, 98, 232],
                                        [99, 122, 74]
                                ],
                                [
@@ -3092,12 +3078,12 @@ class Lexer
                                ],
                                [
                                        [48, 109, -39],
-                                       [110, 110, 236],
+                                       [110, 110, 233],
                                        [111, 122, 74]
                                ],
                                [
                                        [48, 95, -29],
-                                       [97, 97, 237],
+                                       [97, 97, 234],
                                        [98, 122, 74]
                                ],
                                [
@@ -3105,7 +3091,7 @@ class Lexer
                                ],
                                [
                                        [48, 113, -30],
-                                       [114, 114, 238],
+                                       [114, 114, 235],
                                        [115, 122, 74]
                                ],
                                [
@@ -3113,12 +3099,12 @@ class Lexer
                                ],
                                [
                                        [48, 97, -29],
-                                       [98, 98, 239],
+                                       [98, 98, 236],
                                        [99, 122, 74]
                                ],
                                [
                                        [48, 98, -98],
-                                       [99, 99, 240],
+                                       [99, 99, 237],
                                        [100, 122, 74]
                                ],
                                [
@@ -3126,7 +3112,7 @@ class Lexer
                                ],
                                [
                                        [48, 116, -107],
-                                       [117, 117, 241],
+                                       [117, 117, 238],
                                        [118, 122, 74]
                                ],
                                [
@@ -3137,7 +3123,7 @@ class Lexer
                                ],
                                [
                                        [48, 95, -29],
-                                       [97, 97, 242],
+                                       [97, 97, 239],
                                        [98, 122, 74]
                                ],
                                [
@@ -3145,32 +3131,32 @@ class Lexer
                                ],
                                [
                                        [48, 100, -38],
-                                       [101, 101, 243],
+                                       [101, 101, 240],
                                        [102, 122, 74]
                                ],
                                [
                                        [48, 107, -31],
-                                       [108, 108, 244],
+                                       [108, 108, 241],
                                        [109, 122, 74]
                                ],
                                [
                                        [48, 100, -38],
-                                       [101, 101, 245],
+                                       [101, 101, 242],
                                        [102, 122, 74]
                                ],
                                [
                                        [48, 100, -38],
-                                       [101, 101, 246],
+                                       [101, 101, 243],
                                        [102, 122, 74]
                                ],
                                [
                                        [48, 115, -86],
-                                       [116, 116, 247],
+                                       [116, 116, 244],
                                        [117, 122, 74]
                                ],
                                [
                                        [48, 107, -31],
-                                       [108, 108, 248],
+                                       [108, 108, 245],
                                        [109, 122, 74]
                                ],
                                [
@@ -3178,32 +3164,32 @@ class Lexer
                                ],
                                [
                                        [48, 107, -31],
-                                       [108, 108, 249],
+                                       [108, 108, 246],
                                        [109, 122, 74]
                                ],
                                [
                                        [48, 114, -79],
-                                       [115, 115, 250],
+                                       [115, 115, 247],
                                        [116, 122, 74]
                                ],
                                [
                                        [48, 107, -31],
-                                       [108, 108, 251],
+                                       [108, 108, 248],
                                        [109, 122, 74]
                                ],
                                [
                                        [48, 115, -86],
-                                       [116, 116, 252],
+                                       [116, 116, 249],
                                        [117, 122, 74]
                                ],
                                [
                                        [48, 100, -38],
-                                       [101, 101, 253],
+                                       [101, 101, 250],
                                        [102, 122, 74]
                                ],
                                [
                                        [48, 98, -98],
-                                       [99, 99, 254],
+                                       [99, 99, 251],
                                        [100, 122, 74]
                                ],
                                [
@@ -3211,7 +3197,7 @@ class Lexer
                                ],
                                [
                                        [48, 100, -38],
-                                       [101, 101, 255],
+                                       [101, 101, 252],
                                        [102, 122, 74]
                                ],
                                [
@@ -3222,12 +3208,12 @@ class Lexer
                                ],
                                [
                                        [48, 100, -38],
-                                       [101, 101, 256],
+                                       [101, 101, 253],
                                        [102, 122, 74]
                                ],
                                [
                                        [48, 100, -38],
-                                       [101, 101, 257],
+                                       [101, 101, 254],
                                        [102, 122, 74]
                                ],
                                [
@@ -3235,12 +3221,12 @@ class Lexer
                                ],
                                [
                                        [48, 95, -29],
-                                       [97, 97, 258],
+                                       [97, 97, 255],
                                        [98, 122, 74]
                                ],
                                [
                                        [48, 100, -38],
-                                       [101, 101, 259],
+                                       [101, 101, 256],
                                        [102, 122, 74]
                                ],
                                [
@@ -3251,7 +3237,7 @@ class Lexer
                                ],
                                [
                                        [48, 100, -38],
-                                       [101, 101, 260],
+                                       [101, 101, 257],
                                        [102, 122, 74]
                                ],
                                [
@@ -3259,7 +3245,7 @@ class Lexer
                                ],
                                [
                                        [48, 99, -78],
-                                       [100, 100, 261],
+                                       [100, 100, 258],
                                        [101, 122, 74]
                                ],
                                [
@@ -3267,7 +3253,7 @@ class Lexer
                                ],
                                [
                                        [48, 107, -31],
-                                       [108, 108, 262],
+                                       [108, 108, 259],
                                        [109, 122, 74]
                                ],
                                [
@@ -3295,7 +3281,7 @@ class Lexer
        private fun build_accept_table do
                _accept_table = once [
                        [
-                               -1,0,1,1,0,-1,-1,-1,69,-1,52,53,67,65,56,66,64,68,80,57,72,59,74,77,54,55,-1,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,-1,1,71,-1,83,-1,84,-1,2,2,-1,82,60,61,63,81,-1,58,73,70,75,77,77,77,77,79,78,78,78,78,78,78,47,78,78,78,16,78,78,78,78,78,78,25,78,30,15,78,78,78,78,78,32,78,78,78,78,78,78,78,78,78,78,78,78,78,78,-1,86,-1,85,-1,2,62,76,79,79,79,79,78,78,31,78,78,78,78,78,10,78,78,29,11,78,78,78,40,78,78,39,33,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,19,78,78,78,-1,78,78,78,78,78,78,27,78,78,78,13,78,78,78,78,46,41,78,78,78,78,78,78,43,78,78,26,44,12,78,78,48,78,37,78,78,36,5,78,78,45,78,78,78,50,51,78,78,78,78,78,14,78,78,42,78,28,78,78,38,78,21,4,78,20,78,78,78,78,78,78,34,78,78,78,78,78,78,24,78,3,23,78,78,9,78,78,6,35,78,49,78,17,78,18,7,22,8
+                               -1,0,1,1,0,76,-1,-1,68,-1,51,52,66,64,55,65,63,67,80,56,71,58,73,77,53,54,-1,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,-1,1,70,-1,83,-1,84,-1,2,2,-1,82,59,60,62,81,-1,57,72,69,74,77,77,77,77,79,78,78,78,78,78,78,47,78,78,78,16,78,78,78,78,78,78,25,78,30,15,78,78,78,78,78,32,78,78,78,78,78,78,78,78,78,78,78,78,78,-1,86,-1,85,-1,2,61,75,79,79,79,79,78,78,31,78,78,78,78,78,10,78,78,29,11,78,78,78,40,78,78,39,33,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,19,78,78,-1,78,78,78,78,78,78,27,78,78,78,13,78,78,78,78,46,41,78,78,78,78,78,78,43,78,78,26,44,12,78,78,78,37,78,78,36,5,78,78,45,78,78,78,49,50,78,78,78,78,78,14,78,78,42,78,28,78,78,38,78,21,4,78,20,78,78,78,78,78,78,34,78,78,78,78,78,78,24,78,3,23,78,78,9,78,78,6,35,78,48,78,17,78,18,7,22,8
 
                        ]
                ]