[ {"source": "/", "context": ["operator"], "expected": ["Slash"]}, {"source": "/=", "context": ["operator"], "expected": ["SlashAssign"]}, {"source": "/x/g", "context": [], "expected": ["RegExp", "x", "g"]}, {"source": "/=x/g", "context": [], "expected": ["RegExp", "=x", "g"]}, {"source": "// stuff\nx", "context": [], "expected": ["Identifier", "x"]}, {"source": "/* stuff */\nx", "context": [], "expected": ["Identifier", "x"]}, {"source": "/* stuff\nthings */\nx", "context": [], "expected": ["Identifier", "x"]}, {"source": "\n/* stuff\nthings */\nx", "context": [], "expected": ["Identifier", "x"]}, {"source": "12in", "context": [], "error": "unexpected char"}, {"source": "0xG", "context": [], "error": "unexpected char"}, {"source": "0xAG", "context": [], "error": "unexpected char"}, {"source": "0o8", "context": [], "error": "unexpected char"}, {"source": "0o18", "context": [], "error": "unexpected char"}, {"source": "0b2", "context": [], "error": "unexpected char"}, {"source": "0b12", "context": [], "error": "unexpected char"}, {"source": "0xa", "context": [], "expected": ["HexInt", "x", "a"]}, {"source": "0Xa", "context": [], "expected": ["HexInt", "X", "a"]}, {"source": "0xAB", "context": [], "expected": ["HexInt", "x", "AB"]}, {"source": "0XAB", "context": [], "expected": ["HexInt", "X", "AB"]}, {"source": "0o7", "context": [], "expected": ["OctalInt", "o", "7"]}, {"source": "0O7", "context": [], "expected": ["OctalInt", "O", "7"]}, {"source": "0o12", "context": [], "expected": ["OctalInt", "o", "12"]}, {"source": "0O12", "context": [], "expected": ["OctalInt", "O", "12"]}, {"source": "0b1", "context": [], "expected": ["BinaryInt", "b", "1"]}, {"source": "0B1", "context": [], "expected": ["BinaryInt", "B", "1"]}, {"source": "0b11", "context": [], "expected": ["BinaryInt", "b", "11"]}, {"source": "0B11", "context": [], "expected": ["BinaryInt", "B", "11"]}, {"source": "12", "context": [], "expected": ["DecimalInt", "12", null]}, {"source": "0", "context": [], "expected": ["DecimalInt", "0", null]}, {"source": "00", "context": [], "expected": ["OctalInt", null, "0"]}, {"source": "000", "context": [], "expected": ["OctalInt", null, "00"]}, {"source": "01", "context": [], "expected": ["OctalInt", null, "1"]}, {"source": "0755", "context": [], "expected": ["OctalInt", null, "755"]}, {"source": "0888", "context": [], "expected": ["DecimalInt", "0888", null]}, {"source": "10e9", "context": [], "expected": ["DecimalInt", "10", ["e", null, "9"]]}, {"source": "10e+9", "context": [], "expected": ["DecimalInt", "10", ["e", "+", "9"]]}, {"source": "10e-9", "context": [], "expected": ["DecimalInt", "10", ["e", "-", "9"]]}, {"source": "10E9", "context": [], "expected": ["DecimalInt", "10", ["E", null, "9"]]}, {"source": "10E+9", "context": [], "expected": ["DecimalInt", "10", ["E", "+", "9"]]}, {"source": "10E-9", "context": [], "expected": ["DecimalInt", "10", ["E", "-", "9"]]}, {"source": "1.2", "context": [], "expected": ["Float", "1", "2", null]}, {"source": "1.2e9", "context": [], "expected": ["Float", "1", "2", ["e", null, "9"]]}, {"source": "1.2e+9", "context": [], "expected": ["Float", "1", "2", ["e", "+", "9"]]}, {"source": "1.2e-9", "context": [], "expected": ["Float", "1", "2", ["e", "-", "9"]]}, {"source": "1.2E9", "context": [], "expected": ["Float", "1", "2", ["E", null, "9"]]}, {"source": "1.2E+9", "context": [], "expected": ["Float", "1", "2", ["E", "+", "9"]]}, {"source": "1.2E-9", "context": [], "expected": ["Float", "1", "2", ["E", "-", "9"]]}, {"source": ".12", "context": [], "expected": ["Float", null, "12", null]}, {"source": ".12e9", "context": [], "expected": ["Float", null, "12", ["e", null, "9"]]}, {"source": ".12e+9", "context": [], "expected": ["Float", null, "12", ["e", "+", "9"]]}, {"source": ".12e-9", "context": [], "expected": ["Float", null, "12", ["e", "-", "9"]]}, {"source": ".12E9", "context": [], "expected": ["Float", null, "12", ["E", null, "9"]]}, {"source": ".12E+9", "context": [], "expected": ["Float", null, "12", ["E", "+", "9"]]}, {"source": ".12E-9", "context": [], "expected": ["Float", null, "12", ["E", "-", "9"]]}, {"source": "12.", "context": [], "expected": ["Float", "12", "", null]}, {"source": "0.", "context": [], "expected": ["Float", "0", "", null]}, {"source": "12.e9", "context": [], "expected": ["Float", "12", "", ["e", null, "9"]]}, {"source": "12.e+9", "context": [], "expected": ["Float", "12", "", ["e", "+", "9"]]}, {"source": "12.e-9", "context": [], "expected": ["Float", "12", "", ["e", "-", "9"]]}, {"source": "12.E9", "context": [], "expected": ["Float", "12", "", ["E", null, "9"]]}, {"source": "12.E+9", "context": [], "expected": ["Float", "12", "", ["E", "+", "9"]]}, {"source": "12.E-9", "context": [], "expected": ["Float", "12", "", ["E", "-", "9"]]}, {"source": "0e9", "context": [], "expected": ["DecimalInt", "0", ["e", null, "9"]]}, {"source": "0e+9", "context": [], "expected": ["DecimalInt", "0", ["e", "+", "9"]]}, {"source": "0e-9", "context": [], "expected": ["DecimalInt", "0", ["e", "-", "9"]]}, {"source": "0E9", "context": [], "expected": ["DecimalInt", "0", ["E", null, "9"]]}, {"source": "0E+9", "context": [], "expected": ["DecimalInt", "0", ["E", "+", "9"]]}, {"source": "0E-9", "context": [], "expected": ["DecimalInt", "0", ["E", "-", "9"]]}, {"source": "00e9", "context": [], "error": "unexpected char"}, {"source": "00e+9", "context": [], "error": "unexpected char"}, {"source": "00e-9", "context": [], "error": "unexpected char"}, {"source": "00E9", "context": [], "error": "unexpected char"}, {"source": "00E+9", "context": [], "error": "unexpected char"}, {"source": "00E-9", "context": [], "error": "unexpected char"}, {"source": ".", "context": [], "expected": ["Dot"]}, {"source": "{", "context": [], "expected": ["LBrace"]}, {"source": "}", "context": [], "expected": ["RBrace"]}, {"source": "[", "context": [], "expected": ["LBrack"]}, {"source": "]", "context": [], "expected": ["RBrack"]}, {"source": "(", "context": [], "expected": ["LParen"]}, {"source": ")", "context": [], "expected": ["RParen"]}, {"source": ";", "context": [], "expected": ["Semi"]}, {"source": ":", "context": [], "expected": ["Colon"]}, {"source": ",", "context": [], "expected": ["Comma"]}, {"source": "<", "context": ["operator"], "expected": ["LAngle"]}, {"source": "<=", "context": ["operator"], "expected": ["LEq"]}, {"source": "<<", "context": ["operator"], "expected": ["LShift"]}, {"source": "<<=", "context": ["operator"], "expected": ["LShiftAssign"]}, {"source": ">", "context": ["operator"], "expected": ["RAngle"]}, {"source": ">=", "context": ["operator"], "expected": ["GEq"]}, {"source": ">>", "context": ["operator"], "expected": ["RShift"]}, {"source": ">>>", "context": ["operator"], "expected": ["URShift"]}, {"source": ">>=", "context": ["operator"], "expected": ["RShiftAssign"]}, {"source": ">>>=", "context": ["operator"], "expected": ["URShiftAssign"]}, {"source": "=", "context": ["operator"], "expected": ["Assign"]}, {"source": "==", "context": ["operator"], "expected": ["Eq"]}, {"source": "===", "context": ["operator"], "expected": ["StrictEq"]}, {"source": "!", "context": ["operator"], "expected": ["Bang"]}, {"source": "!=", "context": ["operator"], "expected": ["NEq"]}, {"source": "!==", "context": ["operator"], "expected": ["StrictNEq"]}, {"source": "+", "context": ["operator"], "expected": ["Plus"]}, {"source": "+=", "context": ["operator"], "expected": ["PlusAssign"]}, {"source": "++", "context": ["operator"], "expected": ["Inc"]}, {"source": "-", "context": ["operator"], "expected": ["Minus"]}, {"source": "-=", "context": ["operator"], "expected": ["MinusAssign"]}, {"source": "--", "context": ["operator"], "expected": ["Dec"]}, {"source": "*", "context": ["operator"], "expected": ["Star"]}, {"source": "*=", "context": ["operator"], "expected": ["StarAssign"]}, {"source": "%", "context": ["operator"], "expected": ["Mod"]}, {"source": "%=", "context": ["operator"], "expected": ["ModAssign"]}, {"source": "^", "context": ["operator"], "expected": ["BitXor"]}, {"source": "^=", "context": ["operator"], "expected": ["BitXorAssign"]}, {"source": "&", "context": ["operator"], "expected": ["BitAnd"]}, {"source": "&=", "context": ["operator"], "expected": ["BitAndAssign"]}, {"source": "&&", "context": ["operator"], "expected": ["LogicalAnd"]}, {"source": "|", "context": ["operator"], "expected": ["BitOr"]}, {"source": "|=", "context": ["operator"], "expected": ["BitOrAssign"]}, {"source": "||", "context": ["operator"], "expected": ["LogicalOr"]}, {"source": "~", "context": ["operator"], "expected": ["Tilde"]}, {"source": "?", "context": ["operator"], "expected": ["Question"]}, {"source": "foo", "context": [], "expected": ["Identifier", "foo"]}, {"source": "\\u0066\\u006f\\u006f", "context": [], "expected": ["Identifier", "foo"]}, {"source": "\\u{0066}\\u{006f}\\u{006f}", "context": [], "expected": ["Identifier", "foo"]}, {"source": "$", "context": [], "expected": ["Identifier", "$"]}, {"source": "_", "context": [], "expected": ["Identifier", "_"]}, {"source": "a", "context": [], "expected": ["Identifier", "a"]}, {"source": "a1", "context": [], "expected": ["Identifier", "a1"]}, {"source": "'foo'", "context": [], "expected": ["String", "foo"]}, {"source": "'\"foo\"'", "context": [], "expected": ["String", "\"foo\""]}, {"source": "'\\\"foo\\\"'", "context": [], "expected": ["String", "\"foo\""]}, {"source": "\"foo\"", "context": [], "expected": ["String", "foo"]}, {"source": "\"'foo'\"", "context": [], "expected": ["String", "'foo'"]}, {"source": "\"\\'foo\\'\"", "context": [], "expected": ["String", "'foo'"]}, {"source": "'\\u0066\\u006f\\u006f'", "context": [], "expected": ["String", "foo"]}, {"source": "'\\u{0066}\\u{006f}\\u{006f}'", "context": [], "expected": ["String", "foo"]}, {"source": "'\\u{66}\\u{6f}\\u{6f}'", "context": [], "expected": ["String", "foo"]}, {"source": "'\\146\\157\\157'", "context": [], "expected": ["String", "foo"]}, {"source": "\"hello\\\nworld\"", "context": [], "expected": ["String", "helloworld"]}, {"source": "\"hello\\\rworld\"", "context": [], "expected": ["String", "helloworld"]}, {"source": "\"hello\\\r\nworld\"", "context": [], "expected": ["String", "helloworld"]}, {"source": "\"hello\\\n\nworld\"", "context": [], "error": "unexpected char"}, {"source": "\"hello\\\r\rworld\"", "context": [], "error": "unexpected char"}, {"source": "\"hello\\\r\n\rworld\"", "context": [], "error": "unexpected char"}, {"source": "\"hello\\\r\n\nworld\"", "context": [], "error": "unexpected char"}, {"source": "null", "context": [], "expected": ["Reserved", "Null"]} ]