{"tests": [ {"description": "empty", "input": "", "output": []}, {"description": "length=1 IDENT (lowercase)", "input": "a", "output": [["IDENT", "a"]]}, {"description": "length=1 IDENT (uppercase)", "input": "A", "output": [["IDENT", "A"]]}, {"description": "length=2 IDENT (uppercase)", "input": "AB", "output": [["IDENT", "AB"]]}, {"description": "length=2 IDENT (lowercase)", "input": "ab", "output": [["IDENT", "ab"]]}, {"description": "\\", "input": "\\", "output": [["DELIM", "\\"]]}, {"description": "IDENT started by escape 1", "input": "\\41", "output": [["IDENT", "A"]]}, {"description": "IDENT started by escape 2", "input": "\\041", "output": [["IDENT", "A"]]}, {"description": "IDENT started by escape 3", "input": "\\0041", "output": [["IDENT", "A"]]}, {"description": "IDENT started by escape 4", "input": "\\00041", "output": [["IDENT", "A"]]}, {"description": "IDENT started by escape 5", "input": "\\000041", "output": [["IDENT", "A"]]}, {"description": "IDENT started by escape 6", "input": "\\0000041", "output": [["IDENT", "\u00041"]]}, {"description": "IDENT started by escape 7", "input": "\\00000041", "output": [["IDENT", "\u000041"]]}, {"description": "IDENT started by escape followed by a space 1", "input": "\\41 ", "output": [["IDENT", "A"]]}, {"description": "IDENT started by escape followed by a space 2", "input": "\\41 a", "output": [["IDENT", "Aa"]]}, {"description": "IDENT started by escape followed by a space 3", "input": "\\41\u0009a", "output": [["IDENT", "Aa"]]}, {"description": "IDENT started by escape followed by a space 4", "input": "\\000041 ", "output": [["IDENT", "A"]]}, {"description": "IDENT started by escape followed by a space 5", "input": "\\000041\u000D\u000A", "output": [["IDENT", "A"]]}, {"description": "\\\u000D", "input": "\\\u000D", "output": [["DELIM", "\\"], ["S"]]}, {"description": "\\\u000D\u000A", "input": "\\\u000D\u000A", "output": [["DELIM", "\\"], ["S"]]}, {"description": "\\\u000D\\\u000A", "input": "\\\u000D\\\u000A", "output": [["DELIM", "\\"], ["S"], ["DELIM", "\\"], ["S"]]}, {"description": "\\\u000C", "input": "\\\u000C", "output": [["DELIM", "\\"], ["S"]]}, {"description": "\\\u000A", "input": "\\\u000A", "output": [["DELIM", "\\"], ["S"]]}, {"description": "\\ ", "input": "\\ ", "output": [["IDENT", " "]]}, {"description": "\\\\", "input": "\\\\", "output": [["IDENT", "\\"]]}, {"description": "\\\\\\", "input": "\\\\\\", "output": [["IDENT", "\\"], ["DELIM", "\\"]]}, {"description": "\\\u0009", "input": "\\\u0009", "output": [["IDENT", "\u0009"]]}, {"description": "\\X", "input": "\\X", "output": [["IDENT", "X"]]}, {"description": "a\\", "input": "a\\", "output": [["IDENT", "a"], ["DELIM", "\\"]]}, {"description": "a\\f1", "input": "a\\f1", "output": [["IDENT", "a\u00f1"]]}, {"description": "a\\F1", "input": "a\\F1", "output": [["IDENT", "a\u00f1"]]}, {"description": "a\\0f1", "input": "a\\0f1", "output": [["IDENT", "a\u00f1"]]}, {"description": "a\\0F1", "input": "a\\0F1", "output": [["IDENT", "a\u00f1"]]}, {"description": "a\\41", "input": "a\\41", "output": [["IDENT", "aA"]]}, {"description": "a\\41 b", "input": "a\\41 b", "output": [["IDENT", "aAb"]]}, {"description": "a\\41\u0009X", "input": "a\\41\u0009X", "output": [["IDENT", "aAX"]]}, {"description": "a\\4e00", "input": "a\\4e00", "output": [["IDENT", "a\u4e00"]]}, {"description": "a\\41 X", "input": "a\\41 X", "output": [["IDENT", "aA"], ["S"], ["IDENT", "X"]]}, {"description": "a\\ ", "input": "a\\ ", "output": [["IDENT", "a "]]}, {"description": "a\\ b", "input": "a\\ b", "output": [["IDENT", "a b"]]}, {"description": "a\\\\b", "input": "a\\\\b", "output": [["IDENT", "a\\b"]]}, {"description": "a\\\u0009b", "input": "a\\\u0009b", "output": [["IDENT", "a\u0009b"]]}, {"description": "a\\GB", "input": "a\\GB", "output": [["IDENT", "aGB"]]}, {"description": "a\\\u000D", "input": "a\\\u000D", "output": [["IDENT", "a"], ["DELIM", "\\"], ["S"]]}, {"description": "a\\\u000A", "input": "a\\\u000A", "output": [["IDENT", "a"], ["DELIM", "\\"], ["S"]]}, {"description": "a\\\u000D\u000A", "input": "a\\\u000D\u000A", "output": [["IDENT", "a"], ["DELIM", "\\"], ["S"]]}, {"description": "a\\\u000D\\\u000A", "input": "a\\\u000D\\\u000A", "output": [["IDENT", "a"], ["DELIM", "\\"], ["S"], ["DELIM", "\\"], ["S"]]}, {"description": "a\\\u000C", "input": "a\\\u000C", "output": [["IDENT", "a"], ["DELIM", "\\"], ["S"]]}, {"description": "\\-", "input": "\\-", "output": [["IDENT", "-"]]}, {"description": "-i", "input": "-i", "output": [["IDENT", "-i"]]}, {"description": "\\-i", "input": "\\-i", "output": [["IDENT", "-i"]]}, {"description": "-ident", "input": "-ident", "output": [["IDENT", "-ident"]]}, {"description": "\\-ident", "input": "\\-ident", "output": [["IDENT", "-ident"]]}, {"description": "-ident-ident", "input": "-ident-ident", "output": [["IDENT", "-ident-ident"]]}, {"description": "\\-ident-ident", "input": "\\-ident-ident", "output": [["IDENT", "-ident-ident"]]}, {"description": "-1", "input": "-1", "output": [["MINUS"], ["NUMBER", "1"]]}, {"description": "\\-1", "input": "\\-1", "output": [["IDENT", "-1"]]}, {"description": "-1a", "input": "-1a", "output": [["MINUS"], ["DIMENSION", "1", "a"]]}, {"description": "\\-1a", "input": "\\-1a", "output": [["IDENT", "-1a"]]}, {"description": "-\\31", "input": "-\\31", "output": [["IDENT", "-1"]]}, {"description": "\\-\\31", "input": "\\-\\31", "output": [["IDENT", "-1"]]}, {"description": "-\\41", "input": "-\\41", "output": [["IDENT", "-A"]]}, {"description": "\\-\\41", "input": "\\-\\41", "output": [["IDENT", "-A"]]}, {"description": "-\\\u000D", "input": "-\\\u000D", "output": [["MINUS"], ["DELIM", "\\"], ["S"]]}, {"description": "\\-\\\u000D", "input": "\\-\\\u000D", "output": [["IDENT", "-"], ["DELIM", "\\"], ["S"]]}, {"description": "\u4e00", "input": "\u4e00", "output": [["IDENT", "\u4e00"]]}, {"description": "a\u4e00b", "input": "a\u4e00b", "output": [["IDENT", "a\u4e00b"]]}, {"description": "@", "input": "@", "output": [["DELIM", "@"]]}, {"description": "@a", "input": "@a", "output": [["ATKEYWORD", "a"]]}, {"description": "@A", "input": "@A", "output": [["ATKEYWORD", "A"]]}, {"description": "@abc", "input": "@abc", "output": [["ATKEYWORD", "abc"]]}, {"description": "@-", "input": "@-", "output": [["DELIM", "@"], ["MINUS"]]}, {"description": "@\\-", "input": "@\\-", "output": [["ATKEYWORD", "-"]]}, {"description": "@-a", "input": "@-a", "output": [["ATKEYWORD", "-a"]]}, {"description": "@\\-a", "input": "@\\-a", "output": [["ATKEYWORD", "-a"]]}, {"description": "@1", "input": "@1", "output": [["DELIM", "@"], ["NUMBER", "1"]]}, {"description": "@\\1", "input": "@\\1", "output": [["ATKEYWORD", "\u0001"]]}, {"description": "@-1", "input": "@-1", "output": [["DELIM", "@"], ["MINUS"], ["NUMBER", "1"]]}, {"description": "@--", "input": "@--", "output": [["DELIM", "@"], ["MINUS"], ["MINUS"]]}, {"description": "@--1", "input": "@--1", "output": [["DELIM", "@"], ["MINUS"], ["MINUS"], ["NUMBER", "1"]]}, {"description": "@--a", "input": "@--a", "output": [["DELIM", "@"], ["MINUS"], ["IDENT", "-a"]]}, {"description": "@-\\-a", "input": "@-\\-a", "output": [["ATKEYWORD", "--a"]]}, {"description": "@-->", "input": "@-->", "output": [["DELIM", "@"], ["CDC"]]}, {"description": "@--->", "input": "@--->", "output": [["DELIM", "@"], ["MINUS"], ["CDC"]]}, {"description": "@\\41", "input": "@\\41", "output": [["ATKEYWORD", "A"]]}, {"description": "@\\61 b", "input": "@\\61 b", "output": [["ATKEYWORD", "ab"]]}, {"description": "@\\61 b", "input": "@\\61 b", "output": [["ATKEYWORD", "a"], ["S"], ["IDENT", "b"]]}, {"description": "@a\\41", "input": "@aA", "output": [["ATKEYWORD", "aA"]]}, {"description": "@a\\4e00X", "input": "@a\\4e00X", "output": [["ATKEYWORD", "a\u4e00X"]]}, {"description": "\"", "input": "\"", "output": [["INVALID", ""]]}, {"description": "'", "input": "'", "output": [["INVALID", ""]]}, {"description": "\"\"", "input": "\"\"", "output": [["STRING", ""]]}, {"description": "''", "input": "''", "output": [["STRING", ""]]}, {"description": "\"a", "input": "\"a", "output": [["INVALID", "a"]]}, {"description": "'a", "input": "'a", "output": [["INVALID", "a"]]}, {"description": "'a'", "input": "'a'", "output": [["STRING", "a"]]}, {"description": "\"a\"", "input": "\"a\"", "output": [["STRING", "a"]]}, {"description": "'a'", "input": "'a'", "output": [["STRING", "a"]]}, {"description": "\"a'", "input": "\"a'", "output": [["INVALID", "a'"]]}, {"description": "'a\"", "input": "'a\"", "output": [["INVALID", "a\""]]}, {"description": "\"A", "input": "\"A", "output": [["INVALID", "A"]]}, {"description": "'A", "input": "'A", "output": [["INVALID", "A"]]}, {"description": "\"A\"", "input": "\"A\"", "output": [["STRING", "A"]]}, {"description": "'A'", "input": "'A'", "output": [["STRING", "A"]]}, {"description": "\"A'", "input": "\"A'", "output": [["INVALID", "A'"]]}, {"description": "'A\"", "input": "'A\"", "output": [["INVALID", "A\""]]}, {"description": "\"abc", "input": "\"abc", "output": [["INVALID", "abc"]]}, {"description": "'abc", "input": "'abc", "output": [["INVALID", "abc"]]}, {"description": "\"abc\"", "input": "\"abc\"", "output": [["STRING", "abc"]]}, {"description": "'abc'", "input": "'abc'", "output": [["STRING", "abc"]]}, {"description": "\"a\\", "input": "\"a\\", "output": [["INVALID", "a"], ["DELIM", "\\"]]}, {"description": "'a\\", "input": "'a\\", "output": [["INVALID", "a"], ["DELIM", "\\"]]}, {"description": "\"\\", "input": "\"\\", "output": [["INVALID", ""], ["DELIM", "\\"]]}, {"description": "'\\", "input": "'\\", "output": [["INVALID", ""], ["DELIM", "\\"]]}, {"description": "\"a\\\"", "input": "\"a\\\"", "output": [["INVALID", "a\""]]}, {"description": "'a\\\"", "input": "'a\\\"", "output": [["INVALID", "a\""]]}, {"description": "'a\\'", "input": "'a\\'", "output": [["INVALID", "a'"]]}, {"description": "\"\\\"", "input": "\"\\\"", "output": [["INVALID", "\""]]}, {"description": "'\\\"", "input": "'\\\"", "output": [["INVALID", "\""]]}, {"description": "'\\'", "input": "'\\'", "output": [["INVALID", "'"]]}, {"description": "'\\\\\"", "input": "'\\\\\"", "output": [["INVALID", "\\\""]]}, {"description": "\"a\\'", "input": "\"a\\'", "output": [["INVALID", "a'"]]}, {"description": "\"a\\x", "input": "\"a\\x", "output": [["INVALID", "ax"]]}, {"description": "\"\\x", "input": "\"\\x", "output": [["INVALID", "x"]]}, {"description": "'\\x", "input": "'\\x", "output": [["INVALID", "x"]]}, {"description": "\"a\\x\"", "input": "\"a\\x\"", "output": [["STRING", "ax"]]}, {"description": "\"\\x \"", "input": "\"\\x \"", "output": [["STRING", "x "]]}, {"description": "\"a\\x \"", "input": "\"a\\x \"", "output": [["STRING", "ax "]]}, {"description": "\"\\31", "input": "\"\\31", "output": [["INVALID", "1"]]}, {"description": "\"a\\31", "input": "\"a\\31", "output": [["INVALID", "a1"]]}, {"description": "'a\\31", "input": "'a\\31", "output": [["INVALID", "a1"]]}, {"description": "\"\\31\"", "input": "\"\\31\"", "output": [["STRING", "1"]]}, {"description": "'\\31'", "input": "'\\31'", "output": [["STRING", "1"]]}, {"description": "\"a\\31\"", "input": "\"a\\31\"", "output": [["STRING", "a1"]]}, {"description": "\"\\31 ", "input": "\"\\31 ", "output": [["INVALID", "1"]]}, {"description": "\"a\\31 ", "input": "\"a\\31 ", "output": [["INVALID", "a1"]]}, {"description": "\"a\\31 \"", "input": "\"a\\31 \"", "output": [["STRING", "a1"]]}, {"description": "\"\\\u000D", "input": "\"\\\u000D", "output": [["INVALID", ""]]}, {"description": "url(\"\\\u000D)", "input": "url(\"\\\u000D)", "output": [["URI_INVALID"]]}, {"description": "'\\\u000D", "input": "'\\\u000D", "output": [["INVALID", ""]]}, {"description": "url('\\\u000D)", "input": "url('\\\u000D)", "output": [["URI_INVALID"]]}, {"description": "\"a\\\u000D", "input": "\"a\\\u000D", "output": [["INVALID", "a"]]}, {"description": "\"a\\\u000D\"", "input": "\"a\\\u000D\"", "output": [["STRING", "a"]]}, {"description": "url(\"a\\\u000D\")", "input": "url(\"a\\\u000D\")", "output": [["URI", "a"]]}, {"description": "'a\\\u000D'", "input": "'a\\\u000D'", "output": [["STRING", "a"]]}, {"description": "url('a\\\u000D')", "input": "url('a\\\u000D')", "output": [["URI", "a"]]}, {"description": "\"a\\\u000D\u000A", "input": "\"a\\\u000D\u000A", "output": [["INVALID", "a"]]}, {"description": "\"a\\\u000D\u000A\"", "input": "\"a\\\u000D\u000A\"", "output": [["STRING", "a"]]}, {"description": "\"a\\\u000D\\\u000A", "input": "\"a\\\u000D\\\u000A", "output": [["INVALID", "a"]]}, {"description": "'a\\\u000D\\\u000A", "input": "'a\\\u000D\\\u000A", "output": [["INVALID", "a"]]}, {"description": "\"a\\\u000D\\\u000A\"", "input": "\"a\\\u000D\\\u000A\"", "output": [["STRING", "a"]]}, {"description": "\"a\\\u000A", "input": "\"a\\\u000A", "output": [["INVALID", "a"]]}, {"description": "\"a\\\u000A\"", "input": "\"a\\\u000A\"", "output": [["STRING", "a"]]}, {"description": "'a\\\u000A'", "input": "'a\\\u000A'", "output": [["STRING", "a"]]}, {"description": "\"a\\\u000C", "input": "\"a\\\u000C", "output": [["INVALID", "a"]]}, {"description": "\"a\\\u000C\"", "input": "\"a\\\u000C\"", "output": [["STRING", "a"]]}, {"description": "'a\\\u000C'", "input": "'a\\\u000C'", "output": [["STRING", "a"]]}, {"description": "\"a\\\u000Daa", "input": "\"a\\\u000Daa", "output": [["INVALID", "aaa"]]}, {"description": "\"a\\\u000D\u000Ab", "input": "\"a\\\u000D\u000Ab", "output": [["INVALID", "ab"]]}, {"description": "'a\\\u000D\u000Ab", "input": "'a\\\u000D\u000Ab", "output": [["INVALID", "ab"]]}, {"description": "'\u000d'", "input": "'\u000d'", "output": [["INVALID", ""], ["S"], ["INVALID", ""]]}, {"description": "\"\u000d\"", "input": "\"\u000d\"", "output": [["INVALID", ""], ["S"], ["INVALID", ""]]}, {"description": "'\u000d\u000a'", "input": "'\u000d\u000a'", "output": [["INVALID", ""], ["S"], ["INVALID", ""]]}, {"description": "\"\u000d\u000a\"", "input": "\"\u000d\u000a\"", "output": [["INVALID", ""], ["S"], ["INVALID", ""]]}, {"description": "'\u000a'", "input": "'\u000a'", "output": [["INVALID", ""], ["S"], ["INVALID", ""]]}, {"description": "\"\u000a\"", "input": "\"\u000a\"", "output": [["INVALID", ""], ["S"], ["INVALID", ""]]}, {"description": "'\u000c'", "input": "'\u000c'", "output": [["INVALID", ""], ["S"], ["INVALID", ""]]}, {"description": "\"\u000c\"", "input": "\"\u000c\"", "output": [["INVALID", ""], ["S"], ["INVALID", ""]]}, {"description": "#", "input": "#", "output": [["DELIM", "#"]]}, {"description": "\\#", "input": "\\#", "output": [["IDENT", "#"]]}, {"description": "#a", "input": "#a", "output": [["HASH", "a"]]}, {"description": "#A", "input": "#A", "output": [["HASH", "A"]]}, {"description": "##", "input": "##", "output": [["DELIM", "#"], ["DELIM", "#"]]}, {"description": "#\\#", "input": "#\\#", "output": [["HASH", "#"]]}, {"description": "#\\X", "input": "#\\X", "output": [["HASH", "X"]]}, {"description": "#\\a", "input": "#\\a", "output": [["HASH", "\u000a"]]}, {"description": "#\\-", "input": "#\\-", "output": [["HASH", "-"]]}, {"description": "#_", "input": "#_", "output": [["HASH", "_"]]}, {"description": "#0", "input": "#0", "output": [["HASH", "0"]]}, {"description": "#123456", "input": "#123456", "output": [["HASH", "123456"]]}, {"description": "#abc", "input": "#abc", "output": [["HASH", "abc"]]}, {"description": "#\\4e00XYZ", "input": "#\\4e00XYZ", "output": [["HASH", "\u4e00XYZ"]]}, {"description": "#\u4e00", "input": "#\u4e00", "output": [["HASH", "\u4e00"]]}, {"description": "#a\\100", "input": "#a\\100", "output": [["HASH", "a\u0100"]]}, {"description": "#1234567890", "input": "#1234567890", "output": [["HASH", "1234567890"]]}, {"description": "#1a", "input": "#1a", "output": [["HASH", "1a"]]}, {"description": "#\\a b", "input": "#\\a b", "output": [["HASH", "\u000ab"]]}, {"description": "#!", "input": "#!", "output": [["DELIM", "#"], ["EXCLAMATION"]]}, {"description": "#-", "input": "#-", "output": [["HASH", "-"]]}, {"description": "#--", "input": "#--", "output": [["HASH", "--"]]}, {"description": "#-->", "input": "#-->", "output": [["HASH", "--"], ["GREATER"]]}, {"description": "0", "input": "0", "output": [["NUMBER", "0"]]}, {"description": "1", "input": "1", "output": [["NUMBER", "1"]]}, {"description": "111", "input": "111", "output": [["NUMBER", "111"]]}, {"description": "0001", "input": "0001", "output": [["NUMBER", "0001"]]}, {"description": "1e", "input": "1e", "output": [["DIMENSION", "1", "e"]]}, {"description": "1e4", "input": "1e4", "output": [["DIMENSION", "1", "e4"]]}, {"description": "1n+2", "input": "1n+2", "output": [["DIMENSION", "1", "n"], ["PLUS"], ["NUMBER", "2"]]}, {"description": "0.", "input": "0.", "output": [["NUMBER", "0"], ["DOT"]]}, {"description": "1.", "input": "1.", "output": [["NUMBER", "1"], ["DOT"]]}, {"description": "144.", "input": "144.", "output": [["NUMBER", "144"], ["DOT"]]}, {"description": "0.1", "input": "0.1", "output": [["NUMBER", "0.1"]]}, {"description": "1.1", "input": "1.1", "output": [["NUMBER", "1.1"]]}, {"description": "0.1000", "input": "0.1000", "output": [["NUMBER", "0.1000"]]}, {"description": "0.0001", "input": "0.0001", "output": [["NUMBER", "0.0001"]]}, {"description": ".", "input": ".", "output": [["DOT"]]}, {"description": ".1", "input": ".1", "output": [["NUMBER", "0.1"]]}, {"description": ".0", "input": ".0", "output": [["NUMBER", "0.0"]]}, {"description": ".1234", "input": ".1234", "output": [["NUMBER", "0.1234"]]}, {"description": ".1ab", "input": ".1ab", "output": [["DIMENSION", "0.1", "ab"]]}, {"description": ".1.2", "input": ".1.2", "output": [["NUMBER", "0.1"], ["NUMBER", "0.2"]]}, {"description": ".a", "input": ".a", "output": [["DOT"], ["IDENT", "a"]]}, {"description": "3.11.66", "input": "3.11.66", "output": [["NUMBER", "3.11"], ["NUMBER", "0.66"]]}, {"description": "..", "input": "..", "output": [["DOT"], ["DOT"]]}, {"description": "...", "input": "...", "output": [["DOT"], ["DOT"], ["DOT"]]}, {"description": "...1", "input": "...1", "output": [["DOT"], ["DOT"], ["NUMBER", "0.1"]]}, {"description": "...a", "input": "...a", "output": [["DOT"], ["DOT"], ["DOT"], ["IDENT", "a"]]}, {"description": "+0", "input": "+0", "output": [["PLUS"], ["NUMBER", "0"]]}, {"description": "+1", "input": "+1", "output": [["PLUS"], ["NUMBER", "1"]]}, {"description": "+1.15", "input": "+1.15", "output": [["PLUS"], ["NUMBER", "1.15"]]}, {"description": "-.55", "input": "-.55", "output": [["MINUS"], ["NUMBER", "0.55"]]}, {"description": "-0", "input": "-0", "output": [["MINUS"], ["NUMBER", "0"]]}, {"description": "-0.2", "input": "-0.2", "output": [["MINUS"], ["NUMBER", "0.2"]]}, {"description": "-.1", "input": "-.1", "output": [["MINUS"], ["NUMBER", "0.1"]]}, {"description": "+-0", "input": "+-0", "output": [["PLUS"], ["MINUS"], ["NUMBER", "0"]]}, {"description": "a-0", "input": "a-0", "output": [["IDENT", "a-0"]]}, {"description": "@a-0", "input": "@a-0", "output": [["ATKEYWORD", "a-0"]]}, {"description": "#a-0", "input": "#a-0", "output": [["HASH", "a-0"]]}, {"description": "", "input": "0a-->", "output": [["DIMENSION", "0", "a--"], ["GREATER"]]}, {"description": "0a/**/-->", "input": "0a/**/-->", "output": [["DIMENSION", "0", "a"], ["CDC"]]}, {"description": "0/**/a", "input": "0/**/a", "output": [["NUMBER", "0"], ["IDENT", "a"]]}, {"description": "0-", "input": "0-", "output": [["NUMBER", "0"], ["MINUS"]]}, {"description": "0.0-", "input": "0.0-", "output": [["NUMBER", "0.0"], ["MINUS"]]}, {"description": "0\\-", "input": "0\\-", "output": [["DIMENSION", "0", "-"]]}, {"description": "0-a", "input": "0-a", "output": [["DIMENSION", "0", "-a"]]}, {"description": "0.0-a", "input": "0.0-a", "output": [["DIMENSION", "0.0", "-a"]]}, {"description": "0-abc", "input": "0-abc", "output": [["DIMENSION", "0", "-abc"]]}, {"description": "0-\\", "input": "0-\\", "output": [["NUMBER", "0"], ["MINUS"], ["DELIM", "\\"]]}, {"description": "0-\\9", "input": "0-\\9", "output": [["DIMENSION", "0", "-\u0009"]]}, {"description": "0-\\9x", "input": "0-\\9x", "output": [["DIMENSION", "0", "-\u0009x"]]}, {"description": "0-\\9 b", "input": "0-\\9 b", "output": [["DIMENSION", "0", "-\u0009b"]]}, {"description": "0-a\\9", "input": "0-a\\9", "output": [["DIMENSION", "0", "-a\u0009"]]}, {"description": "0-a\\9 b", "input": "0-a\\9 b", "output": [["DIMENSION", "0", "-a\u0009b"]]}, {"description": "0-\\x", "input": "0-\\x", "output": [["DIMENSION", "0", "-x"]]}, {"description": "0-\\\u000d", "input": "0-\\\u000d", "output": [["NUMBER", "0"], ["MINUS"], ["DELIM", "\\"], ["S"]]}, {"description": "0-\\\u000d\u000a", "input": "0-\\\u000d\u000a", "output": [["NUMBER", "0"], ["MINUS"], ["DELIM", "\\"], ["S"]]}, {"description": "0-\\\u000a", "input": "0-\\\u000a", "output": [["NUMBER", "0"], ["MINUS"], ["DELIM", "\\"], ["S"]]}, {"description": "0-\\\u000c", "input": "0-\\\u000c", "output": [["NUMBER", "0"], ["MINUS"], ["DELIM", "\\"], ["S"]]}, {"description": "0--", "input": "0--", "output": [["NUMBER", "0"], ["MINUS"], ["MINUS"]]}, {"description": "0-->", "input": "0-->", "output": [["NUMBER", "0"], ["CDC"]]}, {"description": "0-a--", "input": "0-a--", "output": [["DIMENSION", "0", "-a--"]]}, {"description": "0-a-->", "input": "0-a-->", "output": [["DIMENSION", "0", "-a--"], ["GREATER"]]}, {"description": "0%", "input": "0%", "output": [["PERCENTAGE", "0"]]}, {"description": "0\\%", "input": "0\\%", "output": [["DIMENSION", "0", "%"]]}, {"description": "0.0%", "input": "0.0%", "output": [["PERCENTAGE", "0.0"]]}, {"description": "0.0\\%", "input": "0.0\\%", "output": [["DIMENSION", "0.0", "%"]]}, {"description": ".0%", "input": ".0%", "output": [["PERCENTAGE", "0.0"]]}, {"description": ".0\\%", "input": ".0\\%", "output": [["DIMENSION", "0.0", "%"]]}, {"description": "0%a", "input": "0%a", "output": [["PERCENTAGE", "0"], ["IDENT", "a"]]}, {"description": "0\\%a", "input": "0\\%a", "output": [["DIMENSION", "0", "%a"]]}, {"description": "120%", "input": "120%", "output": [["PERCENTAGE", "120"]]}, {"description": "120\\%", "input": "120\\%", "output": [["DIMENSION", "120", "%"]]}, {"description": "0.%", "input": "0.%", "output": [["NUMBER", "0"], ["DOT"], ["DELIM", "%"]]}, {"description": "0.\\%", "input": "0.\\%", "output": [["NUMBER", "0"], ["DOT"], ["IDENT", "%"]]}, {"description": "u", "input": "u", "output": [["IDENT", "u"]]}, {"description": "U", "input": "U", "output": [["IDENT", "U"]]}, {"description": "\\u", "input": "\\u", "output": [["IDENT", "u"]]}, {"description": "ur", "input": "ur", "output": [["IDENT", "ur"]]}, {"description": "url", "input": "url", "output": [["IDENT", "url"]]}, {"description": "url(", "input": "url(", "output": [["URI_INVALID"]]}, {"description": "uRl(", "input": "uRl(", "output": [["URI_INVALID"]]}, {"description": "ur\\l(", "input": "ur\\l(", "output": [["URI_INVALID"]]}, {"description": "url\\(", "input": "url\\(", "output": [["IDENT", "url("]]}, {"description": "url()", "input": "url()", "output": [["URI", ""]]}, {"description": "url( )", "input": "url( )", "output": [["URI", ""]]}, {"description": "url( )", "input": "url( )", "output": [["URI", ""]]}, {"description": "url(\u0009)", "input": "url(\u0009)", "output": [["URI", ""]]}, {"description": "url(a)", "input": "url(a)", "output": [["URI", "a"]]}, {"description": "url(abcde)", "input": "url(abcde)", "output": [["URI", "abcde"]]}, {"description": "url( a)", "input": "url( a)", "output": [["URI", "a"]]}, {"description": "url(a )", "input": "url(a )", "output": [["URI", "a"]]}, {"description": "url( a )", "input": "url( a )", "output": [["URI", "a"]]}, {"description": "url( /**/a)", "input": "url( /**/a)", "output": [["URI", "/**/a"]]}, {"description": "url( /**/ a)", "input": "url( /**/ a)", "output": [["URI_INVALID"]]}, {"description": "url(a b)", "input": "url(a b)", "output": [["URI_INVALID"]]}, {"description": "url())", "input": "url())", "output": [["URI", ""], ["RPAREN"]]}, {"description": "url(()", "input": "url(()", "output": [["URI_INVALID"]]}, {"description": "url(\u0001)", "input": "url(\u0001)", "output": [["URI_INVALID"]]}, {"description": "url(\u4e00)", "input": "url(\u4e00)", "output": [["URI", "\u4e00"]]}, {"description": "url(\u000d)", "input": "url(\u000d)", "output": [["URI", ""]]}, {"description": "url(\u000a)", "input": "url(\u000a)", "output": [["URI", ""]]}, {"description": "url(\u000d\u000a)", "input": "url(\u000d\u000a)", "output": [["URI", ""]]}, {"description": "url(\u000c)", "input": "url(\u000c)", "output": [["URI", ""]]}, {"description": "url(\u000b)", "input": "url(\u000b)", "output": [["URI_INVALID"]]}, {"description": "url(ad)", "input": "url(ad)", "output": [["URI", "ad"]]}, {"description": "url(a )", "input": "url(a )", "output": [["URI", "a"]]}, {"description": "url(a\u000d)", "input": "url(a\u000d)", "output": [["URI", "a"]]}, {"description": "url(a\u000a)", "input": "url(a\u000a)", "output": [["URI", "a"]]}, {"description": "url(a()", "input": "url(a()", "output": [["URI_INVALID"]]}, {"description": "url(a))", "input": "url(a))", "output": [["URI", "a"], ["RPAREN"]]}, {"description": "url(a\u4e00)", "input": "url(a\u4e00)", "output": [["URI", "a\u4e00"]]}, {"description": "url(\\)", "input": "url(\\)", "output": [["URI_INVALID"]]}, {"description": "url(a\\)", "input": "url(a\\)", "output": [["URI_INVALID"]]}, {"description": "url(\\x)", "input": "url(\\x)", "output": [["URI", "x"]]}, {"description": "url(a\\x)", "input": "url(a\\x)", "output": [["URI", "ax"]]}, {"description": "url(\\xyz)", "input": "url(\\xyz)", "output": [["URI", "xyz"]]}, {"description": "url(a\\xyz)", "input": "url(a\\xyz)", "output": [["URI", "axyz"]]}, {"description": "url(\\x yz)", "input": "url(\\x yz)", "output": [["URI_INVALID"]]}, {"description": "url(a\\x yz)", "input": "url(a\\x yz)", "output": [["URI_INVALID"]]}, {"description": "url(\\a)", "input": "url(\\a)", "output": [["URI", "\u000a"]]}, {"description": "url(\\a )", "input": "url(\\a )", "output": [["URI", "\u000a"]]}, {"description": "url(a\\a )", "input": "url(a\\a )", "output": [["URI", "a\u000a"]]}, {"description": "url(\\a b)", "input": "url(\\a b)", "output": [["URI", "\u000ab"]]}, {"description": "url(\\a b)", "input": "url(\\a b)", "output": [["URI_INVALID"]]}, {"description": "url(a\\a b)", "input": "url(a\\a b)", "output": [["URI_INVALID"]]}, {"description": "url(\\\u000d)", "input": "url(\\\u000d)", "output": [["URI_INVALID"]]}, {"description": "url(a\\\u000d)", "input": "url(a\\\u000d)", "output": [["URI_INVALID"]]}, {"description": "url(\\\u000a)", "input": "url(\\\u000a)", "output": [["URI_INVALID"]]}, {"description": "url(a\\\u000a)", "input": "url(a\\\u000a)", "output": [["URI_INVALID"]]}, {"description": "url(\\\u000d\u000a)", "input": "url(\\\u000d\u000a)", "output": [["URI_INVALID"]]}, {"description": "url(a\\\u000d\u000a)", "input": "url(a\\\u000d\u000a)", "output": [["URI_INVALID"]]}, {"description": "url(\\\u000c)", "input": "url(\\\u000c)", "output": [["URI_INVALID"]]}, {"description": "url(a\\\u000c)", "input": "url(a\\\u000c)", "output": [["URI_INVALID"]]}, {"description": "url(\\\u0001)", "input": "url(\\\u0001)", "output": [["URI", "\u0001"]]}, {"description": "url(a\\\u0001)", "input": "url(a\\\u0001)", "output": [["URI", "a\u0001"]]}, {"description": "url(\\4e00)", "input": "url(\\4e00)", "output": [["URI", "\u4e00"]]}, {"description": "url(a\\4e00)", "input": "url(a\\4e00)", "output": [["URI", "a\u4e00"]]}, {"description": "url(\\\u0028)", "input": "url(\\\u0028)", "output": [["URI", "("]]}, {"description": "url(a\\\u0028)", "input": "url(a\\\u0028)", "output": [["URI", "a("]]}, {"description": "url(\\\u0029)", "input": "url(\\\u0029)", "output": [["URI", ")"]]}, {"description": "url(a\\\u0029)", "input": "url(a\\\u0029)", "output": [["URI", "a)"]]}, {"description": "url(a\\(b\\)c)", "input": "url(a\\(b\\)c)", "output": [["URI", "a(b)c"]]}, {"description": "url(\\\\)", "input": "url(\\\\)", "output": [["URI", "\\"]]}, {"description": "url(a\\\\)", "input": "url(a\\\\)", "output": [["URI", "a\\"]]}, {"description": "url(a\\\\b)", "input": "url(a\\\\b)", "output": [["URI", "a\\b"]]}, {"description": "url(a b\\)c)", "input": "url(a b\\c)", "output": [["URI_INVALID"]]}, {"description": "url(a \"b)c\")", "input": "url(a \"b)c\")", "output": [["URI_INVALID"], ["IDENT", "c"], ["INVALID", ")"]]}, {"description": "url(\"", "input": "url(\"", "output": [["URI_INVALID"]]}, {"description": "url('", "input": "url('", "output": [["URI_INVALID"]]}, {"description": "url(\")", "input": "url(\")", "output": [["URI_INVALID"]]}, {"description": "url(')", "input": "url(')", "output": [["URI_INVALID"]]}, {"description": "url(\"\"", "input": "url(\"\"", "output": [["URI_INVALID"]]}, {"description": "url(\"'", "input": "url(\"'", "output": [["URI_INVALID"]]}, {"description": "url(''", "input": "url(''", "output": [["URI_INVALID"]]}, {"description": "url('\"", "input": "url('\"", "output": [["URI_INVALID"]]}, {"description": "url(\"\")", "input": "url(\"\")", "output": [["URI", ""]]}, {"description": "url(\"')", "input": "url(\"')", "output": [["URI_INVALID"]]}, {"description": "url('\")", "input": "url('\")", "output": [["URI_INVALID"]]}, {"description": "url('a')", "input": "url('a')", "output": [["URI", "a"]]}, {"description": "url(\"a\")", "input": "url(\"a\")", "output": [["URI", "a"]]}, {"description": "url('abcde')", "input": "url('abcde')", "output": [["URI", "abcde"]]}, {"description": "url(\"abcde\")", "input": "url(\"abcde\")", "output": [["URI", "abcde"]]}, {"description": "url( 'abcde')", "input": "url( 'abcde')", "output": [["URI", "abcde"]]}, {"description": "url( \"abcde\")", "input": "url( \"abcde\")", "output": [["URI", "abcde"]]}, {"description": "url('abcde' )", "input": "url('abcde' )", "output": [["URI", "abcde"]]}, {"description": "url(\"abcde\" )", "input": "url(\"abcde\" )", "output": [["URI", "abcde"]]}, {"description": "url( '\\'abcde')", "input": "url( '\\'abcde')", "output": [["URI", "'abcde"]]}, {"description": "url( \"\\'abcde\")", "input": "url( \"\\'abcde\")", "output": [["URI", "'abcde"]]}, {"description": "url( '\\\"abcde')", "input": "url( '\\\"abcde')", "output": [["URI", "\"abcde"]]}, {"description": "url( \"\\\"abcde\")", "input": "url( \"\\\"abcde\")", "output": [["URI", "\"abcde"]]}, {"description": "url( 'x\\'abcde')", "input": "url( 'x\\'abcde')", "output": [["URI", "x'abcde"]]}, {"description": "url( \"x\\'abcde\")", "input": "url( \"x\\'abcde\")", "output": [["URI", "x'abcde"]]}, {"description": "url( 'x\\\"abcde')", "input": "url( 'x\\\"abcde')", "output": [["URI", "x\"abcde"]]}, {"description": "url( \"x\\\"abcde\")", "input": "url( \"x\\\"abcde\")", "output": [["URI", "x\"abcde"]]}, {"description": "url( 'a(bcd)e')", "input": "url( 'a(bcd)e')", "output": [["URI", "a(bcd)e"]]}, {"description": "url( \"a(bcd)e\")", "input": "url( \"a(bcd)e\")", "output": [["URI", "a(bcd)e"]]}, {"description": "url( 'a(bcde')", "input": "url( 'a(bcde')", "output": [["URI", "a(bcde"]]}, {"description": "url( \"a(bcde\")", "input": "url( \"a(bcde\")", "output": [["URI", "a(bcde"]]}, {"description": "url( 'abcd)e')", "input": "url( 'abcd)e')", "output": [["URI", "abcd)e"]]}, {"description": "url( \"abcd)e\")", "input": "url( \"abcd)e\")", "output": [["URI", "abcd)e"]]}, {"description": "url( '\\a(bcd)e')", "input": "url( '\\a(bcd)e')", "output": [["URI", "\u000a(bcd)e"]]}, {"description": "url( \"\\a(bcd)e\")", "input": "url( \"\\a(bcd)e\")", "output": [["URI", "\u000a(bcd)e"]]}, {"description": "url( '\\a (bcd)e')", "input": "url( '\\a (bcd)e')", "output": [["URI", "\u000a(bcd)e"]]}, {"description": "url( \"\\a (bcd)e\")", "input": "url( \"\\a (bcd)e\")", "output": [["URI", "\u000a(bcd)e"]]}, {"description": "url( '\\Xa(bcd)e')", "input": "url( '\\Xa(bcd)e')", "output": [["URI", "Xa(bcd)e"]]}, {"description": "url( \"\\Xa(bcd)e\")", "input": "url( \"\\Xa(bcd)e\")", "output": [["URI", "Xa(bcd)e"]]}, {"description": "url( 'a b')", "input": "url( 'a b')", "output": [["URI", "a b"]]}, {"description": "url( \"a b\")", "input": "url( \"a b\")", "output": [["URI", "a b"]]}, {"description": "url( ' a b ')", "input": "url( ' a b ')", "output": [["URI", " a b "]]}, {"description": "url( \" a b \")", "input": "url( \" a b \")", "output": [["URI", " a b "]]}, {"description": "url( 'a b'c)", "input": "url( 'a b'c)", "output": [["URI_INVALID"]]}, {"description": "url( \"a b\"c)", "input": "url( \"a b\"c)", "output": [["URI_INVALID"]]}, {"description": "url( 'a b''c')", "input": "url( 'a b''c')", "output": [["URI_INVALID"]]}, {"description": "url( \"a b\"\"c\")", "input": "url( \"a b\"\"c\")", "output": [["URI_INVALID"]]}, {"description": "url( 'a b' c)", "input": "url( 'a b' c)", "output": [["URI_INVALID"]]}, {"description": "url( \"a b\" c)", "input": "url( \"a b\" c)", "output": [["URI_INVALID"]]}, {"description": "url( '\\", "input": "url( '\\", "output": [["URI_INVALID"], ["DELIM", "\\"]]}, {"description": "url( \"\\)", "input": "url( \"\\", "output": [["URI_INVALID"], ["DELIM", "\\"]]}, {"description": "url( 'x\\", "input": "url( 'x\\", "output": [["URI_INVALID"], ["DELIM", "\\"]]}, {"description": "url( \"x\\)", "input": "url( \"x\\", "output": [["URI_INVALID"], ["DELIM", "\\"]]}, {"description": "url('\u000a')", "input": "url('\u000a')", "output": [["URI_INVALID"], ["S"], ["INVALID", ")"]]}, {"description": "url(\"\u000a\")", "input": "url(\"\u000a\")", "output": [["URI_INVALID"], ["S"], ["INVALID", ")"]]}, {"description": "url('\u000d')", "input": "url('\u000d')", "output": [["URI_INVALID"], ["S"], ["INVALID", ")"]]}, {"description": "url(\"\u000d\")", "input": "url(\"\u000d\")", "output": [["URI_INVALID"], ["S"], ["INVALID", ")"]]}, {"description": "url('\u000d\u000a')", "input": "url('\u000d\u000a')", "output": [["URI_INVALID"], ["S"], ["INVALID", ")"]]}, {"description": "url(\"\u000d\u000a\")", "input": "url(\"\u000d\u000a\")", "output": [["URI_INVALID"], ["S"], ["INVALID", ")"]]}, {"description": "url('\u000c')", "input": "url('\u000c')", "output": [["URI_INVALID"], ["S"], ["INVALID", ")"]]}, {"description": "url(\"\u000c\")", "input": "url(\"\u000c\")", "output": [["URI_INVALID"], ["S"], ["INVALID", ")"]]}, {"description": "url-prefix()", "input": "url-prefix()", "output": [["URI_PREFIX", ""]]}, {"description": "url-prefix(\"\")", "input": "url-prefix(\"\")", "output": [["URI_PREFIX", ""]]}, {"description": "url-prefix('')", "input": "url-prefix('')", "output": [["URI_PREFIX", ""]]}, {"description": "url-prefix(aaa)", "input": "url-prefix(aaa)", "output": [["URI_PREFIX", "aaa"]]}, {"description": "url-prefix(\"abc\")", "input": "url-prefix(\"abc\")", "output": [["URI_PREFIX", "abc"]]}, {"description": "url-prefix('abc')", "input": "url-prefix('abc')", "output": [["URI_PREFIX", "abc"]]}, {"description": "url-prefix(\\4e00)", "input": "url-prefix(\\4e00)", "output": [["URI_PREFIX", "\u4e00"]]}, {"description": "url-prefix(aa\"bb)", "input": "url-prefix(aa\"bb)", "output": [["URI_PREFIX_INVALID"]]}, {"description": "url-prefix(aa'bb)", "input": "url-prefix(aa'bb)", "output": [["URI_PREFIX_INVALID"]]}, {"description": "url-prefix(\"aa)", "input": "url-prefix(\"aa)", "output": [["URI_PREFIX_INVALID"]]}, {"description": "url-prefix('aaa)", "input": "url-prefix('aaa)", "output": [["URI_PREFIX_INVALID"]]}, {"description": "url-prefi\\x( a )", "input": "url-prefi\\x( a )", "output": [["URI_PREFIX", "a"]]}, {"description": "u+", "input": "u+", "output": [["IDENT", "u"], ["PLUS"]]}, {"description": "U+", "input": "U+", "output": [["IDENT", "U"], ["PLUS"]]}, {"description": "u\\+", "input": "u\\+", "output": [["IDENT", "u+"]]}, {"description": "u+4", "input": "u+4", "output": [["UNICODE_RANGE", "4"]]}, {"description": "u+a", "input": "u+a", "output": [["UNICODE_RANGE", "a"]]}, {"description": "u+B", "input": "u+B", "output": [["UNICODE_RANGE", "B"]]}, {"description": "u+?", "input": "u+?", "output": [["UNICODE_RANGE", "?"]]}, {"description": "u+X", "input": "u+X", "output": [["IDENT", "u"], ["PLUS"], ["IDENT", "X"]]}, {"description": "u+/**/4", "input": "u+/**/4", "output": [["IDENT", "u"], ["PLUS"], ["NUMBER", "4"]]}, {"description": "u+\\34", "input": "u+\\34", "output": [["IDENT", "u"], ["PLUS"], ["IDENT", "4"]]}, {"description": "u+42", "input": "u+42", "output": [["UNICODE_RANGE", "42"]]}, {"description": "u+4E0", "input": "u+4E0", "output": [["UNICODE_RANGE", "4E0"]]}, {"description": "u+4e00", "input": "u+4e00", "output": [["UNICODE_RANGE", "4e00"]]}, {"description": "u+4?2?", "input": "u+4?2?", "output": [["UNICODE_RANGE", "4?2?"]]}, {"description": "u+4???", "input": "u+4???", "output": [["UNICODE_RANGE", "4???"]]}, {"description": "u+4???12", "input": "u+4???12", "output": [["UNICODE_RANGE", "4???12"]]}, {"description": "u+4123456", "input": "u+4123456", "output": [["UNICODE_RANGE", "412345"], ["NUMBER", "6"]]}, {"description": "u+4123456em", "input": "u+4123456em", "output": [["UNICODE_RANGE", "412345"], ["DIMENSION", "6", "em"]]}, {"description": "u+4-", "input": "u+4-", "output": [["UNICODE_RANGE", "4"], ["MINUS"]]}, {"description": "u+4-?", "input": "u+4-?", "output": [["UNICODE_RANGE", "4"], ["MINUS"], ["DELIM", "?"]]}, {"description": "u+4-1", "input": "u+4-1", "output": [["UNICODE_RANGE", "4-1"]]}, {"description": "u+4-x", "input": "u+4-x", "output": [["UNICODE_RANGE", "4"], ["IDENT", "-x"]]}, {"description": "u+4/**/-1", "input": "u+4/**/-1", "output": [["UNICODE_RANGE", "4"], ["MINUS"], ["NUMBER", "1"]]}, {"description": "u+4-12", "input": "u+4-12", "output": [["UNICODE_RANGE", "4-12"]]}, {"description": "u+4-eef", "input": "u+4-eef", "output": [["UNICODE_RANGE", "4-eef"]]}, {"description": "u+4-ffff", "input": "u+4-ffff", "output": [["UNICODE_RANGE", "4-ffff"]]}, {"description": "u+4-10000", "input": "u+4-10000", "output": [["UNICODE_RANGE", "4-10000"]]}, {"description": "u+4-ffffff", "input": "u+4-ffffff", "output": [["UNICODE_RANGE", "4-ffffff"]]}, {"description": "u+4-1234567", "input": "u+4-1234567", "output": [["UNICODE_RANGE", "4-123456"], ["NUMBER", "7"]]}, {"description": "u+4-123?56", "input": "u+4-123?56", "output": [["UNICODE_RANGE", "4-123"], ["DELIM", "?"], ["NUMBER", "56"]]}, {"description": "u+4--", "input": "u+4--", "output": [["UNICODE_RANGE", "4"], ["MINUS"], ["MINUS"]]}, {"description": "u+4-->", "input": "u+4-->", "output": [["UNICODE_RANGE", "4"], ["CDC"]]}, {"description": "u+4-/**/->", "input": "u+4-/**/->", "output": [["UNICODE_RANGE", "4"], ["MINUS"], ["MINUS"], ["GREATER"]]}, {"description": "u+4--/**/>", "input": "u+4--/**/>", "output": [["UNICODE_RANGE", "4"], ["MINUS"], ["MINUS"], ["GREATER"]]}, {"description": "\\u+4", "input": "\\u+4", "output": [["IDENT", "u"], ["PLUS"], ["NUMBER", "4"]]}, {"description": "<", "input": "<", "output": [["DELIM", "<"]]}, {"description": "", "input": "", "output": [["CDO"], ["GREATER"]]}, {"description": "", "input": "", "output": [["CDO"], ["MINUS"], ["GREATER"]]}, {"description": "", "input": "", "output": [["CDO"], ["CDC"]]}, {"description": "", "input": "", "output": [["DELIM", "<"], ["EXCLAMATION"], ["GREATER"]]}, {"description": "-", "input": "-", "output": [["MINUS"]]}, {"description": "--", "input": "--", "output": [["MINUS"], ["MINUS"]]}, {"description": "-->", "input": "-->", "output": [["CDC"]]}, {"description": ";", "input": ";", "output": [["SEMICOLON"]]}, {"description": ";;", "input": ";;", "output": [["SEMICOLON"], ["SEMICOLON"]]}, {"description": "\\;", "input": "\\;", "output": [["IDENT", ";"]]}, {"description": "{", "input": "{", "output": [["LBRACE"]]}, {"description": "}", "input": "}", "output": [["RBRACE"]]}, {"description": "[", "input": "[", "output": [["LBRACKET"]]}, {"description": "]", "input": "]", "output": [["RBRACKET"]]}, {"description": "(", "input": "(", "output": [["LPAREN"]]}, {"description": ")", "input": ")", "output": [["RPAREN"]]}, {"description": "((", "input": "((", "output": [["LPAREN"], ["LPAREN"]]}, {"description": "()", "input": "()", "output": [["LPAREN"], ["RPAREN"]]}, {"description": "\u0000", "input": "\u0000", "output": [["DELIM", "\u0000"]]}, {"description": "\u0009", "input": "\u0009", "output": [["S"]]}, {"description": "\u0009\u0009", "input": "\u0009\u0009", "output": [["S"]]}, {"description": "\u0009 ", "input": "\u0009 ", "output": [["S"]]}, {"description": "\u000a", "input": "\u000a", "output": [["S"]]}, {"description": "\u000a\u000a", "input": "\u000a\u000a", "output": [["S"]]}, {"description": "\u000d", "input": "\u000d", "output": [["S"]]}, {"description": "\u000d\u000a", "input": "\u000d\u000a", "output": [["S"]]}, {"description": "\u0009\u000a", "input": "\u0009\u000a", "output": [["S"]]}, {"description": "\u000b", "input": "\u000b", "output": [["DELIM", "\u000b"]]}, {"description": "\u000c", "input": "\u000c", "output": [["S"]]}, {"description": "\u000f", "input": "\u000f", "output": [["DELIM", "\u000f"]]}, {"description": " ", "input": " ", "output": [["S"]]}, {"description": " ", "input": " ", "output": [["S"]]}, {"description": "\u0009 ", "input": "\u0009 ", "output": [["S"]]}, {"description": " \u0009", "input": " \u0009", "output": [["S"]]}, {"description": "X\u0009", "input": "X\u0009", "output": [["IDENT", "X"], ["S"]]}, {"description": "/", "input": "/", "output": [["DELIM", "/"]]}, {"description": "/*", "input": "/*", "output": [["COMMENT_INVALID"]]}, {"description": "/**", "input": "/**", "output": [["COMMENT_INVALID"]]}, {"description": "/***", "input": "/***", "output": [["COMMENT_INVALID"]]}, {"description": "/**/", "input": "/**/", "output": []}, {"description": "/***/", "input": "/***/", "output": []}, {"description": "/****/", "input": "/****/", "output": []}, {"description": "/* */", "input": "/* */", "output": []}, {"description": "/*\u000a*/", "input": "/*\u000a*/", "output": []}, {"description": "/**/ ", "input": "/**/ ", "output": [["S"]]}, {"description": " /**/ ", "input": " /**/ ", "output": [["S"], ["S"]]}, {"description": "/*/**/", "input": "/*/**/", "output": []}, {"description": "/*/**/*/", "input": "/*/**/*/", "output": [["STAR"], ["DELIM", "/"]]}, {"description": "a(", "input": "a(", "output": [["FUNCTION", "a"]]}, {"description": "A(", "input": "A(", "output": [["FUNCTION", "A"]]}, {"description": "abc(", "input": "abc(", "output": [["FUNCTION", "abc"]]}, {"description": "\\x(", "input": "\\x(", "output": [["FUNCTION", "x"]]}, {"description": "\\a(", "input": "\\a(", "output": [["FUNCTION", "\u000a"]]}, {"description": "a\\b(", "input": "a\\b(", "output": [["FUNCTION", "a\u000b"]]}, {"description": "a\\a(", "input": "a\\a(", "output": [["FUNCTION", "a\u000a"]]}, {"description": "a\\a b(", "input": "a\\a b(", "output": [["FUNCTION", "a\u000ab"]]}, {"description": "a\\\u000d(", "input": "a\\\u000d(", "output": [["IDENT", "a"], ["DELIM", "\\"], ["S"], ["LPAREN"]]}, {"description": "a\\\u000a(", "input": "a\\\u000a(", "output": [["IDENT", "a"], ["DELIM", "\\"], ["S"], ["LPAREN"]]}, {"description": "a\\\u000d\u000a(", "input": "a\\\u000d\u000a(", "output": [["IDENT", "a"], ["DELIM", "\\"], ["S"], ["LPAREN"]]}, {"description": "a\\\u000c(", "input": "a\\\u000c(", "output": [["IDENT", "a"], ["DELIM", "\\"], ["S"], ["LPAREN"]]}, {"description": "a (", "input": "a (", "output": [["IDENT", "a"], ["S"], ["LPAREN"]]}, {"description": "a\\ (", "input": "a\\ (", "output": [["FUNCTION", "a "]]}, {"description": "a\\ (", "input": "a\\ (", "output": [["IDENT", "a "], ["S"], ["LPAREN"]]}, {"description": "-(", "input": "-(", "output": [["MINUS"], ["LPAREN"]]}, {"description": "\\-(", "input": "\\-(", "output": [["FUNCTION", "-"]]}, {"description": "-a(", "input": "-a(", "output": [["FUNCTION", "-a"]]}, {"description": "-1(", "input": "-1(", "output": [["MINUS"], ["NUMBER", "1"], ["LPAREN"]]}, {"description": "-a_b(", "input": "-a_b(", "output": [["FUNCTION", "-a_b"]]}, {"description": "--(", "input": "--(", "output": [["MINUS"], ["MINUS"], ["LPAREN"]]}, {"description": "-->(", "input": "-->(", "output": [["CDC"], ["LPAREN"]]}, {"description": "~", "input": "~", "output": [["TILDE"]]}, {"description": " ~", "input": " ~", "output": [["TILDE"]]}, {"description": " ~", "input": " ~", "output": [["TILDE"]]}, {"description": "~a", "input": "~a", "output": [["TILDE"], ["IDENT", "a"]]}, {"description": "~=", "input": "~=", "output": [["INCLUDES"]]}, {"description": "~~=", "input": "~~=", "output": [["TILDE"], ["INCLUDES"]]}, {"description": "|", "input": "|", "output": [["VBAR"]]}, {"description": "||", "input": "||", "output": [["VBAR"], ["VBAR"]]}, {"description": "|=", "input": "|=", "output": [["DASHMATCH"]]}, {"description": "|= ", "input": "|= ", "output": [["DASHMATCH"], ["S"]]}, {"description": "|= ", "input": "|= ", "output": [["DASHMATCH"], ["S"]]}, {"description": "||=", "input": "||=", "output": [["VBAR"], ["DASHMATCH"]]}, {"description": "^", "input": "^", "output": [["DELIM", "^"]]}, {"description": "^^", "input": "^^", "output": [["DELIM", "^"], ["DELIM", "^"]]}, {"description": "^=", "input": "^=", "output": [["PREFIXMATCH"]]}, {"description": "^=\u0009", "input": "^=\u0009", "output": [["PREFIXMATCH"], ["S"]]}, {"description": "^= ", "input": "^= ", "output": [["PREFIXMATCH"], ["S"]]}, {"description": "^^=", "input": "^^=", "output": [["DELIM", "^"], ["PREFIXMATCH"]]}, {"description": "$", "input": "$", "output": [["DELIM", "$"]]}, {"description": "$$", "input": "$$", "output": [["DELIM", "$"], ["DELIM", "$"]]}, {"description": "$a", "input": "$a", "output": [["DELIM", "$"], ["IDENT", "a"]]}, {"description": "$=", "input": "$=", "output": [["SUFFIXMATCH"]]}, {"description": "$= ", "input": "$= ", "output": [["SUFFIXMATCH"], ["S"]]}, {"description": "$= ", "input": "$= ", "output": [["SUFFIXMATCH"], ["S"]]}, {"description": "$==", "input": "$==", "output": [["SUFFIXMATCH"], ["MATCH"]]}, {"description": "*", "input": "*", "output": [["STAR"]]}, {"description": "**", "input": "**", "output": [["STAR"], ["STAR"]]}, {"description": "*=", "input": "*=", "output": [["SUBSTRINGMATCH"]]}, {"description": "*/**/=", "input": "*/**/=", "output": [["STAR"], ["MATCH"]]}, {"description": "*= ", "input": "*= ", "output": [["SUBSTRINGMATCH"], ["S"]]}, {"description": "*= ", "input": "*= ", "output": [["SUBSTRINGMATCH"], ["S"]]}, {"description": "=", "input": "=", "output": [["MATCH"]]}, {"description": "!", "input": "!", "output": [["EXCLAMATION"]]}, {"description": "%", "input": "%", "output": [["DELIM", "%"]]}, {"description": "&", "input": "&", "output": [["DELIM", "&"]]}, {"description": ",", "input": ",", "output": [["COMMA"]]}, {"description": " ,", "input": " ,", "output": [["COMMA"]]}, {"description": " ,", "input": " ,", "output": [["COMMA"]]}, {"description": " /**/,", "input": " /**/,", "output": [["S"], ["COMMA"]]}, {"description": "+", "input": "+", "output": [["PLUS"]]}, {"description": "+ ", "input": "+ ", "output": [["PLUS"], ["S"]]}, {"description": " +", "input": " +", "output": [["PLUS"]]}, {"description": "\u0009+", "input": "\u0009+", "output": [["PLUS"]]}, {"description": " +", "input": " +", "output": [["PLUS"]]}, {"description": "/", "input": "/", "output": [["DELIM", "/"]]}, {"description": "<", "input": "<", "output": [["DELIM", "<"]]}, {"description": ">", "input": ">", "output": [["GREATER"]]}, {"description": " >", "input": " >", "output": [["GREATER"]]}, {"description": " >", "input": " >", "output": [["GREATER"]]}, {"description": ":", "input": ":", "output": [["COLON"]]}, {"description": "::", "input": "::", "output": [["COLON"], ["COLON"]]}, {"description": ":/**/:", "input": ":/**/:", "output": [["COLON"], ["COLON"]]}, {"description": "?", "input": "?", "output": [["DELIM", "?"]]}, {"description": "_", "input": "_", "output": [["IDENT", "_"]]}, {"description": "`", "input": "`", "output": [["DELIM", "`"]]}, {"description": "\u007f", "input": "\u007f", "output": [["DELIM", "\u007f"]]}, {"description": "\u0080", "input": "\u0080", "output": [["IDENT", "\u0080"]]}, {"description": ":not(", "input": ":not(", "output": [["COLON"], ["FUNCTION", "not"]]}, {"description": ":no\\t(", "input": ":no\\t(", "output": [["COLON"], ["FUNCTION", "not"]]}, {"description": ":/**/not(", "input": ":/**/not(", "output": [["COLON"], ["FUNCTION", "not"]]} ]}