@@ -1,17 +1,18 @@
1−{\rtf1\ansi\ansicpg1252\cocoartf1404\cocoasubrtf470
1+{\rtf1\ansi\ansicpg1252\cocoartf1504
2{\fonttbl\f0\fnil\fcharset0 Menlo-Regular;}
2{\fonttbl\f0\fnil\fcharset0 Menlo-Regular;}
3−{\colortbl;\red255\green255\blue255;\red255\green164\blue159;\red194\green229\blue166;\red134\green205\blue77;
3+{\colortbl;\red255\green255\blue255;\red255\green164\blue159;\red255\green255\blue255;\red194\green229\blue166;
4−}
4+\red134\green205\blue77;\red255\green164\blue159;\red194\green229\blue166;\red134\green205\blue77;}
5+{\*\expandedcolortbl;\csgray\c100000;\csgenericrgb\c100000\c64314\c62353;\csgray\c100000;\csgenericrgb\c76078\c89804\c65098;
6+\csgenericrgb\c52549\c80392\c30196;\csgenericrgb\c100000\c64314\c62353;\csgenericrgb\c76078\c89804\c65098;\csgenericrgb\c52549\c80392\c30196;}
5\paperw11900\paperh16840\margl1440\margr1440\vieww19400\viewh13040\viewkind0
7\paperw11900\paperh16840\margl1440\margr1440\vieww19400\viewh13040\viewkind0
6\pard\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\pardirnatural\partightenfactor0
8\pard\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\pardirnatural\partightenfactor0
8−\f0\fs24 \cf0 static int state_transition_table[NR_STATES][NR_CLASSES] = \{\
10+\f0\fs24 \cf0 bug 1: rejection of 0e1\
9− /*\
11+-> add missing transition ZE -> eE -> E1\
10− The state transition table takes the current state and the current symbol,\
12+\
11− and returns either a new state or an action. An action is represented as a\
13+\
12− negative number. A JSON text is accepted if at the end of the text the\
14+\
13− state is OK and if the mode is MODE_DONE.\
15 white 1-9 ABCDF etc\
16 white 1-9 ABCDF etc\
16 space | \{ \} [ ] : , " \\ / + - . 0 | a b c d e f l n r s t u | E |*/\
17 space | \{ \} [ ] : , " \\ / + - . 0 | a b c d e f l n r s t u | E |*/\
17 /*start GO*/ \{GO,GO,-6,__,-5,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__\},\
18 /*start GO*/ \{GO,GO,-6,__,-5,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__\},\
@@ -28,17 +29,61 @@
28 /*u3 U3*/ \{__,__,__,__,__,__,__,__,__,__,__,__,__,__,U4,U4,U4,U4,U4,U4,U4,U4,__,__,__,__,__,__,U4,U4,__\},\
29 /*u3 U3*/ \{__,__,__,__,__,__,__,__,__,__,__,__,__,__,U4,U4,U4,U4,U4,U4,U4,U4,__,__,__,__,__,__,U4,U4,__\},\
29 /*u4 U4*/ \{__,__,__,__,__,__,__,__,__,__,__,__,__,__,ST,ST,ST,ST,ST,ST,ST,ST,__,__,__,__,__,__,ST,ST,__\},\
30 /*u4 U4*/ \{__,__,__,__,__,__,__,__,__,__,__,__,__,__,ST,ST,ST,ST,ST,ST,ST,ST,__,__,__,__,__,__,ST,ST,__\},\
30 /*minus MI*/ \{__,__,__,__,__,__,__,__,__,__,__,__,__,__,ZE,IN,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__\},\
31 /*minus MI*/ \{__,__,__,__,__,__,__,__,__,__,__,__,__,__,ZE,IN,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__\},\
32−\cb2 -/*zero ZE*/ \{OK,OK,__,-8,__,-7,__,-3,__,__,__,__,__,FR,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__\},\cb1 \
33\pard\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\pardirnatural\partightenfactor0
32\pard\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\pardirnatural\partightenfactor0
34−\cf0 \cb3 +/*zero ZE*/ \{OK,OK,__,-8,__,-7,__,-3,__,__,__,__,__,\cb4 F0\cb3 ,__,__,__,__,__,__,\cb4 E1\cb3 ,__,__,__,__,__,__,__,__,\cb4 E1\cb3 ,__\},\cb1 \
33+\cf0 \cb2 -/*zero ZE*/ \{OK,OK,__,-8,__,-7,__,-3,__,__,__,__,__,FR,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__\},\cb3 \
35\pard\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\pardirnatural\partightenfactor0
34\pard\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\pardirnatural\partightenfactor0
36−\cf0 \
35+\cf0 \cb4 +/*zero ZE*/ \{OK,OK,__,-8,__,-7,__,-3,__,__,__,__,__,FR,__,__,__,__,__,__,\cb5 E1\cb4 ,__,__,__,__,__,__,__,__,\cb5 E1\cb4 ,__\},\cb3 \
37−\cb2 -/*int IN*/ \{OK,OK,__,-8,__,-7,__,-3,__,__,__,__,__,FR,IN,IN,__,__,__,__,E1,__,__,__,__,__,__,__,__,E1,__\},\cb1 \
38−\cb3 +/*int IN*/ \{OK,OK,__,-8,__,-7,__,-3,__,__,__,__,__,\cb4 F0\cb3 ,IN,IN,__,__,__,__,E1,__,__,__,__,__,__,__,__,E1,__\},\cb1 \
36+ /*int IN*/ \{OK,OK,__,-8,__,-7,__,-3,__,__,__,__,__,FR,IN,IN,__,__,__,__,E1,__,__,__,__,__,__,__,__,E1,__\},\
37+ /*frac FR*/ \{OK,OK,__,-8,__,-7,__,-3,__,__,__,__,__,__,FR,FR,__,__,__,__,E1,__,__,__,__,__,__,__,__,E1,__\},\
38+ /*e E1*/ \{__,__,__,__,__,__,__,__,__,__,__,E2,E2,__,E3,E3,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__\},\
39+ /*ex E2*/ \{__,__,__,__,__,__,__,__,__,__,__,__,__,__,E3,E3,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__\},\
40+ /*exp E3*/ \{OK,OK,__,-8,__,-7,__,-3,__,__,__,__,__,__,E3,E3,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__\},\
41+ /*tr T1*/ \{__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,T2,__,__,__,__,__,__\},\
42+ /*tru T2*/ \{__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,T3,__,__,__\},\
43+ /*true T3*/ \{__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,OK,__,__,__,__,__,__,__,__,__,__\},\
44+ /*fa F1*/ \{__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,F2,__,__,__,__,__,__,__,__,__,__,__,__,__,__\},\
45+ /*fal F2*/ \{__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,F3,__,__,__,__,__,__,__,__\},\
46+ /*fals F3*/ \{__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,F4,__,__,__,__,__\},\
47+ /*false F4*/ \{__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,OK,__,__,__,__,__,__,__,__,__,__\},\
48+ /*nu N1*/ \{__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,N2,__,__,__\},\
49+ /*nul N2*/ \{__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,N3,__,__,__,__,__,__,__,__\},\
50+ /*null N3*/ \{__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,OK,__,__,__,__,__,__,__,__\},\
51+\pard\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\pardirnatural\partightenfactor0
56+bug 2: acceptance of [1.]\
57+-> require digit after dot\
58+-> add missing state F0\
59+-> update transition IN -> . -> F0\
40−\cb3 +/*frac0 F0*/ \{__,__,__,__,__,__,__,__,__,__,__,__,__,__,FR,FR,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__\},\cb1 \
64+ space | \{ \} [ ] : , " \\ / + - . 0 | a b c d e f l n r s t u | E |*/\
65+ /*start GO*/ \{GO,GO,-6,__,-5,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__\},\
66+ /*ok OK*/ \{OK,OK,__,-8,__,-7,__,-3,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__\},\
67+ /*object OB*/ \{OB,OB,__,-9,__,__,__,__,ST,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__\},\
68+ /*key KE*/ \{KE,KE,__,__,__,__,__,__,ST,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__\},\
69+ /*colon CO*/ \{CO,CO,__,__,__,__,-2,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__\},\
70+ /*value VA*/ \{VA,VA,-6,__,-5,__,__,__,ST,__,__,__,MI,__,ZE,IN,__,__,__,__,__,F1,__,N1,__,__,T1,__,__,__,__\},\
71+ /*array AR*/ \{AR,AR,-6,__,-5,-7,__,__,ST,__,__,__,MI,__,ZE,IN,__,__,__,__,__,F1,__,N1,__,__,T1,__,__,__,__\},\
72+ /*string ST*/ \{ST,__,ST,ST,ST,ST,ST,ST,-4,ES,ST,ST,ST,ST,ST,ST,ST,ST,ST,ST,ST,ST,ST,ST,ST,ST,ST,ST,ST,ST,ST\},\
73+ /*escape ES*/ \{__,__,__,__,__,__,__,__,ST,ST,ST,__,__,__,__,__,__,ST,__,__,__,ST,__,ST,ST,__,ST,U1,__,__,__\},\
74+ /*u1 U1*/ \{__,__,__,__,__,__,__,__,__,__,__,__,__,__,U2,U2,U2,U2,U2,U2,U2,U2,__,__,__,__,__,__,U2,U2,__\},\
75+ /*u2 U2*/ \{__,__,__,__,__,__,__,__,__,__,__,__,__,__,U3,U3,U3,U3,U3,U3,U3,U3,__,__,__,__,__,__,U3,U3,__\},\
76+ /*u3 U3*/ \{__,__,__,__,__,__,__,__,__,__,__,__,__,__,U4,U4,U4,U4,U4,U4,U4,U4,__,__,__,__,__,__,U4,U4,__\},\
77+ /*u4 U4*/ \{__,__,__,__,__,__,__,__,__,__,__,__,__,__,ST,ST,ST,ST,ST,ST,ST,ST,__,__,__,__,__,__,ST,ST,__\},\
78+ /*minus MI*/ \{__,__,__,__,__,__,__,__,__,__,__,__,__,__,ZE,IN,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__\},\
79+\cb6 -/*zero ZE*/ \{OK,OK,__,-8,__,-7,__,-3,__,__,__,__,__,FR,__,__,__,__,__,__,E1,__,__,__,__,__,__,__,__,E1,__\},\cb1 \
80+\pard\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\pardirnatural\partightenfactor0
81+\cf0 \cb7 +/*zero ZE*/ \{OK,OK,__,-8,__,-7,__,-3,__,__,__,__,__,\cb8 F0\cb7 ,__,__,__,__,__,__,\cb4 E1\cb7 ,__,__,__,__,__,__,__,__,\cb4 E1\cb7 ,__\},\cb1 \
82+\pard\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\pardirnatural\partightenfactor0
83+\cf0 \cb6 -/*int IN*/ \{OK,OK,__,-8,__,-7,__,-3,__,__,__,__,__,FR,IN,IN,__,__,__,__,E1,__,__,__,__,__,__,__,__,E1,__\},\cb1 \
84+\pard\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\pardirnatural\partightenfactor0
85+\cf0 \cb7 +/*int IN*/ \{OK,OK,__,-8,__,-7,__,-3,__,__,__,__,__,\cb8 F0\cb7 ,IN,IN,__,__,__,__,E1,__,__,__,__,__,__,__,__,E1,__\},\cb1 \
86+\cb7 +/*frac0 F0*/ \{__,__,__,__,__,__,__,__,__,__,__,__,__,__,FR,FR,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__\},\cb1 \
42 /*frac FR*/ \{OK,OK,__,-8,__,-7,__,-3,__,__,__,__,__,__,FR,FR,__,__,__,__,E1,__,__,__,__,__,__,__,__,E1,__\},\
87 /*frac FR*/ \{OK,OK,__,-8,__,-7,__,-3,__,__,__,__,__,__,FR,FR,__,__,__,__,E1,__,__,__,__,__,__,__,__,E1,__\},\
43 /*e E1*/ \{__,__,__,__,__,__,__,__,__,__,__,E2,E2,__,E3,E3,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__\},\
88 /*e E1*/ \{__,__,__,__,__,__,__,__,__,__,__,E2,E2,__,E3,E3,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__\},\
44 /*ex E2*/ \{__,__,__,__,__,__,__,__,__,__,__,__,__,__,E3,E3,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__\},\
89 /*ex E2*/ \{__,__,__,__,__,__,__,__,__,__,__,__,__,__,E3,E3,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__\},\
@@ -53,5 +98,6 @@
53 /*nu N1*/ \{__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,N2,__,__,__\},\
98 /*nu N1*/ \{__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,N2,__,__,__\},\
54 /*nul N2*/ \{__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,N3,__,__,__,__,__,__,__,__\},\
99 /*nul N2*/ \{__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,N3,__,__,__,__,__,__,__,__\},\
55 /*null N3*/ \{__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,OK,__,__,__,__,__,__,__,__\},\
100 /*null N3*/ \{__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,OK,__,__,__,__,__,__,__,__\},\