                     | "case"
                     | "catch"
                     | "continue"
+                    | "debugger"
                     | "default"
                     | "delete"
                     | "do"

Letter            = [a-zA-Z]
Digit             = [0-9]
Digits            = Digit+
SingleLineComment = "//" (!("\n") .)* "\n" => [[ ignore ]]
MultiLineComment  = "/*" (!("*/") .)* "*/" => [[ ignore ]]
Space             = [ \t\r\n] | SingleLineComment | MultiLineComment
Spaces            = Space* => [[ ignore ]]
NameFirst         = Letter | "$" => [[ CHAR: $ ]] | "_" => [[ CHAR: _ ]]
NameRest          = NameFirst | Digit

                    | "void"
                    | "while"
                    | "with") !(NameRest)
FutureReserved    =  ("class"
                    | "const"
                    | "enum"
                    | "export"
                    | "extends"
                    | "import"
                    | "super")
Name              = !(Keyword) iName  => [[ ast-name boa ]]
HexInteger        = "0"~ [xX]~ HexDigit+ => [[ hex> ]]
OctInteger        = "0"~ OctDigit+ => [[ oct> ]]
ExponentPart      = ("e"|"E") ("+"|"-")? Digits => [[ concat ]]
Decimal           =  (Digits "." Digits? ExponentPart?
                    | "." Digits ExponentPart?
                    | Digits ExponentPart?) => [[ concat string>number ]]
Number            = HexInteger | OctInteger | Decimal => [[ ast-number boa ]]

SingleEscape      =   "b"  => [[ CHAR: \b ]]
                    | "f"  => [[ CHAR: \f ]]
