/[suikacvs]/markup/html/whatpm/t/css-token-1.test
Suika

Contents of /markup/html/whatpm/t/css-token-1.test

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.11 - (hide annotations) (download)
Sun Sep 30 12:03:10 2007 UTC (17 years, 9 months ago) by wakaba
Branch: MAIN
CVS Tags: HEAD
Changes since 1.10: +35 -19 lines
++ whatpm/t/ChangeLog	30 Sep 2007 12:02:22 -0000
	* css-token-1.dat: Test results for |\\{nl}| were incorrect.

2007-09-30  Wakaba  <wakaba@suika.fam.cx>

++ whatpm/Whatpm/CSS/ChangeLog	30 Sep 2007 12:02:57 -0000
2007-09-30  Wakaba  <wakaba@suika.fam.cx>

	* Tokenizer.pm: |\\{nl}| incorrectly appended |{nl}| to
	the string value of the token.

1 wakaba 1.1 {"tests": [
2     {"description": "empty",
3     "input": "",
4     "output": []},
5    
6     {"description": "length=1 IDENT (lowercase)",
7     "input": "a",
8     "output": [["IDENT", "a"]]},
9    
10     {"description": "length=1 IDENT (uppercase)",
11     "input": "A",
12     "output": [["IDENT", "A"]]},
13    
14     {"description": "length=2 IDENT (uppercase)",
15     "input": "AB",
16     "output": [["IDENT", "AB"]]},
17    
18     {"description": "length=2 IDENT (lowercase)",
19     "input": "ab",
20     "output": [["IDENT", "ab"]]},
21    
22 wakaba 1.2 {"description": "\\",
23     "input": "\\",
24     "output": [["DELIM", "\\"]]},
25    
26 wakaba 1.1 {"description": "IDENT started by escape 1",
27     "input": "\\41",
28     "output": [["IDENT", "A"]]},
29    
30     {"description": "IDENT started by escape 2",
31     "input": "\\041",
32     "output": [["IDENT", "A"]]},
33    
34     {"description": "IDENT started by escape 3",
35     "input": "\\0041",
36     "output": [["IDENT", "A"]]},
37    
38     {"description": "IDENT started by escape 4",
39     "input": "\\00041",
40     "output": [["IDENT", "A"]]},
41    
42     {"description": "IDENT started by escape 5",
43     "input": "\\000041",
44     "output": [["IDENT", "A"]]},
45    
46     {"description": "IDENT started by escape 6",
47     "input": "\\0000041",
48     "output": [["IDENT", "\u00041"]]},
49    
50     {"description": "IDENT started by escape 7",
51     "input": "\\00000041",
52     "output": [["IDENT", "\u000041"]]},
53    
54     {"description": "IDENT started by escape followed by a space 1",
55     "input": "\\41 ",
56     "output": [["IDENT", "A"]]},
57    
58     {"description": "IDENT started by escape followed by a space 2",
59     "input": "\\41 a",
60     "output": [["IDENT", "Aa"]]},
61    
62     {"description": "IDENT started by escape followed by a space 3",
63     "input": "\\41\u0009a",
64     "output": [["IDENT", "Aa"]]},
65    
66     {"description": "IDENT started by escape followed by a space 4",
67     "input": "\\000041 ",
68     "output": [["IDENT", "A"]]},
69    
70     {"description": "IDENT started by escape followed by a space 5",
71     "input": "\\000041\u000D\u000A",
72 wakaba 1.2 "output": [["IDENT", "A"]]},
73    
74     {"description": "\\\u000D",
75     "input": "\\\u000D",
76     "output": [["DELIM", "\\"], ["S"]]},
77    
78     {"description": "\\\u000D\u000A",
79     "input": "\\\u000D\u000A",
80     "output": [["DELIM", "\\"], ["S"]]},
81    
82     {"description": "\\\u000D\\\u000A",
83     "input": "\\\u000D\\\u000A",
84     "output": [["DELIM", "\\"], ["S"], ["DELIM", "\\"], ["S"]]},
85    
86     {"description": "\\\u000C",
87     "input": "\\\u000C",
88     "output": [["DELIM", "\\"], ["S"]]},
89    
90     {"description": "\\\u000A",
91     "input": "\\\u000A",
92     "output": [["DELIM", "\\"], ["S"]]},
93    
94     {"description": "\\ ",
95     "input": "\\ ",
96     "output": [["IDENT", " "]]},
97    
98     {"description": "\\\\",
99     "input": "\\\\",
100     "output": [["IDENT", "\\"]]},
101    
102     {"description": "\\\\\\",
103     "input": "\\\\\\",
104     "output": [["IDENT", "\\"], ["DELIM", "\\"]]},
105    
106     {"description": "\\\u0009",
107     "input": "\\\u0009",
108     "output": [["IDENT", "\u0009"]]},
109    
110     {"description": "\\X",
111     "input": "\\X",
112     "output": [["IDENT", "X"]]},
113    
114     {"description": "a\\",
115     "input": "a\\",
116     "output": [["IDENT", "a"], ["DELIM", "\\"]]},
117    
118     {"description": "a\\f1",
119     "input": "a\\f1",
120     "output": [["IDENT", "a\u00f1"]]},
121    
122     {"description": "a\\F1",
123     "input": "a\\F1",
124     "output": [["IDENT", "a\u00f1"]]},
125    
126     {"description": "a\\0f1",
127     "input": "a\\0f1",
128     "output": [["IDENT", "a\u00f1"]]},
129    
130     {"description": "a\\0F1",
131     "input": "a\\0F1",
132     "output": [["IDENT", "a\u00f1"]]},
133    
134     {"description": "a\\41",
135     "input": "a\\41",
136     "output": [["IDENT", "aA"]]},
137    
138     {"description": "a\\41 b",
139     "input": "a\\41 b",
140     "output": [["IDENT", "aAb"]]},
141    
142     {"description": "a\\41\u0009X",
143     "input": "a\\41\u0009X",
144     "output": [["IDENT", "aAX"]]},
145    
146     {"description": "a\\4e00",
147     "input": "a\\4e00",
148     "output": [["IDENT", "a\u4e00"]]},
149    
150     {"description": "a\\41 X",
151     "input": "a\\41 X",
152     "output": [["IDENT", "aA"], ["S"], ["IDENT", "X"]]},
153    
154     {"description": "a\\ ",
155     "input": "a\\ ",
156     "output": [["IDENT", "a "]]},
157    
158     {"description": "a\\ b",
159     "input": "a\\ b",
160     "output": [["IDENT", "a b"]]},
161    
162     {"description": "a\\\\b",
163     "input": "a\\\\b",
164     "output": [["IDENT", "a\\b"]]},
165    
166     {"description": "a\\\u0009b",
167     "input": "a\\\u0009b",
168     "output": [["IDENT", "a\u0009b"]]},
169    
170     {"description": "a\\GB",
171     "input": "a\\GB",
172     "output": [["IDENT", "aGB"]]},
173    
174     {"description": "a\\\u000D",
175     "input": "a\\\u000D",
176     "output": [["IDENT", "a"], ["DELIM", "\\"], ["S"]]},
177    
178     {"description": "a\\\u000A",
179     "input": "a\\\u000A",
180     "output": [["IDENT", "a"], ["DELIM", "\\"], ["S"]]},
181    
182     {"description": "a\\\u000D\u000A",
183     "input": "a\\\u000D\u000A",
184     "output": [["IDENT", "a"], ["DELIM", "\\"], ["S"]]},
185    
186     {"description": "a\\\u000D\\\u000A",
187     "input": "a\\\u000D\\\u000A",
188     "output": [["IDENT", "a"], ["DELIM", "\\"], ["S"], ["DELIM", "\\"], ["S"]]},
189    
190     {"description": "a\\\u000C",
191     "input": "a\\\u000C",
192     "output": [["IDENT", "a"], ["DELIM", "\\"], ["S"]]},
193    
194     {"description": "\\-",
195     "input": "\\-",
196     "output": [["IDENT", "-"]]},
197    
198     {"description": "-i",
199     "input": "-i",
200     "output": [["IDENT", "-i"]]},
201    
202     {"description": "\\-i",
203     "input": "\\-i",
204     "output": [["IDENT", "-i"]]},
205    
206     {"description": "-ident",
207     "input": "-ident",
208     "output": [["IDENT", "-ident"]]},
209    
210     {"description": "\\-ident",
211     "input": "\\-ident",
212     "output": [["IDENT", "-ident"]]},
213    
214     {"description": "-ident-ident",
215     "input": "-ident-ident",
216     "output": [["IDENT", "-ident-ident"]]},
217    
218     {"description": "\\-ident-ident",
219     "input": "\\-ident-ident",
220     "output": [["IDENT", "-ident-ident"]]},
221    
222     {"description": "-1",
223     "input": "-1",
224 wakaba 1.10 "output": [["MINUS"], ["NUMBER", "1"]]},
225 wakaba 1.2
226     {"description": "\\-1",
227     "input": "\\-1",
228     "output": [["IDENT", "-1"]]},
229    
230     {"description": "-1a",
231     "input": "-1a",
232 wakaba 1.10 "output": [["MINUS"], ["DIMENSION", "1", "a"]]},
233 wakaba 1.2
234     {"description": "\\-1a",
235     "input": "\\-1a",
236     "output": [["IDENT", "-1a"]]},
237    
238     {"description": "-\\31",
239     "input": "-\\31",
240     "output": [["IDENT", "-1"]]},
241    
242     {"description": "\\-\\31",
243     "input": "\\-\\31",
244     "output": [["IDENT", "-1"]]},
245    
246     {"description": "-\\41",
247     "input": "-\\41",
248     "output": [["IDENT", "-A"]]},
249    
250     {"description": "\\-\\41",
251     "input": "\\-\\41",
252     "output": [["IDENT", "-A"]]},
253    
254     {"description": "-\\\u000D",
255     "input": "-\\\u000D",
256 wakaba 1.10 "output": [["MINUS"], ["DELIM", "\\"], ["S"]]},
257 wakaba 1.2
258     {"description": "\\-\\\u000D",
259     "input": "\\-\\\u000D",
260     "output": [["IDENT", "-"], ["DELIM", "\\"], ["S"]]},
261    
262     {"description": "\u4e00",
263     "input": "\u4e00",
264     "output": [["IDENT", "\u4e00"]]},
265    
266     {"description": "a\u4e00b",
267     "input": "a\u4e00b",
268     "output": [["IDENT", "a\u4e00b"]]},
269    
270     {"description": "@",
271     "input": "@",
272     "output": [["DELIM", "@"]]},
273    
274     {"description": "@a",
275     "input": "@a",
276     "output": [["ATKEYWORD", "a"]]},
277    
278     {"description": "@A",
279     "input": "@A",
280     "output": [["ATKEYWORD", "A"]]},
281    
282     {"description": "@abc",
283     "input": "@abc",
284     "output": [["ATKEYWORD", "abc"]]},
285    
286     {"description": "@-",
287     "input": "@-",
288 wakaba 1.10 "output": [["DELIM", "@"], ["MINUS"]]},
289 wakaba 1.2
290 wakaba 1.6 {"description": "@\\-",
291     "input": "@\\-",
292     "output": [["ATKEYWORD", "-"]]},
293    
294 wakaba 1.2 {"description": "@-a",
295     "input": "@-a",
296     "output": [["ATKEYWORD", "-a"]]},
297    
298 wakaba 1.6 {"description": "@\\-a",
299     "input": "@\\-a",
300     "output": [["ATKEYWORD", "-a"]]},
301    
302 wakaba 1.2 {"description": "@1",
303     "input": "@1",
304     "output": [["DELIM", "@"], ["NUMBER", "1"]]},
305    
306 wakaba 1.6 {"description": "@\\1",
307     "input": "@\\1",
308     "output": [["ATKEYWORD", "\u0001"]]},
309    
310 wakaba 1.2 {"description": "@-1",
311     "input": "@-1",
312 wakaba 1.10 "output": [["DELIM", "@"], ["MINUS"], ["NUMBER", "1"]]},
313 wakaba 1.2
314 wakaba 1.6 {"description": "@--",
315     "input": "@--",
316 wakaba 1.10 "output": [["DELIM", "@"], ["MINUS"], ["MINUS"]]},
317 wakaba 1.6
318     {"description": "@--1",
319     "input": "@--1",
320 wakaba 1.10 "output": [["DELIM", "@"], ["MINUS"], ["MINUS"], ["NUMBER", "1"]]},
321 wakaba 1.6
322     {"description": "@--a",
323     "input": "@--a",
324 wakaba 1.10 "output": [["DELIM", "@"], ["MINUS"], ["IDENT", "-a"]]},
325 wakaba 1.6
326     {"description": "@-\\-a",
327     "input": "@-\\-a",
328     "output": [["ATKEYWORD", "--a"]]},
329    
330     {"description": "@-->",
331     "input": "@-->",
332     "output": [["DELIM", "@"], ["CDC"]]},
333    
334     {"description": "@--->",
335     "input": "@--->",
336 wakaba 1.10 "output": [["DELIM", "@"], ["MINUS"], ["CDC"]]},
337 wakaba 1.6
338 wakaba 1.2 {"description": "@\\41",
339     "input": "@\\41",
340     "output": [["ATKEYWORD", "A"]]},
341    
342     {"description": "@\\61 b",
343     "input": "@\\61 b",
344     "output": [["ATKEYWORD", "ab"]]},
345    
346     {"description": "@\\61 b",
347     "input": "@\\61 b",
348     "output": [["ATKEYWORD", "a"], ["S"], ["IDENT", "b"]]},
349    
350     {"description": "@a\\41",
351     "input": "@aA",
352     "output": [["ATKEYWORD", "aA"]]},
353    
354     {"description": "@a\\4e00X",
355     "input": "@a\\4e00X",
356 wakaba 1.3 "output": [["ATKEYWORD", "a\u4e00X"]]},
357    
358     {"description": "\"",
359     "input": "\"",
360     "output": [["INVALID", ""]]},
361    
362     {"description": "'",
363     "input": "'",
364     "output": [["INVALID", ""]]},
365    
366     {"description": "\"\"",
367     "input": "\"\"",
368     "output": [["STRING", ""]]},
369    
370     {"description": "''",
371     "input": "''",
372     "output": [["STRING", ""]]},
373    
374     {"description": "\"a",
375     "input": "\"a",
376     "output": [["INVALID", "a"]]},
377    
378     {"description": "'a",
379     "input": "'a",
380     "output": [["INVALID", "a"]]},
381    
382     {"description": "'a'",
383     "input": "'a'",
384     "output": [["STRING", "a"]]},
385    
386     {"description": "\"a\"",
387     "input": "\"a\"",
388     "output": [["STRING", "a"]]},
389    
390     {"description": "'a'",
391     "input": "'a'",
392     "output": [["STRING", "a"]]},
393    
394     {"description": "\"a'",
395     "input": "\"a'",
396     "output": [["INVALID", "a'"]]},
397    
398     {"description": "'a\"",
399     "input": "'a\"",
400     "output": [["INVALID", "a\""]]},
401    
402     {"description": "\"A",
403     "input": "\"A",
404     "output": [["INVALID", "A"]]},
405    
406     {"description": "'A",
407     "input": "'A",
408     "output": [["INVALID", "A"]]},
409    
410     {"description": "\"A\"",
411     "input": "\"A\"",
412     "output": [["STRING", "A"]]},
413    
414     {"description": "'A'",
415     "input": "'A'",
416     "output": [["STRING", "A"]]},
417    
418     {"description": "\"A'",
419     "input": "\"A'",
420     "output": [["INVALID", "A'"]]},
421    
422     {"description": "'A\"",
423     "input": "'A\"",
424     "output": [["INVALID", "A\""]]},
425    
426     {"description": "\"abc",
427     "input": "\"abc",
428     "output": [["INVALID", "abc"]]},
429    
430     {"description": "'abc",
431     "input": "'abc",
432     "output": [["INVALID", "abc"]]},
433    
434     {"description": "\"abc\"",
435     "input": "\"abc\"",
436     "output": [["STRING", "abc"]]},
437    
438     {"description": "'abc'",
439     "input": "'abc'",
440     "output": [["STRING", "abc"]]},
441    
442     {"description": "\"a\\",
443     "input": "\"a\\",
444     "output": [["INVALID", "a"], ["DELIM", "\\"]]},
445    
446     {"description": "'a\\",
447     "input": "'a\\",
448     "output": [["INVALID", "a"], ["DELIM", "\\"]]},
449    
450     {"description": "\"\\",
451     "input": "\"\\",
452     "output": [["INVALID", ""], ["DELIM", "\\"]]},
453    
454     {"description": "'\\",
455     "input": "'\\",
456     "output": [["INVALID", ""], ["DELIM", "\\"]]},
457    
458     {"description": "\"a\\\"",
459     "input": "\"a\\\"",
460     "output": [["INVALID", "a\""]]},
461    
462     {"description": "'a\\\"",
463     "input": "'a\\\"",
464     "output": [["INVALID", "a\""]]},
465    
466     {"description": "'a\\'",
467     "input": "'a\\'",
468     "output": [["INVALID", "a'"]]},
469    
470     {"description": "\"\\\"",
471     "input": "\"\\\"",
472     "output": [["INVALID", "\""]]},
473    
474     {"description": "'\\\"",
475     "input": "'\\\"",
476     "output": [["INVALID", "\""]]},
477    
478     {"description": "'\\'",
479     "input": "'\\'",
480     "output": [["INVALID", "'"]]},
481    
482     {"description": "'\\\\\"",
483     "input": "'\\\\\"",
484     "output": [["INVALID", "\\\""]]},
485    
486     {"description": "\"a\\'",
487     "input": "\"a\\'",
488     "output": [["INVALID", "a'"]]},
489    
490     {"description": "\"a\\x",
491     "input": "\"a\\x",
492     "output": [["INVALID", "ax"]]},
493    
494     {"description": "\"\\x",
495     "input": "\"\\x",
496     "output": [["INVALID", "x"]]},
497    
498     {"description": "'\\x",
499     "input": "'\\x",
500     "output": [["INVALID", "x"]]},
501    
502     {"description": "\"a\\x\"",
503     "input": "\"a\\x\"",
504     "output": [["STRING", "ax"]]},
505    
506     {"description": "\"\\x \"",
507     "input": "\"\\x \"",
508     "output": [["STRING", "x "]]},
509    
510     {"description": "\"a\\x \"",
511     "input": "\"a\\x \"",
512     "output": [["STRING", "ax "]]},
513    
514     {"description": "\"\\31",
515     "input": "\"\\31",
516     "output": [["INVALID", "1"]]},
517    
518     {"description": "\"a\\31",
519     "input": "\"a\\31",
520     "output": [["INVALID", "a1"]]},
521    
522     {"description": "'a\\31",
523     "input": "'a\\31",
524     "output": [["INVALID", "a1"]]},
525    
526     {"description": "\"\\31\"",
527     "input": "\"\\31\"",
528     "output": [["STRING", "1"]]},
529    
530     {"description": "'\\31'",
531     "input": "'\\31'",
532     "output": [["STRING", "1"]]},
533    
534     {"description": "\"a\\31\"",
535     "input": "\"a\\31\"",
536     "output": [["STRING", "a1"]]},
537    
538     {"description": "\"\\31 ",
539     "input": "\"\\31 ",
540     "output": [["INVALID", "1"]]},
541    
542     {"description": "\"a\\31 ",
543     "input": "\"a\\31 ",
544     "output": [["INVALID", "a1"]]},
545    
546     {"description": "\"a\\31 \"",
547     "input": "\"a\\31 \"",
548     "output": [["STRING", "a1"]]},
549    
550     {"description": "\"\\\u000D",
551     "input": "\"\\\u000D",
552 wakaba 1.11 "output": [["INVALID", ""]]},
553    
554     {"description": "url(\"\\\u000D)",
555     "input": "url(\"\\\u000D)",
556     "output": [["URI_INVALID"]]},
557 wakaba 1.3
558     {"description": "'\\\u000D",
559     "input": "'\\\u000D",
560 wakaba 1.11 "output": [["INVALID", ""]]},
561    
562     {"description": "url('\\\u000D)",
563     "input": "url('\\\u000D)",
564     "output": [["URI_INVALID"]]},
565 wakaba 1.3
566     {"description": "\"a\\\u000D",
567     "input": "\"a\\\u000D",
568 wakaba 1.11 "output": [["INVALID", "a"]]},
569 wakaba 1.3
570     {"description": "\"a\\\u000D\"",
571     "input": "\"a\\\u000D\"",
572 wakaba 1.11 "output": [["STRING", "a"]]},
573    
574     {"description": "url(\"a\\\u000D\")",
575     "input": "url(\"a\\\u000D\")",
576     "output": [["URI", "a"]]},
577 wakaba 1.3
578     {"description": "'a\\\u000D'",
579     "input": "'a\\\u000D'",
580 wakaba 1.11 "output": [["STRING", "a"]]},
581    
582     {"description": "url('a\\\u000D')",
583     "input": "url('a\\\u000D')",
584     "output": [["URI", "a"]]},
585 wakaba 1.3
586     {"description": "\"a\\\u000D\u000A",
587     "input": "\"a\\\u000D\u000A",
588 wakaba 1.11 "output": [["INVALID", "a"]]},
589 wakaba 1.3
590     {"description": "\"a\\\u000D\u000A\"",
591     "input": "\"a\\\u000D\u000A\"",
592 wakaba 1.11 "output": [["STRING", "a"]]},
593 wakaba 1.3
594     {"description": "\"a\\\u000D\\\u000A",
595     "input": "\"a\\\u000D\\\u000A",
596 wakaba 1.11 "output": [["INVALID", "a"]]},
597 wakaba 1.3
598     {"description": "'a\\\u000D\\\u000A",
599     "input": "'a\\\u000D\\\u000A",
600 wakaba 1.11 "output": [["INVALID", "a"]]},
601 wakaba 1.3
602     {"description": "\"a\\\u000D\\\u000A\"",
603     "input": "\"a\\\u000D\\\u000A\"",
604 wakaba 1.11 "output": [["STRING", "a"]]},
605 wakaba 1.3
606     {"description": "\"a\\\u000A",
607     "input": "\"a\\\u000A",
608 wakaba 1.11 "output": [["INVALID", "a"]]},
609 wakaba 1.3
610     {"description": "\"a\\\u000A\"",
611     "input": "\"a\\\u000A\"",
612 wakaba 1.11 "output": [["STRING", "a"]]},
613 wakaba 1.3
614     {"description": "'a\\\u000A'",
615     "input": "'a\\\u000A'",
616 wakaba 1.11 "output": [["STRING", "a"]]},
617 wakaba 1.3
618     {"description": "\"a\\\u000C",
619     "input": "\"a\\\u000C",
620 wakaba 1.11 "output": [["INVALID", "a"]]},
621 wakaba 1.3
622     {"description": "\"a\\\u000C\"",
623     "input": "\"a\\\u000C\"",
624 wakaba 1.11 "output": [["STRING", "a"]]},
625 wakaba 1.3
626     {"description": "'a\\\u000C'",
627     "input": "'a\\\u000C'",
628 wakaba 1.11 "output": [["STRING", "a"]]},
629 wakaba 1.3
630     {"description": "\"a\\\u000Daa",
631     "input": "\"a\\\u000Daa",
632 wakaba 1.11 "output": [["INVALID", "aaa"]]},
633 wakaba 1.3
634     {"description": "\"a\\\u000D\u000Ab",
635     "input": "\"a\\\u000D\u000Ab",
636 wakaba 1.11 "output": [["INVALID", "ab"]]},
637 wakaba 1.3
638     {"description": "'a\\\u000D\u000Ab",
639     "input": "'a\\\u000D\u000Ab",
640 wakaba 1.11 "output": [["INVALID", "ab"]]},
641 wakaba 1.4
642 wakaba 1.7 {"description": "'\u000d'",
643     "input": "'\u000d'",
644     "output": [["INVALID", ""], ["S"], ["INVALID", ""]]},
645    
646     {"description": "\"\u000d\"",
647     "input": "\"\u000d\"",
648     "output": [["INVALID", ""], ["S"], ["INVALID", ""]]},
649    
650     {"description": "'\u000d\u000a'",
651     "input": "'\u000d\u000a'",
652     "output": [["INVALID", ""], ["S"], ["INVALID", ""]]},
653    
654     {"description": "\"\u000d\u000a\"",
655     "input": "\"\u000d\u000a\"",
656     "output": [["INVALID", ""], ["S"], ["INVALID", ""]]},
657    
658     {"description": "'\u000a'",
659     "input": "'\u000a'",
660     "output": [["INVALID", ""], ["S"], ["INVALID", ""]]},
661    
662     {"description": "\"\u000a\"",
663     "input": "\"\u000a\"",
664     "output": [["INVALID", ""], ["S"], ["INVALID", ""]]},
665    
666     {"description": "'\u000c'",
667     "input": "'\u000c'",
668     "output": [["INVALID", ""], ["S"], ["INVALID", ""]]},
669    
670     {"description": "\"\u000c\"",
671     "input": "\"\u000c\"",
672     "output": [["INVALID", ""], ["S"], ["INVALID", ""]]},
673    
674 wakaba 1.4 {"description": "#",
675     "input": "#",
676     "output": [["DELIM", "#"]]},
677    
678     {"description": "\\#",
679     "input": "\\#",
680     "output": [["IDENT", "#"]]},
681    
682     {"description": "#a",
683     "input": "#a",
684     "output": [["HASH", "a"]]},
685    
686     {"description": "#A",
687     "input": "#A",
688     "output": [["HASH", "A"]]},
689    
690     {"description": "##",
691     "input": "##",
692     "output": [["DELIM", "#"], ["DELIM", "#"]]},
693    
694     {"description": "#\\#",
695     "input": "#\\#",
696     "output": [["HASH", "#"]]},
697    
698     {"description": "#\\X",
699     "input": "#\\X",
700     "output": [["HASH", "X"]]},
701    
702     {"description": "#\\a",
703     "input": "#\\a",
704     "output": [["HASH", "\u000a"]]},
705    
706     {"description": "#\\-",
707     "input": "#\\-",
708     "output": [["HASH", "-"]]},
709    
710     {"description": "#_",
711     "input": "#_",
712     "output": [["HASH", "_"]]},
713    
714     {"description": "#0",
715     "input": "#0",
716     "output": [["HASH", "0"]]},
717    
718     {"description": "#123456",
719     "input": "#123456",
720     "output": [["HASH", "123456"]]},
721    
722     {"description": "#abc",
723     "input": "#abc",
724     "output": [["HASH", "abc"]]},
725    
726     {"description": "#\\4e00XYZ",
727     "input": "#\\4e00XYZ",
728     "output": [["HASH", "\u4e00XYZ"]]},
729    
730     {"description": "#\u4e00",
731     "input": "#\u4e00",
732     "output": [["HASH", "\u4e00"]]},
733    
734     {"description": "#a\\100",
735     "input": "#a\\100",
736     "output": [["HASH", "a\u0100"]]},
737    
738     {"description": "#1234567890",
739     "input": "#1234567890",
740     "output": [["HASH", "1234567890"]]},
741    
742     {"description": "#1a",
743     "input": "#1a",
744     "output": [["HASH", "1a"]]},
745    
746     {"description": "#\\a b",
747     "input": "#\\a b",
748 wakaba 1.5 "output": [["HASH", "\u000ab"]]},
749    
750     {"description": "#!",
751     "input": "#!",
752 wakaba 1.10 "output": [["DELIM", "#"], ["EXCLAMATION"]]},
753 wakaba 1.5
754     {"description": "#-",
755     "input": "#-",
756     "output": [["HASH", "-"]]},
757    
758     {"description": "#--",
759     "input": "#--",
760     "output": [["HASH", "--"]]},
761    
762     {"description": "#-->",
763     "input": "#-->",
764     "output": [["HASH", "--"], ["GREATER"]]},
765    
766     {"description": "0",
767     "input": "0",
768     "output": [["NUMBER", "0"]]},
769    
770     {"description": "1",
771     "input": "1",
772     "output": [["NUMBER", "1"]]},
773    
774     {"description": "111",
775     "input": "111",
776     "output": [["NUMBER", "111"]]},
777    
778     {"description": "0001",
779     "input": "0001",
780     "output": [["NUMBER", "0001"]]},
781    
782     {"description": "1e",
783     "input": "1e",
784     "output": [["DIMENSION", "1", "e"]]},
785    
786     {"description": "1e4",
787     "input": "1e4",
788     "output": [["DIMENSION", "1", "e4"]]},
789    
790     {"description": "1n+2",
791     "input": "1n+2",
792     "output": [["DIMENSION", "1", "n"], ["PLUS"], ["NUMBER", "2"]]},
793    
794     {"description": "0.",
795     "input": "0.",
796 wakaba 1.10 "output": [["NUMBER", "0"], ["DOT"]]},
797 wakaba 1.5
798     {"description": "1.",
799     "input": "1.",
800 wakaba 1.10 "output": [["NUMBER", "1"], ["DOT"]]},
801 wakaba 1.5
802     {"description": "144.",
803     "input": "144.",
804 wakaba 1.10 "output": [["NUMBER", "144"], ["DOT"]]},
805 wakaba 1.5
806     {"description": "0.1",
807     "input": "0.1",
808     "output": [["NUMBER", "0.1"]]},
809    
810     {"description": "1.1",
811     "input": "1.1",
812     "output": [["NUMBER", "1.1"]]},
813    
814     {"description": "0.1000",
815     "input": "0.1000",
816     "output": [["NUMBER", "0.1000"]]},
817    
818     {"description": "0.0001",
819     "input": "0.0001",
820     "output": [["NUMBER", "0.0001"]]},
821    
822     {"description": ".",
823     "input": ".",
824 wakaba 1.10 "output": [["DOT"]]},
825 wakaba 1.5
826     {"description": ".1",
827     "input": ".1",
828     "output": [["NUMBER", "0.1"]]},
829    
830     {"description": ".0",
831     "input": ".0",
832     "output": [["NUMBER", "0.0"]]},
833    
834     {"description": ".1234",
835     "input": ".1234",
836     "output": [["NUMBER", "0.1234"]]},
837    
838     {"description": ".1ab",
839     "input": ".1ab",
840     "output": [["DIMENSION", "0.1", "ab"]]},
841    
842     {"description": ".1.2",
843     "input": ".1.2",
844     "output": [["NUMBER", "0.1"], ["NUMBER", "0.2"]]},
845    
846     {"description": ".a",
847     "input": ".a",
848 wakaba 1.10 "output": [["DOT"], ["IDENT", "a"]]},
849 wakaba 1.5
850     {"description": "3.11.66",
851     "input": "3.11.66",
852     "output": [["NUMBER", "3.11"], ["NUMBER", "0.66"]]},
853    
854     {"description": "..",
855     "input": "..",
856 wakaba 1.10 "output": [["DOT"], ["DOT"]]},
857 wakaba 1.5
858     {"description": "...",
859     "input": "...",
860 wakaba 1.10 "output": [["DOT"], ["DOT"], ["DOT"]]},
861 wakaba 1.5
862     {"description": "...1",
863     "input": "...1",
864 wakaba 1.10 "output": [["DOT"], ["DOT"], ["NUMBER", "0.1"]]},
865 wakaba 1.5
866     {"description": "...a",
867     "input": "...a",
868 wakaba 1.10 "output": [["DOT"], ["DOT"], ["DOT"], ["IDENT", "a"]]},
869 wakaba 1.5
870     {"description": "+0",
871     "input": "+0",
872     "output": [["PLUS"], ["NUMBER", "0"]]},
873    
874     {"description": "+1",
875     "input": "+1",
876     "output": [["PLUS"], ["NUMBER", "1"]]},
877    
878     {"description": "+1.15",
879     "input": "+1.15",
880     "output": [["PLUS"], ["NUMBER", "1.15"]]},
881    
882     {"description": "-.55",
883     "input": "-.55",
884 wakaba 1.10 "output": [["MINUS"], ["NUMBER", "0.55"]]},
885 wakaba 1.5
886     {"description": "-0",
887     "input": "-0",
888 wakaba 1.10 "output": [["MINUS"], ["NUMBER", "0"]]},
889 wakaba 1.5
890     {"description": "-0.2",
891     "input": "-0.2",
892 wakaba 1.10 "output": [["MINUS"], ["NUMBER", "0.2"]]},
893 wakaba 1.5
894     {"description": "-.1",
895     "input": "-.1",
896 wakaba 1.10 "output": [["MINUS"], ["NUMBER", "0.1"]]},
897 wakaba 1.5
898     {"description": "+-0",
899     "input": "+-0",
900 wakaba 1.10 "output": [["PLUS"], ["MINUS"], ["NUMBER", "0"]]},
901 wakaba 1.5
902     {"description": "a-0",
903     "input": "a-0",
904     "output": [["IDENT", "a-0"]]},
905    
906     {"description": "@a-0",
907     "input": "@a-0",
908     "output": [["ATKEYWORD", "a-0"]]},
909    
910     {"description": "#a-0",
911     "input": "#a-0",
912     "output": [["HASH", "a-0"]]},
913    
914     {"description": "<!-0",
915     "input": "<!-0",
916 wakaba 1.10 "output": [["DELIM", "<"], ["EXCLAMATION"], ["MINUS"], ["NUMBER", "0"]]},
917 wakaba 1.5
918     {"description": "<!--0",
919     "input": "<!--0",
920     "output": [["CDO"], ["NUMBER", "0"]]},
921    
922     {"description": "<!---0",
923     "input": "<!---0",
924 wakaba 1.10 "output": [["CDO"], ["MINUS"], ["NUMBER", "0"]]},
925 wakaba 1.6
926     {"description": "0a",
927     "input": "0a",
928     "output": [["DIMENSION", "0", "a"]]},
929    
930     {"description": "1a",
931     "input": "1a",
932     "output": [["DIMENSION", "1", "a"]]},
933    
934     {"description": "0A",
935     "input": "0A",
936     "output": [["DIMENSION", "0", "A"]]},
937    
938     {"description": "00a",
939     "input": "00a",
940     "output": [["DIMENSION", "00", "a"]]},
941    
942     {"description": "11a",
943     "input": "11a",
944     "output": [["DIMENSION", "11", "a"]]},
945    
946     {"description": "0ab",
947     "input": "0ab",
948     "output": [["DIMENSION", "0", "ab"]]},
949    
950     {"description": "0aB",
951     "input": "0aB",
952     "output": [["DIMENSION", "0", "aB"]]},
953    
954     {"description": "0.1a",
955     "input": "0.1a",
956     "output": [["DIMENSION", "0.1", "a"]]},
957    
958     {"description": "0.a",
959     "input": "0.a",
960 wakaba 1.10 "output": [["NUMBER", "0"], ["DOT"], ["IDENT", "a"]]},
961 wakaba 1.6
962     {"description": ".0a",
963     "input": ".0a",
964     "output": [["DIMENSION", "0.0", "a"]]},
965    
966     {"description": "0\\X",
967     "input": "0\\X",
968     "output": [["DIMENSION", "0", "X"]]},
969    
970     {"description": "0\\Xa",
971     "input": "0\\Xa",
972     "output": [["DIMENSION", "0", "Xa"]]},
973    
974     {"description": "0\\.1",
975     "input": "0\\.1",
976     "output": [["DIMENSION", "0", ".1"]]},
977    
978     {"description": "0.\\1",
979     "input": "0.\\1",
980 wakaba 1.10 "output": [["NUMBER", "0"], ["DOT"], ["IDENT", "\u0001"]]},
981 wakaba 1.6
982     {"description": "0a\\X",
983     "input": "0a\\X",
984     "output": [["DIMENSION", "0", "aX"]]},
985    
986     {"description": "0a\\Xa",
987     "input": "0a\\Xa",
988     "output": [["DIMENSION", "0", "aXa"]]},
989    
990     {"description": "0\\a",
991     "input": "0\\a",
992     "output": [["DIMENSION", "0", "\u000a"]]},
993    
994     {"description": "0\\4e00",
995     "input": "0\\4e00",
996     "output": [["DIMENSION", "0", "\u4e00"]]},
997    
998     {"description": "0a\\a",
999     "input": "0a\\a",
1000     "output": [["DIMENSION", "0", "a\u000a"]]},
1001    
1002     {"description": "0a\\100 b",
1003     "input": "0a\\100 b",
1004     "output": [["DIMENSION", "0", "a\u0100b"]]},
1005    
1006     {"description": "0\\\u000d",
1007     "input": "0\\\u000d",
1008     "output": [["NUMBER", "0"], ["DELIM", "\\"], ["S"]]},
1009    
1010     {"description": "0\\\u000a",
1011     "input": "0\\\u000a",
1012     "output": [["NUMBER", "0"], ["DELIM", "\\"], ["S"]]},
1013    
1014     {"description": "0\\\u000d\u000a",
1015     "input": "0\\\u000d\u000a",
1016     "output": [["NUMBER", "0"], ["DELIM", "\\"], ["S"]]},
1017    
1018     {"description": "0\\\u000c",
1019     "input": "0\\\u000c",
1020     "output": [["NUMBER", "0"], ["DELIM", "\\"], ["S"]]},
1021    
1022     {"description": "0a\\\u000d",
1023     "input": "0a\\\u000d",
1024     "output": [["DIMENSION", "0", "a"], ["DELIM", "\\"], ["S"]]},
1025    
1026     {"description": "0a\\\u000a",
1027     "input": "0a\\\u000a",
1028     "output": [["DIMENSION", "0", "a"], ["DELIM", "\\"], ["S"]]},
1029    
1030     {"description": "0a\\\u000d\u000a",
1031     "input": "0a\\\u000d\u000a",
1032     "output": [["DIMENSION", "0", "a"], ["DELIM", "\\"], ["S"]]},
1033    
1034     {"description": "0a\\\u000c",
1035     "input": "0a\\\u000c",
1036     "output": [["DIMENSION", "0", "a"], ["DELIM", "\\"], ["S"]]},
1037    
1038     {"description": "0a12",
1039     "input": "0a12",
1040     "output": [["DIMENSION", "0", "a12"]]},
1041    
1042     {"description": "0a_b-c",
1043     "input": "0a_b-c",
1044     "output": [["DIMENSION", "0", "a_b-c"]]},
1045    
1046     {"description": "0a---",
1047     "input": "0a---",
1048     "output": [["DIMENSION", "0", "a---"]]},
1049    
1050     {"description": "0a-->",
1051     "input": "0a-->",
1052     "output": [["DIMENSION", "0", "a--"], ["GREATER"]]},
1053    
1054     {"description": "0a/**/-->",
1055     "input": "0a/**/-->",
1056     "output": [["DIMENSION", "0", "a"], ["CDC"]]},
1057    
1058     {"description": "0/**/a",
1059     "input": "0/**/a",
1060     "output": [["NUMBER", "0"], ["IDENT", "a"]]},
1061    
1062     {"description": "0-",
1063     "input": "0-",
1064 wakaba 1.10 "output": [["NUMBER", "0"], ["MINUS"]]},
1065 wakaba 1.6
1066     {"description": "0.0-",
1067     "input": "0.0-",
1068 wakaba 1.10 "output": [["NUMBER", "0.0"], ["MINUS"]]},
1069 wakaba 1.6
1070     {"description": "0\\-",
1071     "input": "0\\-",
1072     "output": [["DIMENSION", "0", "-"]]},
1073    
1074     {"description": "0-a",
1075     "input": "0-a",
1076     "output": [["DIMENSION", "0", "-a"]]},
1077    
1078     {"description": "0.0-a",
1079     "input": "0.0-a",
1080     "output": [["DIMENSION", "0.0", "-a"]]},
1081    
1082     {"description": "0-abc",
1083     "input": "0-abc",
1084     "output": [["DIMENSION", "0", "-abc"]]},
1085    
1086     {"description": "0-\\",
1087     "input": "0-\\",
1088 wakaba 1.10 "output": [["NUMBER", "0"], ["MINUS"], ["DELIM", "\\"]]},
1089 wakaba 1.6
1090     {"description": "0-\\9",
1091     "input": "0-\\9",
1092     "output": [["DIMENSION", "0", "-\u0009"]]},
1093    
1094     {"description": "0-\\9x",
1095     "input": "0-\\9x",
1096     "output": [["DIMENSION", "0", "-\u0009x"]]},
1097    
1098     {"description": "0-\\9 b",
1099     "input": "0-\\9 b",
1100     "output": [["DIMENSION", "0", "-\u0009b"]]},
1101    
1102     {"description": "0-a\\9",
1103     "input": "0-a\\9",
1104     "output": [["DIMENSION", "0", "-a\u0009"]]},
1105    
1106     {"description": "0-a\\9 b",
1107     "input": "0-a\\9 b",
1108     "output": [["DIMENSION", "0", "-a\u0009b"]]},
1109    
1110     {"description": "0-\\x",
1111     "input": "0-\\x",
1112     "output": [["DIMENSION", "0", "-x"]]},
1113    
1114     {"description": "0-\\\u000d",
1115     "input": "0-\\\u000d",
1116 wakaba 1.10 "output": [["NUMBER", "0"], ["MINUS"], ["DELIM", "\\"], ["S"]]},
1117 wakaba 1.6
1118     {"description": "0-\\\u000d\u000a",
1119     "input": "0-\\\u000d\u000a",
1120 wakaba 1.10 "output": [["NUMBER", "0"], ["MINUS"], ["DELIM", "\\"], ["S"]]},
1121 wakaba 1.6
1122     {"description": "0-\\\u000a",
1123     "input": "0-\\\u000a",
1124 wakaba 1.10 "output": [["NUMBER", "0"], ["MINUS"], ["DELIM", "\\"], ["S"]]},
1125 wakaba 1.6
1126     {"description": "0-\\\u000c",
1127     "input": "0-\\\u000c",
1128 wakaba 1.10 "output": [["NUMBER", "0"], ["MINUS"], ["DELIM", "\\"], ["S"]]},
1129 wakaba 1.6
1130     {"description": "0--",
1131     "input": "0--",
1132 wakaba 1.10 "output": [["NUMBER", "0"], ["MINUS"], ["MINUS"]]},
1133 wakaba 1.6
1134     {"description": "0-->",
1135     "input": "0-->",
1136     "output": [["NUMBER", "0"], ["CDC"]]},
1137    
1138     {"description": "0-a--",
1139     "input": "0-a--",
1140     "output": [["DIMENSION", "0", "-a--"]]},
1141    
1142     {"description": "0-a-->",
1143     "input": "0-a-->",
1144 wakaba 1.7 "output": [["DIMENSION", "0", "-a--"], ["GREATER"]]},
1145    
1146     {"description": "0%",
1147     "input": "0%",
1148     "output": [["PERCENTAGE", "0"]]},
1149    
1150     {"description": "0\\%",
1151     "input": "0\\%",
1152     "output": [["DIMENSION", "0", "%"]]},
1153    
1154     {"description": "0.0%",
1155     "input": "0.0%",
1156     "output": [["PERCENTAGE", "0.0"]]},
1157    
1158     {"description": "0.0\\%",
1159     "input": "0.0\\%",
1160     "output": [["DIMENSION", "0.0", "%"]]},
1161    
1162     {"description": ".0%",
1163     "input": ".0%",
1164     "output": [["PERCENTAGE", "0.0"]]},
1165    
1166     {"description": ".0\\%",
1167     "input": ".0\\%",
1168     "output": [["DIMENSION", "0.0", "%"]]},
1169    
1170     {"description": "0%a",
1171     "input": "0%a",
1172     "output": [["PERCENTAGE", "0"], ["IDENT", "a"]]},
1173    
1174     {"description": "0\\%a",
1175     "input": "0\\%a",
1176     "output": [["DIMENSION", "0", "%a"]]},
1177    
1178     {"description": "120%",
1179     "input": "120%",
1180     "output": [["PERCENTAGE", "120"]]},
1181    
1182     {"description": "120\\%",
1183     "input": "120\\%",
1184     "output": [["DIMENSION", "120", "%"]]},
1185    
1186     {"description": "0.%",
1187     "input": "0.%",
1188 wakaba 1.10 "output": [["NUMBER", "0"], ["DOT"], ["DELIM", "%"]]},
1189 wakaba 1.7
1190     {"description": "0.\\%",
1191     "input": "0.\\%",
1192 wakaba 1.10 "output": [["NUMBER", "0"], ["DOT"], ["IDENT", "%"]]},
1193 wakaba 1.7
1194     {"description": "u",
1195     "input": "u",
1196     "output": [["IDENT", "u"]]},
1197    
1198     {"description": "U",
1199     "input": "U",
1200     "output": [["IDENT", "U"]]},
1201    
1202     {"description": "\\u",
1203     "input": "\\u",
1204     "output": [["IDENT", "u"]]},
1205    
1206     {"description": "ur",
1207     "input": "ur",
1208     "output": [["IDENT", "ur"]]},
1209    
1210     {"description": "url",
1211     "input": "url",
1212     "output": [["IDENT", "url"]]},
1213    
1214     {"description": "url(",
1215     "input": "url(",
1216     "output": [["URI_INVALID"]]},
1217    
1218     {"description": "uRl(",
1219     "input": "uRl(",
1220     "output": [["URI_INVALID"]]},
1221    
1222     {"description": "ur\\l(",
1223     "input": "ur\\l(",
1224     "output": [["URI_INVALID"]]},
1225    
1226     {"description": "url\\(",
1227     "input": "url\\(",
1228     "output": [["IDENT", "url("]]},
1229    
1230     {"description": "url()",
1231     "input": "url()",
1232     "output": [["URI", ""]]},
1233    
1234     {"description": "url( )",
1235     "input": "url( )",
1236     "output": [["URI", ""]]},
1237    
1238     {"description": "url( )",
1239     "input": "url( )",
1240     "output": [["URI", ""]]},
1241    
1242     {"description": "url(\u0009)",
1243     "input": "url(\u0009)",
1244     "output": [["URI", ""]]},
1245    
1246     {"description": "url(a)",
1247     "input": "url(a)",
1248     "output": [["URI", "a"]]},
1249    
1250     {"description": "url(abcde)",
1251     "input": "url(abcde)",
1252     "output": [["URI", "abcde"]]},
1253    
1254     {"description": "url( a)",
1255     "input": "url( a)",
1256     "output": [["URI", "a"]]},
1257    
1258     {"description": "url(a )",
1259     "input": "url(a )",
1260     "output": [["URI", "a"]]},
1261    
1262     {"description": "url( a )",
1263     "input": "url( a )",
1264     "output": [["URI", "a"]]},
1265    
1266     {"description": "url( /**/a)",
1267     "input": "url( /**/a)",
1268     "output": [["URI", "/**/a"]]},
1269    
1270     {"description": "url( /**/ a)",
1271     "input": "url( /**/ a)",
1272     "output": [["URI_INVALID"]]},
1273    
1274     {"description": "url(a b)",
1275     "input": "url(a b)",
1276     "output": [["URI_INVALID"]]},
1277    
1278     {"description": "url())",
1279     "input": "url())",
1280     "output": [["URI", ""], ["RPAREN"]]},
1281    
1282     {"description": "url(()",
1283     "input": "url(()",
1284     "output": [["URI_INVALID"]]},
1285    
1286     {"description": "url(\u0001)",
1287     "input": "url(\u0001)",
1288     "output": [["URI_INVALID"]]},
1289    
1290     {"description": "url(\u4e00)",
1291     "input": "url(\u4e00)",
1292     "output": [["URI", "\u4e00"]]},
1293    
1294     {"description": "url(\u000d)",
1295     "input": "url(\u000d)",
1296     "output": [["URI", ""]]},
1297    
1298     {"description": "url(\u000a)",
1299     "input": "url(\u000a)",
1300     "output": [["URI", ""]]},
1301    
1302     {"description": "url(\u000d\u000a)",
1303     "input": "url(\u000d\u000a)",
1304     "output": [["URI", ""]]},
1305    
1306     {"description": "url(\u000c)",
1307     "input": "url(\u000c)",
1308     "output": [["URI", ""]]},
1309    
1310     {"description": "url(\u000b)",
1311     "input": "url(\u000b)",
1312     "output": [["URI_INVALID"]]},
1313    
1314     {"description": "url(ad)",
1315     "input": "url(ad)",
1316     "output": [["URI", "ad"]]},
1317    
1318     {"description": "url(a )",
1319     "input": "url(a )",
1320     "output": [["URI", "a"]]},
1321    
1322     {"description": "url(a\u000d)",
1323     "input": "url(a\u000d)",
1324     "output": [["URI", "a"]]},
1325    
1326     {"description": "url(a\u000a)",
1327     "input": "url(a\u000a)",
1328     "output": [["URI", "a"]]},
1329    
1330     {"description": "url(a()",
1331     "input": "url(a()",
1332     "output": [["URI_INVALID"]]},
1333    
1334     {"description": "url(a))",
1335     "input": "url(a))",
1336     "output": [["URI", "a"], ["RPAREN"]]},
1337    
1338     {"description": "url(a\u4e00)",
1339     "input": "url(a\u4e00)",
1340     "output": [["URI", "a\u4e00"]]},
1341    
1342     {"description": "url(\\)",
1343     "input": "url(\\)",
1344     "output": [["URI_INVALID"]]},
1345    
1346     {"description": "url(a\\)",
1347     "input": "url(a\\)",
1348     "output": [["URI_INVALID"]]},
1349    
1350     {"description": "url(\\x)",
1351     "input": "url(\\x)",
1352     "output": [["URI", "x"]]},
1353    
1354     {"description": "url(a\\x)",
1355     "input": "url(a\\x)",
1356     "output": [["URI", "ax"]]},
1357    
1358     {"description": "url(\\xyz)",
1359     "input": "url(\\xyz)",
1360     "output": [["URI", "xyz"]]},
1361    
1362     {"description": "url(a\\xyz)",
1363     "input": "url(a\\xyz)",
1364     "output": [["URI", "axyz"]]},
1365    
1366     {"description": "url(\\x yz)",
1367     "input": "url(\\x yz)",
1368     "output": [["URI_INVALID"]]},
1369    
1370     {"description": "url(a\\x yz)",
1371     "input": "url(a\\x yz)",
1372     "output": [["URI_INVALID"]]},
1373    
1374     {"description": "url(\\a)",
1375     "input": "url(\\a)",
1376     "output": [["URI", "\u000a"]]},
1377    
1378     {"description": "url(\\a )",
1379     "input": "url(\\a )",
1380     "output": [["URI", "\u000a"]]},
1381    
1382     {"description": "url(a\\a )",
1383     "input": "url(a\\a )",
1384     "output": [["URI", "a\u000a"]]},
1385    
1386     {"description": "url(\\a b)",
1387     "input": "url(\\a b)",
1388     "output": [["URI", "\u000ab"]]},
1389    
1390     {"description": "url(\\a b)",
1391     "input": "url(\\a b)",
1392     "output": [["URI_INVALID"]]},
1393    
1394     {"description": "url(a\\a b)",
1395     "input": "url(a\\a b)",
1396     "output": [["URI_INVALID"]]},
1397    
1398     {"description": "url(\\\u000d)",
1399     "input": "url(\\\u000d)",
1400     "output": [["URI_INVALID"]]},
1401    
1402     {"description": "url(a\\\u000d)",
1403     "input": "url(a\\\u000d)",
1404     "output": [["URI_INVALID"]]},
1405    
1406     {"description": "url(\\\u000a)",
1407     "input": "url(\\\u000a)",
1408     "output": [["URI_INVALID"]]},
1409    
1410     {"description": "url(a\\\u000a)",
1411     "input": "url(a\\\u000a)",
1412     "output": [["URI_INVALID"]]},
1413    
1414     {"description": "url(\\\u000d\u000a)",
1415     "input": "url(\\\u000d\u000a)",
1416     "output": [["URI_INVALID"]]},
1417    
1418     {"description": "url(a\\\u000d\u000a)",
1419     "input": "url(a\\\u000d\u000a)",
1420     "output": [["URI_INVALID"]]},
1421    
1422     {"description": "url(\\\u000c)",
1423     "input": "url(\\\u000c)",
1424     "output": [["URI_INVALID"]]},
1425    
1426     {"description": "url(a\\\u000c)",
1427     "input": "url(a\\\u000c)",
1428     "output": [["URI_INVALID"]]},
1429    
1430     {"description": "url(\\\u0001)",
1431     "input": "url(\\\u0001)",
1432     "output": [["URI", "\u0001"]]},
1433    
1434     {"description": "url(a\\\u0001)",
1435     "input": "url(a\\\u0001)",
1436     "output": [["URI", "a\u0001"]]},
1437    
1438     {"description": "url(\\4e00)",
1439     "input": "url(\\4e00)",
1440     "output": [["URI", "\u4e00"]]},
1441    
1442     {"description": "url(a\\4e00)",
1443     "input": "url(a\\4e00)",
1444     "output": [["URI", "a\u4e00"]]},
1445    
1446     {"description": "url(\\\u0028)",
1447     "input": "url(\\\u0028)",
1448     "output": [["URI", "("]]},
1449    
1450     {"description": "url(a\\\u0028)",
1451     "input": "url(a\\\u0028)",
1452     "output": [["URI", "a("]]},
1453    
1454     {"description": "url(\\\u0029)",
1455     "input": "url(\\\u0029)",
1456     "output": [["URI", ")"]]},
1457    
1458     {"description": "url(a\\\u0029)",
1459     "input": "url(a\\\u0029)",
1460     "output": [["URI", "a)"]]},
1461    
1462     {"description": "url(a\\(b\\)c)",
1463     "input": "url(a\\(b\\)c)",
1464     "output": [["URI", "a(b)c"]]},
1465    
1466     {"description": "url(\\\\)",
1467     "input": "url(\\\\)",
1468     "output": [["URI", "\\"]]},
1469    
1470     {"description": "url(a\\\\)",
1471     "input": "url(a\\\\)",
1472     "output": [["URI", "a\\"]]},
1473    
1474     {"description": "url(a\\\\b)",
1475     "input": "url(a\\\\b)",
1476     "output": [["URI", "a\\b"]]},
1477    
1478     {"description": "url(a b\\)c)",
1479     "input": "url(a b\\c)",
1480     "output": [["URI_INVALID"]]},
1481    
1482     {"description": "url(a \"b)c\")",
1483     "input": "url(a \"b)c\")",
1484     "output": [["URI_INVALID"], ["IDENT", "c"], ["INVALID", ")"]]},
1485    
1486     {"description": "url(\"",
1487     "input": "url(\"",
1488     "output": [["URI_INVALID"]]},
1489    
1490     {"description": "url('",
1491     "input": "url('",
1492     "output": [["URI_INVALID"]]},
1493    
1494     {"description": "url(\")",
1495     "input": "url(\")",
1496     "output": [["URI_INVALID"]]},
1497    
1498     {"description": "url(')",
1499     "input": "url(')",
1500     "output": [["URI_INVALID"]]},
1501    
1502     {"description": "url(\"\"",
1503     "input": "url(\"\"",
1504     "output": [["URI_INVALID"]]},
1505    
1506     {"description": "url(\"'",
1507     "input": "url(\"'",
1508     "output": [["URI_INVALID"]]},
1509    
1510     {"description": "url(''",
1511     "input": "url(''",
1512     "output": [["URI_INVALID"]]},
1513    
1514     {"description": "url('\"",
1515     "input": "url('\"",
1516     "output": [["URI_INVALID"]]},
1517    
1518     {"description": "url(\"\")",
1519     "input": "url(\"\")",
1520     "output": [["URI", ""]]},
1521    
1522     {"description": "url(\"')",
1523     "input": "url(\"')",
1524     "output": [["URI_INVALID"]]},
1525    
1526     {"description": "url('\")",
1527     "input": "url('\")",
1528     "output": [["URI_INVALID"]]},
1529    
1530     {"description": "url('a')",
1531     "input": "url('a')",
1532     "output": [["URI", "a"]]},
1533    
1534     {"description": "url(\"a\")",
1535     "input": "url(\"a\")",
1536     "output": [["URI", "a"]]},
1537    
1538     {"description": "url('abcde')",
1539     "input": "url('abcde')",
1540     "output": [["URI", "abcde"]]},
1541    
1542     {"description": "url(\"abcde\")",
1543     "input": "url(\"abcde\")",
1544     "output": [["URI", "abcde"]]},
1545    
1546     {"description": "url( 'abcde')",
1547     "input": "url( 'abcde')",
1548     "output": [["URI", "abcde"]]},
1549    
1550     {"description": "url( \"abcde\")",
1551     "input": "url( \"abcde\")",
1552     "output": [["URI", "abcde"]]},
1553    
1554     {"description": "url('abcde' )",
1555     "input": "url('abcde' )",
1556     "output": [["URI", "abcde"]]},
1557    
1558     {"description": "url(\"abcde\" )",
1559     "input": "url(\"abcde\" )",
1560     "output": [["URI", "abcde"]]},
1561    
1562     {"description": "url( '\\'abcde')",
1563     "input": "url( '\\'abcde')",
1564     "output": [["URI", "'abcde"]]},
1565    
1566     {"description": "url( \"\\'abcde\")",
1567     "input": "url( \"\\'abcde\")",
1568     "output": [["URI", "'abcde"]]},
1569    
1570     {"description": "url( '\\\"abcde')",
1571     "input": "url( '\\\"abcde')",
1572     "output": [["URI", "\"abcde"]]},
1573    
1574     {"description": "url( \"\\\"abcde\")",
1575     "input": "url( \"\\\"abcde\")",
1576     "output": [["URI", "\"abcde"]]},
1577    
1578     {"description": "url( 'x\\'abcde')",
1579     "input": "url( 'x\\'abcde')",
1580     "output": [["URI", "x'abcde"]]},
1581    
1582     {"description": "url( \"x\\'abcde\")",
1583     "input": "url( \"x\\'abcde\")",
1584     "output": [["URI", "x'abcde"]]},
1585    
1586     {"description": "url( 'x\\\"abcde')",
1587     "input": "url( 'x\\\"abcde')",
1588     "output": [["URI", "x\"abcde"]]},
1589    
1590     {"description": "url( \"x\\\"abcde\")",
1591     "input": "url( \"x\\\"abcde\")",
1592     "output": [["URI", "x\"abcde"]]},
1593    
1594     {"description": "url( 'a(bcd)e')",
1595     "input": "url( 'a(bcd)e')",
1596     "output": [["URI", "a(bcd)e"]]},
1597    
1598     {"description": "url( \"a(bcd)e\")",
1599     "input": "url( \"a(bcd)e\")",
1600     "output": [["URI", "a(bcd)e"]]},
1601    
1602     {"description": "url( 'a(bcde')",
1603     "input": "url( 'a(bcde')",
1604     "output": [["URI", "a(bcde"]]},
1605    
1606     {"description": "url( \"a(bcde\")",
1607     "input": "url( \"a(bcde\")",
1608     "output": [["URI", "a(bcde"]]},
1609    
1610     {"description": "url( 'abcd)e')",
1611     "input": "url( 'abcd)e')",
1612     "output": [["URI", "abcd)e"]]},
1613    
1614     {"description": "url( \"abcd)e\")",
1615     "input": "url( \"abcd)e\")",
1616     "output": [["URI", "abcd)e"]]},
1617    
1618     {"description": "url( '\\a(bcd)e')",
1619     "input": "url( '\\a(bcd)e')",
1620     "output": [["URI", "\u000a(bcd)e"]]},
1621    
1622     {"description": "url( \"\\a(bcd)e\")",
1623     "input": "url( \"\\a(bcd)e\")",
1624     "output": [["URI", "\u000a(bcd)e"]]},
1625    
1626     {"description": "url( '\\a (bcd)e')",
1627     "input": "url( '\\a (bcd)e')",
1628     "output": [["URI", "\u000a(bcd)e"]]},
1629    
1630     {"description": "url( \"\\a (bcd)e\")",
1631     "input": "url( \"\\a (bcd)e\")",
1632     "output": [["URI", "\u000a(bcd)e"]]},
1633    
1634     {"description": "url( '\\Xa(bcd)e')",
1635     "input": "url( '\\Xa(bcd)e')",
1636     "output": [["URI", "Xa(bcd)e"]]},
1637    
1638     {"description": "url( \"\\Xa(bcd)e\")",
1639     "input": "url( \"\\Xa(bcd)e\")",
1640     "output": [["URI", "Xa(bcd)e"]]},
1641    
1642     {"description": "url( 'a b')",
1643     "input": "url( 'a b')",
1644     "output": [["URI", "a b"]]},
1645    
1646     {"description": "url( \"a b\")",
1647     "input": "url( \"a b\")",
1648     "output": [["URI", "a b"]]},
1649    
1650     {"description": "url( ' a b ')",
1651     "input": "url( ' a b ')",
1652     "output": [["URI", " a b "]]},
1653    
1654     {"description": "url( \" a b \")",
1655     "input": "url( \" a b \")",
1656     "output": [["URI", " a b "]]},
1657    
1658     {"description": "url( 'a b'c)",
1659     "input": "url( 'a b'c)",
1660     "output": [["URI_INVALID"]]},
1661    
1662     {"description": "url( \"a b\"c)",
1663     "input": "url( \"a b\"c)",
1664     "output": [["URI_INVALID"]]},
1665    
1666     {"description": "url( 'a b''c')",
1667     "input": "url( 'a b''c')",
1668     "output": [["URI_INVALID"]]},
1669    
1670     {"description": "url( \"a b\"\"c\")",
1671     "input": "url( \"a b\"\"c\")",
1672     "output": [["URI_INVALID"]]},
1673    
1674     {"description": "url( 'a b' c)",
1675     "input": "url( 'a b' c)",
1676     "output": [["URI_INVALID"]]},
1677    
1678     {"description": "url( \"a b\" c)",
1679     "input": "url( \"a b\" c)",
1680     "output": [["URI_INVALID"]]},
1681    
1682     {"description": "url( '\\",
1683     "input": "url( '\\",
1684     "output": [["URI_INVALID"], ["DELIM", "\\"]]},
1685    
1686     {"description": "url( \"\\)",
1687     "input": "url( \"\\",
1688     "output": [["URI_INVALID"], ["DELIM", "\\"]]},
1689    
1690     {"description": "url( 'x\\",
1691     "input": "url( 'x\\",
1692     "output": [["URI_INVALID"], ["DELIM", "\\"]]},
1693    
1694     {"description": "url( \"x\\)",
1695     "input": "url( \"x\\",
1696     "output": [["URI_INVALID"], ["DELIM", "\\"]]},
1697    
1698     {"description": "url('\u000a')",
1699     "input": "url('\u000a')",
1700     "output": [["URI_INVALID"], ["S"], ["INVALID", ")"]]},
1701    
1702     {"description": "url(\"\u000a\")",
1703     "input": "url(\"\u000a\")",
1704     "output": [["URI_INVALID"], ["S"], ["INVALID", ")"]]},
1705    
1706     {"description": "url('\u000d')",
1707     "input": "url('\u000d')",
1708     "output": [["URI_INVALID"], ["S"], ["INVALID", ")"]]},
1709    
1710     {"description": "url(\"\u000d\")",
1711     "input": "url(\"\u000d\")",
1712     "output": [["URI_INVALID"], ["S"], ["INVALID", ")"]]},
1713    
1714     {"description": "url('\u000d\u000a')",
1715     "input": "url('\u000d\u000a')",
1716     "output": [["URI_INVALID"], ["S"], ["INVALID", ")"]]},
1717    
1718     {"description": "url(\"\u000d\u000a\")",
1719     "input": "url(\"\u000d\u000a\")",
1720     "output": [["URI_INVALID"], ["S"], ["INVALID", ")"]]},
1721    
1722     {"description": "url('\u000c')",
1723     "input": "url('\u000c')",
1724     "output": [["URI_INVALID"], ["S"], ["INVALID", ")"]]},
1725    
1726     {"description": "url(\"\u000c\")",
1727     "input": "url(\"\u000c\")",
1728 wakaba 1.8 "output": [["URI_INVALID"], ["S"], ["INVALID", ")"]]},
1729    
1730     {"description": "url-prefix()",
1731     "input": "url-prefix()",
1732     "output": [["URI_PREFIX", ""]]},
1733    
1734     {"description": "url-prefix(\"\")",
1735     "input": "url-prefix(\"\")",
1736     "output": [["URI_PREFIX", ""]]},
1737    
1738     {"description": "url-prefix('')",
1739     "input": "url-prefix('')",
1740     "output": [["URI_PREFIX", ""]]},
1741    
1742     {"description": "url-prefix(aaa)",
1743     "input": "url-prefix(aaa)",
1744     "output": [["URI_PREFIX", "aaa"]]},
1745    
1746     {"description": "url-prefix(\"abc\")",
1747     "input": "url-prefix(\"abc\")",
1748     "output": [["URI_PREFIX", "abc"]]},
1749    
1750     {"description": "url-prefix('abc')",
1751     "input": "url-prefix('abc')",
1752     "output": [["URI_PREFIX", "abc"]]},
1753    
1754     {"description": "url-prefix(\\4e00)",
1755     "input": "url-prefix(\\4e00)",
1756     "output": [["URI_PREFIX", "\u4e00"]]},
1757    
1758     {"description": "url-prefix(aa\"bb)",
1759     "input": "url-prefix(aa\"bb)",
1760     "output": [["URI_PREFIX_INVALID"]]},
1761    
1762     {"description": "url-prefix(aa'bb)",
1763     "input": "url-prefix(aa'bb)",
1764     "output": [["URI_PREFIX_INVALID"]]},
1765    
1766     {"description": "url-prefix(\"aa)",
1767     "input": "url-prefix(\"aa)",
1768     "output": [["URI_PREFIX_INVALID"]]},
1769    
1770     {"description": "url-prefix('aaa)",
1771     "input": "url-prefix('aaa)",
1772     "output": [["URI_PREFIX_INVALID"]]},
1773    
1774     {"description": "url-prefi\\x( a )",
1775     "input": "url-prefi\\x( a )",
1776     "output": [["URI_PREFIX", "a"]]},
1777    
1778     {"description": "u+",
1779     "input": "u+",
1780     "output": [["IDENT", "u"], ["PLUS"]]},
1781    
1782     {"description": "U+",
1783     "input": "U+",
1784     "output": [["IDENT", "U"], ["PLUS"]]},
1785    
1786     {"description": "u\\+",
1787     "input": "u\\+",
1788     "output": [["IDENT", "u+"]]},
1789    
1790     {"description": "u+4",
1791     "input": "u+4",
1792     "output": [["UNICODE_RANGE", "4"]]},
1793    
1794     {"description": "u+a",
1795     "input": "u+a",
1796     "output": [["UNICODE_RANGE", "a"]]},
1797    
1798     {"description": "u+B",
1799     "input": "u+B",
1800     "output": [["UNICODE_RANGE", "B"]]},
1801    
1802     {"description": "u+?",
1803     "input": "u+?",
1804     "output": [["UNICODE_RANGE", "?"]]},
1805    
1806     {"description": "u+X",
1807     "input": "u+X",
1808     "output": [["IDENT", "u"], ["PLUS"], ["IDENT", "X"]]},
1809    
1810     {"description": "u+/**/4",
1811     "input": "u+/**/4",
1812     "output": [["IDENT", "u"], ["PLUS"], ["NUMBER", "4"]]},
1813    
1814     {"description": "u+\\34",
1815     "input": "u+\\34",
1816     "output": [["IDENT", "u"], ["PLUS"], ["IDENT", "4"]]},
1817    
1818     {"description": "u+42",
1819     "input": "u+42",
1820     "output": [["UNICODE_RANGE", "42"]]},
1821    
1822     {"description": "u+4E0",
1823     "input": "u+4E0",
1824     "output": [["UNICODE_RANGE", "4E0"]]},
1825    
1826     {"description": "u+4e00",
1827     "input": "u+4e00",
1828     "output": [["UNICODE_RANGE", "4e00"]]},
1829    
1830     {"description": "u+4?2?",
1831     "input": "u+4?2?",
1832     "output": [["UNICODE_RANGE", "4?2?"]]},
1833    
1834     {"description": "u+4???",
1835     "input": "u+4???",
1836     "output": [["UNICODE_RANGE", "4???"]]},
1837    
1838     {"description": "u+4???12",
1839     "input": "u+4???12",
1840     "output": [["UNICODE_RANGE", "4???12"]]},
1841    
1842     {"description": "u+4123456",
1843     "input": "u+4123456",
1844     "output": [["UNICODE_RANGE", "412345"], ["NUMBER", "6"]]},
1845    
1846     {"description": "u+4123456em",
1847     "input": "u+4123456em",
1848     "output": [["UNICODE_RANGE", "412345"], ["DIMENSION", "6", "em"]]},
1849    
1850     {"description": "u+4-",
1851     "input": "u+4-",
1852 wakaba 1.10 "output": [["UNICODE_RANGE", "4"], ["MINUS"]]},
1853 wakaba 1.8
1854     {"description": "u+4-?",
1855     "input": "u+4-?",
1856 wakaba 1.10 "output": [["UNICODE_RANGE", "4"], ["MINUS"], ["DELIM", "?"]]},
1857 wakaba 1.8
1858     {"description": "u+4-1",
1859     "input": "u+4-1",
1860     "output": [["UNICODE_RANGE", "4-1"]]},
1861    
1862     {"description": "u+4-x",
1863     "input": "u+4-x",
1864     "output": [["UNICODE_RANGE", "4"], ["IDENT", "-x"]]},
1865    
1866     {"description": "u+4/**/-1",
1867     "input": "u+4/**/-1",
1868 wakaba 1.10 "output": [["UNICODE_RANGE", "4"], ["MINUS"], ["NUMBER", "1"]]},
1869 wakaba 1.8
1870     {"description": "u+4-12",
1871     "input": "u+4-12",
1872     "output": [["UNICODE_RANGE", "4-12"]]},
1873    
1874     {"description": "u+4-eef",
1875     "input": "u+4-eef",
1876     "output": [["UNICODE_RANGE", "4-eef"]]},
1877    
1878     {"description": "u+4-ffff",
1879     "input": "u+4-ffff",
1880     "output": [["UNICODE_RANGE", "4-ffff"]]},
1881    
1882     {"description": "u+4-10000",
1883     "input": "u+4-10000",
1884     "output": [["UNICODE_RANGE", "4-10000"]]},
1885    
1886     {"description": "u+4-ffffff",
1887     "input": "u+4-ffffff",
1888     "output": [["UNICODE_RANGE", "4-ffffff"]]},
1889    
1890     {"description": "u+4-1234567",
1891     "input": "u+4-1234567",
1892     "output": [["UNICODE_RANGE", "4-123456"], ["NUMBER", "7"]]},
1893    
1894     {"description": "u+4-123?56",
1895     "input": "u+4-123?56",
1896     "output": [["UNICODE_RANGE", "4-123"], ["DELIM", "?"], ["NUMBER", "56"]]},
1897    
1898     {"description": "u+4--",
1899     "input": "u+4--",
1900 wakaba 1.10 "output": [["UNICODE_RANGE", "4"], ["MINUS"], ["MINUS"]]},
1901 wakaba 1.8
1902     {"description": "u+4-->",
1903     "input": "u+4-->",
1904     "output": [["UNICODE_RANGE", "4"], ["CDC"]]},
1905    
1906     {"description": "u+4-/**/->",
1907     "input": "u+4-/**/->",
1908 wakaba 1.10 "output": [["UNICODE_RANGE", "4"], ["MINUS"], ["MINUS"],
1909 wakaba 1.8 ["GREATER"]]},
1910    
1911     {"description": "u+4--/**/>",
1912     "input": "u+4--/**/>",
1913 wakaba 1.10 "output": [["UNICODE_RANGE", "4"], ["MINUS"], ["MINUS"],
1914 wakaba 1.8 ["GREATER"]]},
1915    
1916     {"description": "\\u+4",
1917     "input": "\\u+4",
1918     "output": [["IDENT", "u"], ["PLUS"], ["NUMBER", "4"]]},
1919    
1920     {"description": "<",
1921     "input": "<",
1922     "output": [["DELIM", "<"]]},
1923    
1924     {"description": "<!",
1925     "input": "<!",
1926 wakaba 1.10 "output": [["DELIM", "<"], ["EXCLAMATION"]]},
1927 wakaba 1.8
1928     {"description": "<!-",
1929     "input": "<!-",
1930 wakaba 1.10 "output": [["DELIM", "<"], ["EXCLAMATION"], ["MINUS"]]},
1931 wakaba 1.8
1932     {"description": "<!--",
1933     "input": "<!--",
1934     "output": [["CDO"]]},
1935    
1936     {"description": "\\<!--",
1937     "input": "\\<!--",
1938 wakaba 1.10 "output": [["IDENT", "<"], ["EXCLAMATION"], ["MINUS"], ["MINUS"]]},
1939 wakaba 1.8
1940     {"description": "<!--a",
1941     "input": "<!--a",
1942     "output": [["CDO"], ["IDENT", "a"]]},
1943    
1944     {"description": "<!-->",
1945     "input": "<!-->",
1946     "output": [["CDO"], ["GREATER"]]},
1947    
1948     {"description": "<!--->",
1949     "input": "<!--->",
1950 wakaba 1.10 "output": [["CDO"], ["MINUS"], ["GREATER"]]},
1951 wakaba 1.8
1952     {"description": "<!---->",
1953     "input": "<!---->",
1954     "output": [["CDO"], ["CDC"]]},
1955    
1956     {"description": "<!>",
1957     "input": "<!>",
1958 wakaba 1.10 "output": [["DELIM", "<"], ["EXCLAMATION"], ["GREATER"]]},
1959 wakaba 1.8
1960     {"description": "-",
1961     "input": "-",
1962 wakaba 1.10 "output": [["MINUS"]]},
1963 wakaba 1.8
1964     {"description": "--",
1965     "input": "--",
1966 wakaba 1.10 "output": [["MINUS"], ["MINUS"]]},
1967 wakaba 1.8
1968     {"description": "-->",
1969     "input": "-->",
1970 wakaba 1.9 "output": [["CDC"]]},
1971    
1972     {"description": ";",
1973     "input": ";",
1974     "output": [["SEMICOLON"]]},
1975    
1976     {"description": ";;",
1977     "input": ";;",
1978     "output": [["SEMICOLON"], ["SEMICOLON"]]},
1979    
1980     {"description": "\\;",
1981     "input": "\\;",
1982     "output": [["IDENT", ";"]]},
1983    
1984     {"description": "{",
1985     "input": "{",
1986     "output": [["LBRACE"]]},
1987    
1988     {"description": "}",
1989     "input": "}",
1990     "output": [["RBRACE"]]},
1991    
1992     {"description": "[",
1993     "input": "[",
1994     "output": [["LBRACKET"]]},
1995    
1996     {"description": "]",
1997     "input": "]",
1998     "output": [["RBRACKET"]]},
1999    
2000     {"description": "(",
2001     "input": "(",
2002     "output": [["LPAREN"]]},
2003    
2004     {"description": ")",
2005     "input": ")",
2006     "output": [["RPAREN"]]},
2007    
2008     {"description": "((",
2009     "input": "((",
2010     "output": [["LPAREN"], ["LPAREN"]]},
2011    
2012     {"description": "()",
2013     "input": "()",
2014     "output": [["LPAREN"], ["RPAREN"]]},
2015    
2016     {"description": "\u0000",
2017     "input": "\u0000",
2018     "output": [["DELIM", "\u0000"]]},
2019    
2020     {"description": "\u0009",
2021     "input": "\u0009",
2022     "output": [["S"]]},
2023    
2024     {"description": "\u0009\u0009",
2025     "input": "\u0009\u0009",
2026     "output": [["S"]]},
2027    
2028     {"description": "\u0009 ",
2029     "input": "\u0009 ",
2030     "output": [["S"]]},
2031    
2032     {"description": "\u000a",
2033     "input": "\u000a",
2034     "output": [["S"]]},
2035    
2036     {"description": "\u000a\u000a",
2037     "input": "\u000a\u000a",
2038     "output": [["S"]]},
2039    
2040     {"description": "\u000d",
2041     "input": "\u000d",
2042     "output": [["S"]]},
2043    
2044     {"description": "\u000d\u000a",
2045     "input": "\u000d\u000a",
2046     "output": [["S"]]},
2047    
2048     {"description": "\u0009\u000a",
2049     "input": "\u0009\u000a",
2050     "output": [["S"]]},
2051    
2052     {"description": "\u000b",
2053     "input": "\u000b",
2054     "output": [["DELIM", "\u000b"]]},
2055    
2056     {"description": "\u000c",
2057     "input": "\u000c",
2058     "output": [["S"]]},
2059    
2060     {"description": "\u000f",
2061     "input": "\u000f",
2062     "output": [["DELIM", "\u000f"]]},
2063    
2064     {"description": " ",
2065     "input": " ",
2066     "output": [["S"]]},
2067    
2068     {"description": " ",
2069     "input": " ",
2070     "output": [["S"]]},
2071    
2072     {"description": "\u0009 ",
2073     "input": "\u0009 ",
2074     "output": [["S"]]},
2075    
2076     {"description": " \u0009",
2077     "input": " \u0009",
2078     "output": [["S"]]},
2079    
2080     {"description": "X\u0009",
2081     "input": "X\u0009",
2082     "output": [["IDENT", "X"], ["S"]]},
2083    
2084     {"description": "/",
2085     "input": "/",
2086     "output": [["DELIM", "/"]]},
2087    
2088     {"description": "/*",
2089     "input": "/*",
2090     "output": [["COMMENT_INVALID"]]},
2091    
2092     {"description": "/**",
2093     "input": "/**",
2094     "output": [["COMMENT_INVALID"]]},
2095    
2096     {"description": "/***",
2097     "input": "/***",
2098     "output": [["COMMENT_INVALID"]]},
2099    
2100     {"description": "/**/",
2101     "input": "/**/",
2102     "output": []},
2103    
2104     {"description": "/***/",
2105     "input": "/***/",
2106     "output": []},
2107    
2108     {"description": "/****/",
2109     "input": "/****/",
2110     "output": []},
2111    
2112     {"description": "/* */",
2113     "input": "/* */",
2114     "output": []},
2115    
2116     {"description": "/*\u000a*/",
2117     "input": "/*\u000a*/",
2118     "output": []},
2119    
2120     {"description": "/**/ ",
2121     "input": "/**/ ",
2122     "output": [["S"]]},
2123    
2124     {"description": " /**/ ",
2125     "input": " /**/ ",
2126     "output": [["S"], ["S"]]},
2127    
2128     {"description": "/*/**/",
2129     "input": "/*/**/",
2130     "output": []},
2131    
2132     {"description": "/*/**/*/",
2133     "input": "/*/**/*/",
2134 wakaba 1.10 "output": [["STAR"], ["DELIM", "/"]]},
2135    
2136     {"description": "a(",
2137     "input": "a(",
2138     "output": [["FUNCTION", "a"]]},
2139    
2140     {"description": "A(",
2141     "input": "A(",
2142     "output": [["FUNCTION", "A"]]},
2143    
2144     {"description": "abc(",
2145     "input": "abc(",
2146     "output": [["FUNCTION", "abc"]]},
2147    
2148     {"description": "\\x(",
2149     "input": "\\x(",
2150     "output": [["FUNCTION", "x"]]},
2151    
2152     {"description": "\\a(",
2153     "input": "\\a(",
2154     "output": [["FUNCTION", "\u000a"]]},
2155    
2156     {"description": "a\\b(",
2157     "input": "a\\b(",
2158     "output": [["FUNCTION", "a\u000b"]]},
2159    
2160     {"description": "a\\a(",
2161     "input": "a\\a(",
2162     "output": [["FUNCTION", "a\u000a"]]},
2163    
2164     {"description": "a\\a b(",
2165     "input": "a\\a b(",
2166     "output": [["FUNCTION", "a\u000ab"]]},
2167    
2168     {"description": "a\\\u000d(",
2169     "input": "a\\\u000d(",
2170     "output": [["IDENT", "a"], ["DELIM", "\\"], ["S"], ["LPAREN"]]},
2171    
2172     {"description": "a\\\u000a(",
2173     "input": "a\\\u000a(",
2174     "output": [["IDENT", "a"], ["DELIM", "\\"], ["S"], ["LPAREN"]]},
2175    
2176     {"description": "a\\\u000d\u000a(",
2177     "input": "a\\\u000d\u000a(",
2178     "output": [["IDENT", "a"], ["DELIM", "\\"], ["S"], ["LPAREN"]]},
2179    
2180     {"description": "a\\\u000c(",
2181     "input": "a\\\u000c(",
2182     "output": [["IDENT", "a"], ["DELIM", "\\"], ["S"], ["LPAREN"]]},
2183    
2184     {"description": "a (",
2185     "input": "a (",
2186     "output": [["IDENT", "a"], ["S"], ["LPAREN"]]},
2187    
2188     {"description": "a\\ (",
2189     "input": "a\\ (",
2190     "output": [["FUNCTION", "a "]]},
2191    
2192     {"description": "a\\ (",
2193     "input": "a\\ (",
2194     "output": [["IDENT", "a "], ["S"], ["LPAREN"]]},
2195    
2196     {"description": "-(",
2197     "input": "-(",
2198     "output": [["MINUS"], ["LPAREN"]]},
2199    
2200     {"description": "\\-(",
2201     "input": "\\-(",
2202     "output": [["FUNCTION", "-"]]},
2203    
2204     {"description": "-a(",
2205     "input": "-a(",
2206     "output": [["FUNCTION", "-a"]]},
2207    
2208     {"description": "-1(",
2209     "input": "-1(",
2210     "output": [["MINUS"], ["NUMBER", "1"], ["LPAREN"]]},
2211    
2212     {"description": "-a_b(",
2213     "input": "-a_b(",
2214     "output": [["FUNCTION", "-a_b"]]},
2215    
2216     {"description": "--(",
2217     "input": "--(",
2218     "output": [["MINUS"], ["MINUS"], ["LPAREN"]]},
2219    
2220     {"description": "-->(",
2221     "input": "-->(",
2222     "output": [["CDC"], ["LPAREN"]]},
2223    
2224     {"description": "~",
2225     "input": "~",
2226     "output": [["TILDE"]]},
2227    
2228     {"description": " ~",
2229     "input": " ~",
2230     "output": [["TILDE"]]},
2231    
2232     {"description": " ~",
2233     "input": " ~",
2234     "output": [["TILDE"]]},
2235    
2236     {"description": "~a",
2237     "input": "~a",
2238     "output": [["TILDE"], ["IDENT", "a"]]},
2239    
2240     {"description": "~=",
2241     "input": "~=",
2242     "output": [["INCLUDES"]]},
2243    
2244     {"description": "~~=",
2245     "input": "~~=",
2246     "output": [["TILDE"], ["INCLUDES"]]},
2247    
2248     {"description": "|",
2249     "input": "|",
2250     "output": [["VBAR"]]},
2251    
2252     {"description": "||",
2253     "input": "||",
2254     "output": [["VBAR"], ["VBAR"]]},
2255    
2256     {"description": "|=",
2257     "input": "|=",
2258     "output": [["DASHMATCH"]]},
2259    
2260     {"description": "|= ",
2261     "input": "|= ",
2262     "output": [["DASHMATCH"], ["S"]]},
2263    
2264     {"description": "|= ",
2265     "input": "|= ",
2266     "output": [["DASHMATCH"], ["S"]]},
2267    
2268     {"description": "||=",
2269     "input": "||=",
2270     "output": [["VBAR"], ["DASHMATCH"]]},
2271    
2272     {"description": "^",
2273     "input": "^",
2274     "output": [["DELIM", "^"]]},
2275    
2276     {"description": "^^",
2277     "input": "^^",
2278     "output": [["DELIM", "^"], ["DELIM", "^"]]},
2279    
2280     {"description": "^=",
2281     "input": "^=",
2282     "output": [["PREFIXMATCH"]]},
2283    
2284     {"description": "^=\u0009",
2285     "input": "^=\u0009",
2286     "output": [["PREFIXMATCH"], ["S"]]},
2287    
2288     {"description": "^= ",
2289     "input": "^= ",
2290     "output": [["PREFIXMATCH"], ["S"]]},
2291    
2292     {"description": "^^=",
2293     "input": "^^=",
2294     "output": [["DELIM", "^"], ["PREFIXMATCH"]]},
2295    
2296     {"description": "$",
2297     "input": "$",
2298     "output": [["DELIM", "$"]]},
2299    
2300     {"description": "$$",
2301     "input": "$$",
2302     "output": [["DELIM", "$"], ["DELIM", "$"]]},
2303    
2304     {"description": "$a",
2305     "input": "$a",
2306     "output": [["DELIM", "$"], ["IDENT", "a"]]},
2307    
2308     {"description": "$=",
2309     "input": "$=",
2310     "output": [["SUFFIXMATCH"]]},
2311    
2312     {"description": "$= ",
2313     "input": "$= ",
2314     "output": [["SUFFIXMATCH"], ["S"]]},
2315    
2316     {"description": "$= ",
2317     "input": "$= ",
2318     "output": [["SUFFIXMATCH"], ["S"]]},
2319    
2320     {"description": "$==",
2321     "input": "$==",
2322     "output": [["SUFFIXMATCH"], ["MATCH"]]},
2323    
2324     {"description": "*",
2325     "input": "*",
2326     "output": [["STAR"]]},
2327    
2328     {"description": "**",
2329     "input": "**",
2330     "output": [["STAR"], ["STAR"]]},
2331    
2332     {"description": "*=",
2333     "input": "*=",
2334     "output": [["SUBSTRINGMATCH"]]},
2335    
2336     {"description": "*/**/=",
2337     "input": "*/**/=",
2338     "output": [["STAR"], ["MATCH"]]},
2339    
2340     {"description": "*= ",
2341     "input": "*= ",
2342     "output": [["SUBSTRINGMATCH"], ["S"]]},
2343    
2344     {"description": "*= ",
2345     "input": "*= ",
2346     "output": [["SUBSTRINGMATCH"], ["S"]]},
2347    
2348     {"description": "=",
2349     "input": "=",
2350     "output": [["MATCH"]]},
2351    
2352     {"description": "!",
2353     "input": "!",
2354     "output": [["EXCLAMATION"]]},
2355    
2356     {"description": "%",
2357     "input": "%",
2358     "output": [["DELIM", "%"]]},
2359    
2360     {"description": "&",
2361     "input": "&",
2362     "output": [["DELIM", "&"]]},
2363    
2364     {"description": ",",
2365     "input": ",",
2366     "output": [["COMMA"]]},
2367    
2368     {"description": " ,",
2369     "input": " ,",
2370     "output": [["COMMA"]]},
2371    
2372     {"description": " ,",
2373     "input": " ,",
2374     "output": [["COMMA"]]},
2375    
2376     {"description": " /**/,",
2377     "input": " /**/,",
2378     "output": [["S"], ["COMMA"]]},
2379    
2380     {"description": "+",
2381     "input": "+",
2382     "output": [["PLUS"]]},
2383    
2384     {"description": "+ ",
2385     "input": "+ ",
2386     "output": [["PLUS"], ["S"]]},
2387    
2388     {"description": " +",
2389     "input": " +",
2390     "output": [["PLUS"]]},
2391    
2392     {"description": "\u0009+",
2393     "input": "\u0009+",
2394     "output": [["PLUS"]]},
2395    
2396     {"description": " +",
2397     "input": " +",
2398     "output": [["PLUS"]]},
2399    
2400     {"description": "/",
2401     "input": "/",
2402     "output": [["DELIM", "/"]]},
2403    
2404     {"description": "<",
2405     "input": "<",
2406     "output": [["DELIM", "<"]]},
2407    
2408     {"description": ">",
2409     "input": ">",
2410     "output": [["GREATER"]]},
2411    
2412     {"description": " >",
2413     "input": " >",
2414     "output": [["GREATER"]]},
2415    
2416     {"description": " >",
2417     "input": " >",
2418     "output": [["GREATER"]]},
2419    
2420     {"description": ":",
2421     "input": ":",
2422     "output": [["COLON"]]},
2423    
2424     {"description": "::",
2425     "input": "::",
2426     "output": [["COLON"], ["COLON"]]},
2427    
2428     {"description": ":/**/:",
2429     "input": ":/**/:",
2430     "output": [["COLON"], ["COLON"]]},
2431    
2432     {"description": "?",
2433     "input": "?",
2434     "output": [["DELIM", "?"]]},
2435    
2436     {"description": "_",
2437     "input": "_",
2438     "output": [["IDENT", "_"]]},
2439    
2440     {"description": "`",
2441     "input": "`",
2442     "output": [["DELIM", "`"]]},
2443    
2444     {"description": "\u007f",
2445     "input": "\u007f",
2446     "output": [["DELIM", "\u007f"]]},
2447    
2448     {"description": "\u0080",
2449     "input": "\u0080",
2450     "output": [["IDENT", "\u0080"]]},
2451    
2452     {"description": ":not(",
2453     "input": ":not(",
2454     "output": [["COLON"], ["FUNCTION", "not"]]},
2455    
2456     {"description": ":no\\t(",
2457     "input": ":no\\t(",
2458     "output": [["COLON"], ["FUNCTION", "not"]]},
2459    
2460     {"description": ":/**/not(",
2461     "input": ":/**/not(",
2462     "output": [["COLON"], ["FUNCTION", "not"]]}
2463 wakaba 1.7 ]}

admin@suikawiki.org
ViewVC Help
Powered by ViewVC 1.1.24