Coverage report: /development/source/library/org/datagraph/spocq-shard/src/core/encoding/json-grammar.lisp

KindCoveredAll%
expression5761089 52.9
branch2886 32.6
Key
Not instrumented
Conditionalized out
Executed
Not executed
 
Both branches taken
One branch taken
Neither branch taken
1
 
2
 (IN-PACKAGE "DE.SETF.JSON") 
3
 (DECLAIM (FTYPE (FUNCTION (T) (VALUES T T T)) |IS-Literal|)) 
4
 (DECLAIM (FTYPE (FUNCTION (T &KEY &ALLOW-OTHER-KEYS) (VALUES T T T)) |Json-Parser|)) 
5
 (DEFUN |IS-Literal| (ATN-PARSER::ITEM)
6
   (ATN-PARSER:%ATN-TRACE-FORM
7
    (AND ATN-PARSER::ITEM (OR (EQ ATN-PARSER::ITEM ':|false|) (EQ ATN-PARSER::ITEM ':|null|) (EQ ATN-PARSER::ITEM ':|true|)))))
8
 (PROGN
9
  (DEFVAR |Json-INDEX|)
10
  (DEFUN |Json| (ATN-PARSER::INDEX &AUX (|Array| NIL) (|Object| NIL))
11
    "Json ::= (Object | Array)
12
 (DE.SETF.JSON::|Array| DE.SETF.JSON::|Object|)"
13
    (DECLARE (SPECIAL |Json-INDEX|))
14
    (DECLARE (TYPE FIXNUM ATN-PARSER::INDEX |Json-INDEX| ATN-PARSER:*ATN-LEVEL))
15
    (DECLARE (OPTIMIZE (SPEED 3) (SAFETY 0)))
16
    (IF (< |Json-INDEX| ATN-PARSER::INDEX)
17
        (LET ((|Json-INDEX| ATN-PARSER::INDEX)
18
              (ATN-PARSER:*ATN-LEVEL (1+ ATN-PARSER:*ATN-LEVEL))
19
              (ATN-PARSER:*ATN-STACK (CONS '|Json| ATN-PARSER:*ATN-STACK))
20
              (ATN-PARSER::ATN-STRUCTURE NIL))
21
          (DECLARE (SPECIAL |Json-INDEX|))
22
          (DECLARE (DYNAMIC-EXTENT ATN-PARSER:*ATN-STACK))
23
          (DECLARE (TYPE CONS ATN-PARSER:*ATN-STACK))
24
          (SYMBOL-MACROLET ((ATN-PARSER::|item| (INPUT-REFERENCE ATN-PARSER::INDEX)))
25
            (ATN-PARSER:%ATN-BLOCK |Json|
26
                                   (LABELS ((ATN-PARSER::SUCCEED (ATN-PARSER::INDEX ATN-PARSER::RESULT)
27
                                              (SETF ATN-PARSER:*ATN-TERM* '|Json|)
28
                                              (PUSH (CONS ATN-PARSER::RESULT ATN-PARSER::INDEX) ATN-PARSER::ATN-STRUCTURE))
29
                                            (ATN-PARSER::FAIL (ATN-PARSER::INDEX)
30
                                              ATN-PARSER::INDEX)
31
                                            (|Json.2| (ATN-PARSER::INDEX)
32
                                              (ATN-PARSER:%ATN-NODE-BLOCK |Json.2|
33
                                                                          (ATN-PARSER:%ATN-EDGE-BLOCK (POP |Json|)
34
                                                                                                      (WHEN T
35
                                                                                                        (SETF ATN-PARSER:*ATN-TERM*
36
                                                                                                                '|Json|)
37
                                                                                                        (ATN-PARSER:%ATN-TRACE
38
                                                                                                         " [***/~a @ ~s reduce structure: ~a"
39
                                                                                                         '|Json| ATN-PARSER::INDEX
40
                                                                                                         (LIST '|Array| |Array|
41
                                                                                                               '|Object| |Object|))
42
                                                                                                        (LET ((ATN-PARSER::RESULT-STRUCTURE
43
                                                                                                               (IF (EQ
44
                                                                                                                    ATN-PARSER:*ATN-REDUCE*
45
                                                                                                                    T)
46
                                                                                                                   (|Json-Constructor|
47
                                                                                                                    |Array|
48
                                                                                                                    |Object|)
49
                                                                                                                   (IF (EQ
50
                                                                                                                        ATN-PARSER:*ATN-REDUCE*
51
                                                                                                                        'CONS)
52
                                                                                                                       (CONS '|Json|
53
                                                                                                                             (DELETE
54
                                                                                                                              NIL
55
                                                                                                                              (LIST
56
                                                                                                                               |Array|
57
                                                                                                                               |Object|)))
58
                                                                                                                       '|Json|))))
59
                                                                                                          (ATN-PARSER::SUCCEED
60
                                                                                                           ATN-PARSER::INDEX
61
                                                                                                           ATN-PARSER::RESULT-STRUCTURE))))))
62
                                            (|Json/fail.3| (ATN-PARSER::INDEX)
63
                                              (ATN-PARSER:%ATN-NODE-BLOCK |Json/fail.3|
64
                                                                          (PROGN (ATN-PARSER::FAIL ATN-PARSER::INDEX))))
65
                                            (|Json/start.1| (ATN-PARSER::INDEX)
66
                                              (ATN-PARSER:%ATN-NODE-BLOCK |Json/start.1|
67
                                                                          (ATN-PARSER:%ATN-EDGE-BLOCK OR
68
                                                                                                      (PROGN
69
                                                                                                       (ATN-PARSER:%ATN-EDGE-BLOCK
70
                                                                                                        (PUSH |Object|)
71
                                                                                                        (MULTIPLE-VALUE-BIND
72
                                                                                                            (ATN-PARSER::RESULT
73
                                                                                                             ATN-PARSER::SUCCESS)
74
                                                                                                            (ATN-PARSER:ATN-PARSE-SUBSTRUCTURE*
75
                                                                                                             '|Object|
76
                                                                                                             ATN-PARSER::INDEX)
77
                                                                                                          (COND
78
                                                                                                           (ATN-PARSER::SUCCESS
79
                                                                                                            (SETF ATN-PARSER:*ATN-TERM*
80
                                                                                                                    '|Object|)
81
                                                                                                            (LET ((ORG.DATAGRAPH.SPOCQ.IMPLEMENTATION::|Object52|
82
                                                                                                                   |Object|))
83
                                                                                                              (DOLIST
84
                                                                                                                  (ATN-PARSER::RESULT-AND-INDEX
85
                                                                                                                   ATN-PARSER::RESULT)
86
                                                                                                                (DESTRUCTURING-BIND
87
                                                                                                                    (
88
                                                                                                                     ATN-PARSER::RESULT . ATN-PARSER::RESULT-INDEX)
89
                                                                                                                    ATN-PARSER::RESULT-AND-INDEX
90
                                                                                                                  (WHEN
91
                                                                                                                      ATN-PARSER::RESULT
92
                                                                                                                    (SETF |Object|
93
                                                                                                                            ATN-PARSER::RESULT))
94
                                                                                                                  (|Json.2|
95
                                                                                                                   ATN-PARSER::RESULT-INDEX))
96
                                                                                                                (SETF |Object|
97
                                                                                                                        ORG.DATAGRAPH.SPOCQ.IMPLEMENTATION::|Object52|))))
98
                                                                                                           (T
99
                                                                                                            (SETF ATN-PARSER:*ATN-TERM?*
100
                                                                                                                    '|Object|)
101
                                                                                                            NIL))))
102
                                                                                                       (ATN-PARSER:%ATN-EDGE-BLOCK
103
                                                                                                        (PUSH |Array|)
104
                                                                                                        (MULTIPLE-VALUE-BIND
105
                                                                                                            (ATN-PARSER::RESULT
106
                                                                                                             ATN-PARSER::SUCCESS)
107
                                                                                                            (ATN-PARSER:ATN-PARSE-SUBSTRUCTURE*
108
                                                                                                             '|Array|
109
                                                                                                             ATN-PARSER::INDEX)
110
                                                                                                          (COND
111
                                                                                                           (ATN-PARSER::SUCCESS
112
                                                                                                            (SETF ATN-PARSER:*ATN-TERM*
113
                                                                                                                    '|Array|)
114
                                                                                                            (LET ((ORG.DATAGRAPH.SPOCQ.IMPLEMENTATION::|Array53|
115
                                                                                                                   |Array|))
116
                                                                                                              (DOLIST
117
                                                                                                                  (ATN-PARSER::RESULT-AND-INDEX
118
                                                                                                                   ATN-PARSER::RESULT)
119
                                                                                                                (DESTRUCTURING-BIND
120
                                                                                                                    (
121
                                                                                                                     ATN-PARSER::RESULT . ATN-PARSER::RESULT-INDEX)
122
                                                                                                                    ATN-PARSER::RESULT-AND-INDEX
123
                                                                                                                  (WHEN
124
                                                                                                                      ATN-PARSER::RESULT
125
                                                                                                                    (SETF |Array|
126
                                                                                                                            ATN-PARSER::RESULT))
127
                                                                                                                  (|Json.2|
128
                                                                                                                   ATN-PARSER::RESULT-INDEX))
129
                                                                                                                (SETF |Array|
130
                                                                                                                        ORG.DATAGRAPH.SPOCQ.IMPLEMENTATION::|Array53|))))
131
                                                                                                           (T
132
                                                                                                            (SETF ATN-PARSER:*ATN-TERM?*
133
                                                                                                                    '|Array|)
134
                                                                                                            NIL))))
135
                                                                                                       (|Json/fail.3|
136
                                                                                                        ATN-PARSER::INDEX))))))
137
                                     (|Json/start.1| ATN-PARSER::INDEX)
138
                                     (SETF ATN-PARSER:*ATN-NODE NIL)
139
                                     NIL
140
                                     (IF ATN-PARSER::ATN-STRUCTURE
141
                                         (VALUES ATN-PARSER::ATN-STRUCTURE T NIL)
142
                                         (VALUES `((NIL . ,ATN-PARSER::INDEX)) NIL NIL))))))
143
        (WARN "recursive grammar: ~s @ position ~s: ~s" '|Json| ATN-PARSER::INDEX ATN-PARSER:*ATN-STACK))))
144
 (PROGN
145
  (DEFVAR |Object-INDEX|)
146
  (DEFUN |Object| (ATN-PARSER::INDEX &AUX (|Member| NIL))
147
    "Object ::= '{' (Member (',' Member)*)? '}'
148
 (DE.SETF.JSON::|Member|)"
149
    (DECLARE (SPECIAL |Object-INDEX|))
150
    (DECLARE (TYPE FIXNUM ATN-PARSER::INDEX |Object-INDEX| ATN-PARSER:*ATN-LEVEL))
151
    (DECLARE (OPTIMIZE (SPEED 3) (SAFETY 0)))
152
    (IF (< |Object-INDEX| ATN-PARSER::INDEX)
153
        (LET ((|Object-INDEX| ATN-PARSER::INDEX)
154
              (ATN-PARSER:*ATN-LEVEL (1+ ATN-PARSER:*ATN-LEVEL))
155
              (ATN-PARSER:*ATN-STACK (CONS '|Object| ATN-PARSER:*ATN-STACK))
156
              (ATN-PARSER::ATN-STRUCTURE NIL))
157
          (DECLARE (SPECIAL |Object-INDEX|))
158
          (DECLARE (DYNAMIC-EXTENT ATN-PARSER:*ATN-STACK))
159
          (DECLARE (TYPE CONS ATN-PARSER:*ATN-STACK))
160
          (SYMBOL-MACROLET ((ATN-PARSER::|item| (INPUT-REFERENCE ATN-PARSER::INDEX)))
161
            (ATN-PARSER:%ATN-BLOCK |Object|
162
                                   (LABELS ((ATN-PARSER::SUCCEED (ATN-PARSER::INDEX ATN-PARSER::RESULT)
163
                                              (SETF ATN-PARSER:*ATN-TERM* '|Object|)
164
                                              (PUSH (CONS ATN-PARSER::RESULT ATN-PARSER::INDEX) ATN-PARSER::ATN-STRUCTURE))
165
                                            (ATN-PARSER::FAIL (ATN-PARSER::INDEX)
166
                                              ATN-PARSER::INDEX)
167
                                            (|Object.2| (ATN-PARSER::INDEX)
168
                                              (ATN-PARSER:%ATN-NODE-BLOCK |Object.2|
169
                                                                          (ATN-PARSER:%ATN-EDGE-BLOCK (POP |Object|)
170
                                                                                                      (WHEN T
171
                                                                                                        (SETF ATN-PARSER:*ATN-TERM*
172
                                                                                                                '|Object|)
173
                                                                                                        (ATN-PARSER:%ATN-TRACE
174
                                                                                                         " [***/~a @ ~s reduce structure: ~a"
175
                                                                                                         '|Object| ATN-PARSER::INDEX
176
                                                                                                         (LIST '|Member| |Member|))
177
                                                                                                        (LET ((ATN-PARSER::RESULT-STRUCTURE
178
                                                                                                               (IF (EQ
179
                                                                                                                    ATN-PARSER:*ATN-REDUCE*
180
                                                                                                                    T)
181
                                                                                                                   (|Object-Constructor|
182
                                                                                                                    |Member|)
183
                                                                                                                   (IF (EQ
184
                                                                                                                        ATN-PARSER:*ATN-REDUCE*
185
                                                                                                                        'CONS)
186
                                                                                                                       (CONS
187
                                                                                                                        '|Object|
188
                                                                                                                        (DELETE NIL
189
                                                                                                                                (LIST
190
                                                                                                                                 |Member|)))
191
                                                                                                                       '|Object|))))
192
                                                                                                          (ATN-PARSER::SUCCEED
193
                                                                                                           ATN-PARSER::INDEX
194
                                                                                                           ATN-PARSER::RESULT-STRUCTURE))))))
195
                                            (|Object.8| (ATN-PARSER::INDEX)
196
                                              (ATN-PARSER:%ATN-NODE-BLOCK |Object.8|
197
                                                                          (ATN-PARSER:%ATN-EDGE-BLOCK
198
                                                                           (ATN-PARSER::JUMP |Object/Object.8.9|)
199
                                                                           (|Object/Object.8.9| ATN-PARSER::INDEX))
200
                                                                          (ATN-PARSER:%ATN-EDGE-BLOCK
201
                                                                           (ATN-PARSER::JUMP |Object/Object.2.5|)
202
                                                                           (|Object/Object.2.5| ATN-PARSER::INDEX))))
203
                                            (|Object/fail.3| (ATN-PARSER::INDEX)
204
                                              (ATN-PARSER:%ATN-NODE-BLOCK |Object/fail.3|
205
                                                                          (PROGN (ATN-PARSER::FAIL ATN-PARSER::INDEX))))
206
                                            (|Object/Object.2.4| (ATN-PARSER::INDEX)
207
                                              (ATN-PARSER:%ATN-NODE-BLOCK |Object/Object.2.4|
208
                                                                          (ATN-PARSER:%ATN-EDGE-BLOCK
209
                                                                           (ATN-PARSER::JUMP |Object/Object/Object.2.5.6|)
210
                                                                           (|Object/Object/Object.2.5.6| ATN-PARSER::INDEX))
211
                                                                          (ATN-PARSER:%ATN-EDGE-BLOCK
212
                                                                           (ATN-PARSER::JUMP |Object/Object.2.5|)
213
                                                                           (|Object/Object.2.5| ATN-PARSER::INDEX))))
214
                                            (|Object/Object.2.5| (ATN-PARSER::INDEX)
215
                                              (ATN-PARSER:%ATN-NODE-BLOCK |Object/Object.2.5|
216
                                                                          (ATN-PARSER:%ATN-EDGE-BLOCK (ATN-PARSER::WORD :})
217
                                                                                                      (COND
218
                                                                                                       ((EQ ATN-PARSER::|item| ':})
219
                                                                                                        (SETF ATN-PARSER:*ATN-TERM*
220
                                                                                                                ':})
221
                                                                                                        (|Object.2|
222
                                                                                                         (1+ ATN-PARSER::INDEX)))
223
                                                                                                       (T
224
                                                                                                        (SETF ATN-PARSER:*ATN-TERM?*
225
                                                                                                                ':})
226
                                                                                                        (|Object/fail.3|
227
                                                                                                         ATN-PARSER::INDEX))))))
228
                                            (|Object/Object.8.10| (ATN-PARSER::INDEX)
229
                                              (ATN-PARSER:%ATN-NODE-BLOCK |Object/Object.8.10|
230
                                                                          (ATN-PARSER:%ATN-EDGE-BLOCK (PUSH |Member|)
231
                                                                                                      (MULTIPLE-VALUE-BIND
232
                                                                                                          (ATN-PARSER::RESULT
233
                                                                                                           ATN-PARSER::SUCCESS)
234
                                                                                                          (ATN-PARSER:ATN-PARSE-SUBSTRUCTURE*
235
                                                                                                           '|Member|
236
                                                                                                           ATN-PARSER::INDEX)
237
                                                                                                        (COND
238
                                                                                                         (ATN-PARSER::SUCCESS
239
                                                                                                          (SETF ATN-PARSER:*ATN-TERM*
240
                                                                                                                  '|Member|)
241
                                                                                                          (LET ((ORG.DATAGRAPH.SPOCQ.IMPLEMENTATION::|Member55|
242
                                                                                                                 |Member|))
243
                                                                                                            (DOLIST
244
                                                                                                                (ATN-PARSER::RESULT-AND-INDEX
245
                                                                                                                 ATN-PARSER::RESULT)
246
                                                                                                              (DESTRUCTURING-BIND
247
                                                                                                                  (
248
                                                                                                                   ATN-PARSER::RESULT . ATN-PARSER::RESULT-INDEX)
249
                                                                                                                  ATN-PARSER::RESULT-AND-INDEX
250
                                                                                                                (WHEN
251
                                                                                                                    ATN-PARSER::RESULT
252
                                                                                                                  (SETF |Member|
253
                                                                                                                          (CONS
254
                                                                                                                           ATN-PARSER::RESULT
255
                                                                                                                           |Member|)))
256
                                                                                                                (|Object.8|
257
                                                                                                                 ATN-PARSER::RESULT-INDEX))
258
                                                                                                              (SETF |Member|
259
                                                                                                                      ORG.DATAGRAPH.SPOCQ.IMPLEMENTATION::|Member55|))))
260
                                                                                                         (T
261
                                                                                                          (SETF ATN-PARSER:*ATN-TERM?*
262
                                                                                                                  '|Member|)
263
                                                                                                          NIL))))))
264
                                            (|Object/Object.8.9| (ATN-PARSER::INDEX)
265
                                              (ATN-PARSER:%ATN-NODE-BLOCK |Object/Object.8.9|
266
                                                                          (ATN-PARSER:%ATN-EDGE-BLOCK (ATN-PARSER::WORD :|,|)
267
                                                                                                      (COND
268
                                                                                                       ((EQ ATN-PARSER::|item|
269
                                                                                                            ':|,|)
270
                                                                                                        (SETF ATN-PARSER:*ATN-TERM*
271
                                                                                                                ':|,|)
272
                                                                                                        (|Object/Object.8.10|
273
                                                                                                         (1+ ATN-PARSER::INDEX)))
274
                                                                                                       (T
275
                                                                                                        (SETF ATN-PARSER:*ATN-TERM?*
276
                                                                                                                ':|,|)
277
                                                                                                        NIL)))))
278
                                            (|Object/Object/Object.2.5.6| (ATN-PARSER::INDEX)
279
                                              (ATN-PARSER:%ATN-NODE-BLOCK |Object/Object/Object.2.5.6|
280
                                                                          (ATN-PARSER:%ATN-EDGE-BLOCK (PUSH |Member|)
281
                                                                                                      (MULTIPLE-VALUE-BIND
282
                                                                                                          (ATN-PARSER::RESULT
283
                                                                                                           ATN-PARSER::SUCCESS)
284
                                                                                                          (ATN-PARSER:ATN-PARSE-SUBSTRUCTURE*
285
                                                                                                           '|Member|
286
                                                                                                           ATN-PARSER::INDEX)
287
                                                                                                        (COND
288
                                                                                                         (ATN-PARSER::SUCCESS
289
                                                                                                          (SETF ATN-PARSER:*ATN-TERM*
290
                                                                                                                  '|Member|)
291
                                                                                                          (LET ((ORG.DATAGRAPH.SPOCQ.IMPLEMENTATION::|Member56|
292
                                                                                                                 |Member|))
293
                                                                                                            (DOLIST
294
                                                                                                                (ATN-PARSER::RESULT-AND-INDEX
295
                                                                                                                 ATN-PARSER::RESULT)
296
                                                                                                              (DESTRUCTURING-BIND
297
                                                                                                                  (
298
                                                                                                                   ATN-PARSER::RESULT . ATN-PARSER::RESULT-INDEX)
299
                                                                                                                  ATN-PARSER::RESULT-AND-INDEX
300
                                                                                                                (WHEN
301
                                                                                                                    ATN-PARSER::RESULT
302
                                                                                                                  (SETF |Member|
303
                                                                                                                          (CONS
304
                                                                                                                           ATN-PARSER::RESULT
305
                                                                                                                           |Member|)))
306
                                                                                                                (|Object/Object/Object.2.5.7|
307
                                                                                                                 ATN-PARSER::RESULT-INDEX))
308
                                                                                                              (SETF |Member|
309
                                                                                                                      ORG.DATAGRAPH.SPOCQ.IMPLEMENTATION::|Member56|))))
310
                                                                                                         (T
311
                                                                                                          (SETF ATN-PARSER:*ATN-TERM?*
312
                                                                                                                  '|Member|)
313
                                                                                                          NIL))))))
314
                                            (|Object/Object/Object.2.5.7| (ATN-PARSER::INDEX)
315
                                              (ATN-PARSER:%ATN-NODE-BLOCK |Object/Object/Object.2.5.7|
316
                                                                          (ATN-PARSER:%ATN-EDGE-BLOCK
317
                                                                           (ATN-PARSER::JUMP |Object/Object.8.9|)
318
                                                                           (|Object/Object.8.9| ATN-PARSER::INDEX))
319
                                                                          (ATN-PARSER:%ATN-EDGE-BLOCK
320
                                                                           (ATN-PARSER::JUMP |Object/Object.2.5|)
321
                                                                           (|Object/Object.2.5| ATN-PARSER::INDEX))))
322
                                            (|Object/start.1| (ATN-PARSER::INDEX)
323
                                              (ATN-PARSER:%ATN-NODE-BLOCK |Object/start.1|
324
                                                                          (ATN-PARSER:%ATN-EDGE-BLOCK (ATN-PARSER::WORD :{)
325
                                                                                                      (COND
326
                                                                                                       ((EQ ATN-PARSER::|item| ':{)
327
                                                                                                        (SETF ATN-PARSER:*ATN-TERM*
328
                                                                                                                ':{)
329
                                                                                                        (|Object/Object.2.4|
330
                                                                                                         (1+ ATN-PARSER::INDEX)))
331
                                                                                                       (T
332
                                                                                                        (SETF ATN-PARSER:*ATN-TERM?*
333
                                                                                                                ':{)
334
                                                                                                        (|Object/fail.3|
335
                                                                                                         ATN-PARSER::INDEX)))))))
336
                                     (|Object/start.1| ATN-PARSER::INDEX)
337
                                     (SETF ATN-PARSER:*ATN-NODE NIL)
338
                                     NIL
339
                                     (IF ATN-PARSER::ATN-STRUCTURE
340
                                         (VALUES ATN-PARSER::ATN-STRUCTURE T NIL)
341
                                         (VALUES `((NIL . ,ATN-PARSER::INDEX)) NIL NIL))))))
342
        (WARN "recursive grammar: ~s @ position ~s: ~s" '|Object| ATN-PARSER::INDEX ATN-PARSER:*ATN-STACK))))
343
 (PROGN
344
  (DEFVAR |Array-INDEX|)
345
  (DEFUN |Array| (ATN-PARSER::INDEX &AUX (|ValueList| NIL))
346
    "Array ::= '[' ValueList? ']'
347
 (DE.SETF.JSON::|ValueList|)"
348
    (DECLARE (SPECIAL |Array-INDEX|))
349
    (DECLARE (TYPE FIXNUM ATN-PARSER::INDEX |Array-INDEX| ATN-PARSER:*ATN-LEVEL))
350
    (DECLARE (OPTIMIZE (SPEED 3) (SAFETY 0)))
351
    (IF (< |Array-INDEX| ATN-PARSER::INDEX)
352
        (LET ((|Array-INDEX| ATN-PARSER::INDEX)
353
              (ATN-PARSER:*ATN-LEVEL (1+ ATN-PARSER:*ATN-LEVEL))
354
              (ATN-PARSER:*ATN-STACK (CONS '|Array| ATN-PARSER:*ATN-STACK))
355
              (ATN-PARSER::ATN-STRUCTURE NIL))
356
          (DECLARE (SPECIAL |Array-INDEX|))
357
          (DECLARE (DYNAMIC-EXTENT ATN-PARSER:*ATN-STACK))
358
          (DECLARE (TYPE CONS ATN-PARSER:*ATN-STACK))
359
          (SYMBOL-MACROLET ((ATN-PARSER::|item| (INPUT-REFERENCE ATN-PARSER::INDEX)))
360
            (ATN-PARSER:%ATN-BLOCK |Array|
361
                                   (LABELS ((ATN-PARSER::SUCCEED (ATN-PARSER::INDEX ATN-PARSER::RESULT)
362
                                              (SETF ATN-PARSER:*ATN-TERM* '|Array|)
363
                                              (PUSH (CONS ATN-PARSER::RESULT ATN-PARSER::INDEX) ATN-PARSER::ATN-STRUCTURE))
364
                                            (ATN-PARSER::FAIL (ATN-PARSER::INDEX)
365
                                              ATN-PARSER::INDEX)
366
                                            (|Array.2| (ATN-PARSER::INDEX)
367
                                              (ATN-PARSER:%ATN-NODE-BLOCK |Array.2|
368
                                                                          (ATN-PARSER:%ATN-EDGE-BLOCK (POP |Array|)
369
                                                                                                      (WHEN T
370
                                                                                                        (SETF ATN-PARSER:*ATN-TERM*
371
                                                                                                                '|Array|)
372
                                                                                                        (ATN-PARSER:%ATN-TRACE
373
                                                                                                         " [***/~a @ ~s reduce structure: ~a"
374
                                                                                                         '|Array| ATN-PARSER::INDEX
375
                                                                                                         (LIST '|ValueList|
376
                                                                                                               |ValueList|))
377
                                                                                                        (LET ((ATN-PARSER::RESULT-STRUCTURE
378
                                                                                                               (IF (EQ
379
                                                                                                                    ATN-PARSER:*ATN-REDUCE*
380
                                                                                                                    T)
381
                                                                                                                   (|Array-Constructor|
382
                                                                                                                    |ValueList|)
383
                                                                                                                   (IF (EQ
384
                                                                                                                        ATN-PARSER:*ATN-REDUCE*
385
                                                                                                                        'CONS)
386
                                                                                                                       (CONS
387
                                                                                                                        '|Array|
388
                                                                                                                        (DELETE NIL
389
                                                                                                                                (LIST
390
                                                                                                                                 |ValueList|)))
391
                                                                                                                       '|Array|))))
392
                                                                                                          (ATN-PARSER::SUCCEED
393
                                                                                                           ATN-PARSER::INDEX
394
                                                                                                           ATN-PARSER::RESULT-STRUCTURE))))))
395
                                            (|Array/Array.2.4| (ATN-PARSER::INDEX)
396
                                              (ATN-PARSER:%ATN-NODE-BLOCK |Array/Array.2.4|
397
                                                                          (ATN-PARSER:%ATN-EDGE-BLOCK (PUSH |ValueList|)
398
                                                                                                      (MULTIPLE-VALUE-BIND
399
                                                                                                          (ATN-PARSER::RESULT
400
                                                                                                           ATN-PARSER::SUCCESS)
401
                                                                                                          (ATN-PARSER:ATN-PARSE-SUBSTRUCTURE*
402
                                                                                                           '|ValueList|
403
                                                                                                           ATN-PARSER::INDEX)
404
                                                                                                        (COND
405
                                                                                                         (ATN-PARSER::SUCCESS
406
                                                                                                          (SETF ATN-PARSER:*ATN-TERM*
407
                                                                                                                  '|ValueList|)
408
                                                                                                          (LET ((ORG.DATAGRAPH.SPOCQ.IMPLEMENTATION::|ValueList57|
409
                                                                                                                 |ValueList|))
410
                                                                                                            (DOLIST
411
                                                                                                                (ATN-PARSER::RESULT-AND-INDEX
412
                                                                                                                 ATN-PARSER::RESULT)
413
                                                                                                              (DESTRUCTURING-BIND
414
                                                                                                                  (
415
                                                                                                                   ATN-PARSER::RESULT . ATN-PARSER::RESULT-INDEX)
416
                                                                                                                  ATN-PARSER::RESULT-AND-INDEX
417
                                                                                                                (WHEN
418
                                                                                                                    ATN-PARSER::RESULT
419
                                                                                                                  (SETF |ValueList|
420
                                                                                                                          ATN-PARSER::RESULT))
421
                                                                                                                (|Array/Array.2.5|
422
                                                                                                                 ATN-PARSER::RESULT-INDEX))
423
                                                                                                              (SETF |ValueList|
424
                                                                                                                      ORG.DATAGRAPH.SPOCQ.IMPLEMENTATION::|ValueList57|))))
425
                                                                                                         (T
426
                                                                                                          (SETF ATN-PARSER:*ATN-TERM?*
427
                                                                                                                  '|ValueList|)
428
                                                                                                          (|Array/Array.2.5|
429
                                                                                                           ATN-PARSER::INDEX)))))))
430
                                            (|Array/Array.2.5| (ATN-PARSER::INDEX)
431
                                              (ATN-PARSER:%ATN-NODE-BLOCK |Array/Array.2.5|
432
                                                                          (ATN-PARSER:%ATN-EDGE-BLOCK (ATN-PARSER::WORD :])
433
                                                                                                      (COND
434
                                                                                                       ((EQ ATN-PARSER::|item| ':])
435
                                                                                                        (SETF ATN-PARSER:*ATN-TERM*
436
                                                                                                                ':])
437
                                                                                                        (|Array.2|
438
                                                                                                         (1+ ATN-PARSER::INDEX)))
439
                                                                                                       (T
440
                                                                                                        (SETF ATN-PARSER:*ATN-TERM?*
441
                                                                                                                ':])
442
                                                                                                        (|Array/fail.3|
443
                                                                                                         ATN-PARSER::INDEX))))))
444
                                            (|Array/fail.3| (ATN-PARSER::INDEX)
445
                                              (ATN-PARSER:%ATN-NODE-BLOCK |Array/fail.3|
446
                                                                          (PROGN (ATN-PARSER::FAIL ATN-PARSER::INDEX))))
447
                                            (|Array/start.1| (ATN-PARSER::INDEX)
448
                                              (ATN-PARSER:%ATN-NODE-BLOCK |Array/start.1|
449
                                                                          (ATN-PARSER:%ATN-EDGE-BLOCK (ATN-PARSER::WORD :[)
450
                                                                                                      (COND
451
                                                                                                       ((EQ ATN-PARSER::|item| ':[)
452
                                                                                                        (SETF ATN-PARSER:*ATN-TERM*
453
                                                                                                                ':[)
454
                                                                                                        (|Array/Array.2.4|
455
                                                                                                         (1+ ATN-PARSER::INDEX)))
456
                                                                                                       (T
457
                                                                                                        (SETF ATN-PARSER:*ATN-TERM?*
458
                                                                                                                ':[)
459
                                                                                                        (|Array/fail.3|
460
                                                                                                         ATN-PARSER::INDEX)))))))
461
                                     (|Array/start.1| ATN-PARSER::INDEX)
462
                                     (SETF ATN-PARSER:*ATN-NODE NIL)
463
                                     NIL
464
                                     (IF ATN-PARSER::ATN-STRUCTURE
465
                                         (VALUES ATN-PARSER::ATN-STRUCTURE T NIL)
466
                                         (VALUES `((NIL . ,ATN-PARSER::INDEX)) NIL NIL))))))
467
        (WARN "recursive grammar: ~s @ position ~s: ~s" '|Array| ATN-PARSER::INDEX ATN-PARSER:*ATN-STACK))))
468
 (PROGN
469
  (DEFVAR |ValueList-INDEX|)
470
  (DEFUN |ValueList| (ATN-PARSER::INDEX &AUX (|Value| NIL) (|ValueList| NIL))
471
    "ValueList ::= Value (',' ValueList)?
472
 (DE.SETF.JSON::|Value| DE.SETF.JSON::|ValueList|)"
473
    (DECLARE (SPECIAL |ValueList-INDEX|))
474
    (DECLARE (TYPE FIXNUM ATN-PARSER::INDEX |ValueList-INDEX| ATN-PARSER:*ATN-LEVEL))
475
    (DECLARE (OPTIMIZE (SPEED 3) (SAFETY 0)))
476
    (IF (< |ValueList-INDEX| ATN-PARSER::INDEX)
477
        (LET ((|ValueList-INDEX| ATN-PARSER::INDEX)
478
              (ATN-PARSER:*ATN-LEVEL (1+ ATN-PARSER:*ATN-LEVEL))
479
              (ATN-PARSER:*ATN-STACK (CONS '|ValueList| ATN-PARSER:*ATN-STACK))
480
              (ATN-PARSER::ATN-STRUCTURE NIL))
481
          (DECLARE (SPECIAL |ValueList-INDEX|))
482
          (DECLARE (DYNAMIC-EXTENT ATN-PARSER:*ATN-STACK))
483
          (DECLARE (TYPE CONS ATN-PARSER:*ATN-STACK))
484
          (SYMBOL-MACROLET ((ATN-PARSER::|item| (INPUT-REFERENCE ATN-PARSER::INDEX)))
485
            (ATN-PARSER:%ATN-BLOCK |ValueList|
486
                                   (LABELS ((ATN-PARSER::SUCCEED (ATN-PARSER::INDEX ATN-PARSER::RESULT)
487
                                              (SETF ATN-PARSER:*ATN-TERM* '|ValueList|)
488
                                              (PUSH (CONS ATN-PARSER::RESULT ATN-PARSER::INDEX) ATN-PARSER::ATN-STRUCTURE))
489
                                            (ATN-PARSER::FAIL (ATN-PARSER::INDEX)
490
                                              ATN-PARSER::INDEX)
491
                                            (|ValueList.2| (ATN-PARSER::INDEX)
492
                                              (ATN-PARSER:%ATN-NODE-BLOCK |ValueList.2|
493
                                                                          (ATN-PARSER:%ATN-EDGE-BLOCK (POP |ValueList|)
494
                                                                                                      (WHEN T
495
                                                                                                        (SETF ATN-PARSER:*ATN-TERM*
496
                                                                                                                '|ValueList|)
497
                                                                                                        (ATN-PARSER:%ATN-TRACE
498
                                                                                                         " [***/~a @ ~s reduce structure: ~a"
499
                                                                                                         '|ValueList|
500
                                                                                                         ATN-PARSER::INDEX
501
                                                                                                         (LIST '|Value| |Value|
502
                                                                                                               '|ValueList|
503
                                                                                                               |ValueList|))
504
                                                                                                        (LET ((ATN-PARSER::RESULT-STRUCTURE
505
                                                                                                               (IF (EQ
506
                                                                                                                    ATN-PARSER:*ATN-REDUCE*
507
                                                                                                                    T)
508
                                                                                                                   (|ValueList-Constructor|
509
                                                                                                                    |Value|
510
                                                                                                                    |ValueList|)
511
                                                                                                                   (IF (EQ
512
                                                                                                                        ATN-PARSER:*ATN-REDUCE*
513
                                                                                                                        'CONS)
514
                                                                                                                       (CONS
515
                                                                                                                        '|ValueList|
516
                                                                                                                        (DELETE NIL
517
                                                                                                                                (LIST
518
                                                                                                                                 |Value|
519
                                                                                                                                 |ValueList|)))
520
                                                                                                                       '|ValueList|))))
521
                                                                                                          (ATN-PARSER::SUCCEED
522
                                                                                                           ATN-PARSER::INDEX
523
                                                                                                           ATN-PARSER::RESULT-STRUCTURE))))))
524
                                            (|ValueList/fail.3| (ATN-PARSER::INDEX)
525
                                              (ATN-PARSER:%ATN-NODE-BLOCK |ValueList/fail.3|
526
                                                                          (PROGN (ATN-PARSER::FAIL ATN-PARSER::INDEX))))
527
                                            (|ValueList/start.1| (ATN-PARSER::INDEX)
528
                                              (ATN-PARSER:%ATN-NODE-BLOCK |ValueList/start.1|
529
                                                                          (ATN-PARSER:%ATN-EDGE-BLOCK (PUSH |Value|)
530
                                                                                                      (MULTIPLE-VALUE-BIND
531
                                                                                                          (ATN-PARSER::RESULT
532
                                                                                                           ATN-PARSER::SUCCESS)
533
                                                                                                          (ATN-PARSER:ATN-PARSE-SUBSTRUCTURE*
534
                                                                                                           '|Value|
535
                                                                                                           ATN-PARSER::INDEX)
536
                                                                                                        (COND
537
                                                                                                         (ATN-PARSER::SUCCESS
538
                                                                                                          (SETF ATN-PARSER:*ATN-TERM*
539
                                                                                                                  '|Value|)
540
                                                                                                          (LET ((ORG.DATAGRAPH.SPOCQ.IMPLEMENTATION::|Value59|
541
                                                                                                                 |Value|))
542
                                                                                                            (DOLIST
543
                                                                                                                (ATN-PARSER::RESULT-AND-INDEX
544
                                                                                                                 ATN-PARSER::RESULT)
545
                                                                                                              (DESTRUCTURING-BIND
546
                                                                                                                  (
547
                                                                                                                   ATN-PARSER::RESULT . ATN-PARSER::RESULT-INDEX)
548
                                                                                                                  ATN-PARSER::RESULT-AND-INDEX
549
                                                                                                                (WHEN
550
                                                                                                                    ATN-PARSER::RESULT
551
                                                                                                                  (SETF |Value|
552
                                                                                                                          ATN-PARSER::RESULT))
553
                                                                                                                (|ValueList/ValueList.2.4|
554
                                                                                                                 ATN-PARSER::RESULT-INDEX))
555
                                                                                                              (SETF |Value|
556
                                                                                                                      ORG.DATAGRAPH.SPOCQ.IMPLEMENTATION::|Value59|))))
557
                                                                                                         (T
558
                                                                                                          (SETF ATN-PARSER:*ATN-TERM?*
559
                                                                                                                  '|Value|)
560
                                                                                                          (|ValueList/fail.3|
561
                                                                                                           ATN-PARSER::INDEX)))))))
562
                                            (|ValueList/ValueList.2.4| (ATN-PARSER::INDEX)
563
                                              (ATN-PARSER:%ATN-NODE-BLOCK |ValueList/ValueList.2.4|
564
                                                                          (ATN-PARSER:%ATN-EDGE-BLOCK
565
                                                                           (ATN-PARSER::JUMP |ValueList/ValueList.2.5|)
566
                                                                           (|ValueList/ValueList.2.5| ATN-PARSER::INDEX))
567
                                                                          (ATN-PARSER:%ATN-EDGE-BLOCK
568
                                                                           (ATN-PARSER::JUMP |ValueList.2|)
569
                                                                           (|ValueList.2| ATN-PARSER::INDEX))))
570
                                            (|ValueList/ValueList.2.5| (ATN-PARSER::INDEX)
571
                                              (ATN-PARSER:%ATN-NODE-BLOCK |ValueList/ValueList.2.5|
572
                                                                          (ATN-PARSER:%ATN-EDGE-BLOCK (ATN-PARSER::WORD :|,|)
573
                                                                                                      (COND
574
                                                                                                       ((EQ ATN-PARSER::|item|
575
                                                                                                            ':|,|)
576
                                                                                                        (SETF ATN-PARSER:*ATN-TERM*
577
                                                                                                                ':|,|)
578
                                                                                                        (|ValueList/ValueList.2.6|
579
                                                                                                         (1+ ATN-PARSER::INDEX)))
580
                                                                                                       (T
581
                                                                                                        (SETF ATN-PARSER:*ATN-TERM?*
582
                                                                                                                ':|,|)
583
                                                                                                        NIL)))))
584
                                            (|ValueList/ValueList.2.6| (ATN-PARSER::INDEX)
585
                                              (ATN-PARSER:%ATN-NODE-BLOCK |ValueList/ValueList.2.6|
586
                                                                          (ATN-PARSER:%ATN-EDGE-BLOCK (PUSH |ValueList|)
587
                                                                                                      (MULTIPLE-VALUE-BIND
588
                                                                                                          (ATN-PARSER::RESULT
589
                                                                                                           ATN-PARSER::SUCCESS)
590
                                                                                                          (ATN-PARSER:ATN-PARSE-SUBSTRUCTURE*
591
                                                                                                           '|ValueList|
592
                                                                                                           ATN-PARSER::INDEX)
593
                                                                                                        (COND
594
                                                                                                         (ATN-PARSER::SUCCESS
595
                                                                                                          (SETF ATN-PARSER:*ATN-TERM*
596
                                                                                                                  '|ValueList|)
597
                                                                                                          (LET ((ORG.DATAGRAPH.SPOCQ.IMPLEMENTATION::|ValueList58|
598
                                                                                                                 |ValueList|))
599
                                                                                                            (DOLIST
600
                                                                                                                (ATN-PARSER::RESULT-AND-INDEX
601
                                                                                                                 ATN-PARSER::RESULT)
602
                                                                                                              (DESTRUCTURING-BIND
603
                                                                                                                  (
604
                                                                                                                   ATN-PARSER::RESULT . ATN-PARSER::RESULT-INDEX)
605
                                                                                                                  ATN-PARSER::RESULT-AND-INDEX
606
                                                                                                                (WHEN
607
                                                                                                                    ATN-PARSER::RESULT
608
                                                                                                                  (SETF |ValueList|
609
                                                                                                                          ATN-PARSER::RESULT))
610
                                                                                                                (|ValueList.2|
611
                                                                                                                 ATN-PARSER::RESULT-INDEX))
612
                                                                                                              (SETF |ValueList|
613
                                                                                                                      ORG.DATAGRAPH.SPOCQ.IMPLEMENTATION::|ValueList58|))))
614
                                                                                                         (T
615
                                                                                                          (SETF ATN-PARSER:*ATN-TERM?*
616
                                                                                                                  '|ValueList|)
617
                                                                                                          NIL)))))))
618
                                     (|ValueList/start.1| ATN-PARSER::INDEX)
619
                                     (SETF ATN-PARSER:*ATN-NODE NIL)
620
                                     NIL
621
                                     (IF ATN-PARSER::ATN-STRUCTURE
622
                                         (VALUES ATN-PARSER::ATN-STRUCTURE T NIL)
623
                                         (VALUES `((NIL . ,ATN-PARSER::INDEX)) NIL NIL))))))
624
        (WARN "recursive grammar: ~s @ position ~s: ~s" '|ValueList| ATN-PARSER::INDEX ATN-PARSER:*ATN-STACK))))
625
 (PROGN
626
  (DEFVAR |Member-INDEX|)
627
  (DEFUN |Member| (ATN-PARSER::INDEX &AUX (NAME NIL) (|Value| NIL))
628
    "Member ::= NAME ':' Value
629
 (DE.SETF.JSON::NAME DE.SETF.JSON::|Value|)"
630
    (DECLARE (SPECIAL |Member-INDEX|))
631
    (DECLARE (TYPE FIXNUM ATN-PARSER::INDEX |Member-INDEX| ATN-PARSER:*ATN-LEVEL))
632
    (DECLARE (OPTIMIZE (SPEED 3) (SAFETY 0)))
633
    (IF (< |Member-INDEX| ATN-PARSER::INDEX)
634
        (LET ((|Member-INDEX| ATN-PARSER::INDEX)
635
              (ATN-PARSER:*ATN-LEVEL (1+ ATN-PARSER:*ATN-LEVEL))
636
              (ATN-PARSER:*ATN-STACK (CONS '|Member| ATN-PARSER:*ATN-STACK))
637
              (ATN-PARSER::ATN-STRUCTURE NIL))
638
          (DECLARE (SPECIAL |Member-INDEX|))
639
          (DECLARE (DYNAMIC-EXTENT ATN-PARSER:*ATN-STACK))
640
          (DECLARE (TYPE CONS ATN-PARSER:*ATN-STACK))
641
          (SYMBOL-MACROLET ((ATN-PARSER::|item| (INPUT-REFERENCE ATN-PARSER::INDEX)))
642
            (ATN-PARSER:%ATN-BLOCK |Member|
643
                                   (LABELS ((ATN-PARSER::SUCCEED (ATN-PARSER::INDEX ATN-PARSER::RESULT)
644
                                              (SETF ATN-PARSER:*ATN-TERM* '|Member|)
645
                                              (PUSH (CONS ATN-PARSER::RESULT ATN-PARSER::INDEX) ATN-PARSER::ATN-STRUCTURE))
646
                                            (ATN-PARSER::FAIL (ATN-PARSER::INDEX)
647
                                              ATN-PARSER::INDEX)
648
                                            (|Member.2| (ATN-PARSER::INDEX)
649
                                              (ATN-PARSER:%ATN-NODE-BLOCK |Member.2|
650
                                                                          (ATN-PARSER:%ATN-EDGE-BLOCK (POP |Member|)
651
                                                                                                      (WHEN T
652
                                                                                                        (SETF ATN-PARSER:*ATN-TERM*
653
                                                                                                                '|Member|)
654
                                                                                                        (ATN-PARSER:%ATN-TRACE
655
                                                                                                         " [***/~a @ ~s reduce structure: ~a"
656
                                                                                                         '|Member| ATN-PARSER::INDEX
657
                                                                                                         (LIST 'NAME NAME '|Value|
658
                                                                                                               |Value|))
659
                                                                                                        (LET ((ATN-PARSER::RESULT-STRUCTURE
660
                                                                                                               (IF (EQ
661
                                                                                                                    ATN-PARSER:*ATN-REDUCE*
662
                                                                                                                    T)
663
                                                                                                                   (|Member-Constructor|
664
                                                                                                                    NAME |Value|)
665
                                                                                                                   (IF (EQ
666
                                                                                                                        ATN-PARSER:*ATN-REDUCE*
667
                                                                                                                        'CONS)
668
                                                                                                                       (CONS
669
                                                                                                                        '|Member|
670
                                                                                                                        (DELETE NIL
671
                                                                                                                                (LIST
672
                                                                                                                                 NAME
673
                                                                                                                                 |Value|)))
674
                                                                                                                       '|Member|))))
675
                                                                                                          (ATN-PARSER::SUCCEED
676
                                                                                                           ATN-PARSER::INDEX
677
                                                                                                           ATN-PARSER::RESULT-STRUCTURE))))))
678
                                            (|Member/fail.3| (ATN-PARSER::INDEX)
679
                                              (ATN-PARSER:%ATN-NODE-BLOCK |Member/fail.3|
680
                                                                          (PROGN (ATN-PARSER::FAIL ATN-PARSER::INDEX))))
681
                                            (|Member/Member.2.4| (ATN-PARSER::INDEX)
682
                                              (ATN-PARSER:%ATN-NODE-BLOCK |Member/Member.2.4|
683
                                                                          (ATN-PARSER:%ATN-EDGE-BLOCK (ATN-PARSER::WORD :|:|)
684
                                                                                                      (COND
685
                                                                                                       ((EQ ATN-PARSER::|item|
686
                                                                                                            ':|:|)
687
                                                                                                        (SETF ATN-PARSER:*ATN-TERM*
688
                                                                                                                ':|:|)
689
                                                                                                        (|Member/Member.2.5|
690
                                                                                                         (1+ ATN-PARSER::INDEX)))
691
                                                                                                       (T
692
                                                                                                        (SETF ATN-PARSER:*ATN-TERM?*
693
                                                                                                                ':|:|)
694
                                                                                                        (|Member/fail.3|
695
                                                                                                         ATN-PARSER::INDEX))))))
696
                                            (|Member/Member.2.5| (ATN-PARSER::INDEX)
697
                                              (ATN-PARSER:%ATN-NODE-BLOCK |Member/Member.2.5|
698
                                                                          (ATN-PARSER:%ATN-EDGE-BLOCK (PUSH |Value|)
699
                                                                                                      (MULTIPLE-VALUE-BIND
700
                                                                                                          (ATN-PARSER::RESULT
701
                                                                                                           ATN-PARSER::SUCCESS)
702
                                                                                                          (ATN-PARSER:ATN-PARSE-SUBSTRUCTURE*
703
                                                                                                           '|Value|
704
                                                                                                           ATN-PARSER::INDEX)
705
                                                                                                        (COND
706
                                                                                                         (ATN-PARSER::SUCCESS
707
                                                                                                          (SETF ATN-PARSER:*ATN-TERM*
708
                                                                                                                  '|Value|)
709
                                                                                                          (LET ((ORG.DATAGRAPH.SPOCQ.IMPLEMENTATION::|Value60|
710
                                                                                                                 |Value|))
711
                                                                                                            (DOLIST
712
                                                                                                                (ATN-PARSER::RESULT-AND-INDEX
713
                                                                                                                 ATN-PARSER::RESULT)
714
                                                                                                              (DESTRUCTURING-BIND
715
                                                                                                                  (
716
                                                                                                                   ATN-PARSER::RESULT . ATN-PARSER::RESULT-INDEX)
717
                                                                                                                  ATN-PARSER::RESULT-AND-INDEX
718
                                                                                                                (WHEN
719
                                                                                                                    ATN-PARSER::RESULT
720
                                                                                                                  (SETF |Value|
721
                                                                                                                          ATN-PARSER::RESULT))
722
                                                                                                                (|Member.2|
723
                                                                                                                 ATN-PARSER::RESULT-INDEX))
724
                                                                                                              (SETF |Value|
725
                                                                                                                      ORG.DATAGRAPH.SPOCQ.IMPLEMENTATION::|Value60|))))
726
                                                                                                         (T
727
                                                                                                          (SETF ATN-PARSER:*ATN-TERM?*
728
                                                                                                                  '|Value|)
729
                                                                                                          (|Member/fail.3|
730
                                                                                                           ATN-PARSER::INDEX)))))))
731
                                            (|Member/start.1| (ATN-PARSER::INDEX)
732
                                              (ATN-PARSER:%ATN-NODE-BLOCK |Member/start.1|
733
                                                                          (ATN-PARSER:%ATN-EDGE-BLOCK
734
                                                                           (DE.SETF.UTILITY.IMPLEMENTATION::TEST NAME)
735
                                                                           (COND
736
                                                                            ((IS-NAME ATN-PARSER::|item|)
737
                                                                             (SETF ATN-PARSER:*ATN-TERM* 'NAME)
738
                                                                             (SETF NAME
739
                                                                                     (IF (EQ ATN-PARSER:*ATN-REDUCE* T)
740
                                                                                         (ATN-PARSER:ATN-REDUCE-ITEM
741
                                                                                          #'|NAME-Constructor| ATN-PARSER::|item|)
742
                                                                                         (IF (EQ ATN-PARSER:*ATN-REDUCE* 'CONS)
743
                                                                                             (LIST 'NAME ATN-PARSER::|item|)
744
                                                                                             'NAME)))
745
                                                                             (|Member/Member.2.4| (1+ ATN-PARSER::INDEX)))
746
                                                                            (T (SETF ATN-PARSER:*ATN-TERM?* 'NAME)
747
                                                                             (|Member/fail.3| ATN-PARSER::INDEX)))))))
748
                                     (|Member/start.1| ATN-PARSER::INDEX)
749
                                     (SETF ATN-PARSER:*ATN-NODE NIL)
750
                                     NIL
751
                                     (IF ATN-PARSER::ATN-STRUCTURE
752
                                         (VALUES ATN-PARSER::ATN-STRUCTURE T NIL)
753
                                         (VALUES `((NIL . ,ATN-PARSER::INDEX)) NIL NIL))))))
754
        (WARN "recursive grammar: ~s @ position ~s: ~s" '|Member| ATN-PARSER::INDEX ATN-PARSER:*ATN-STACK))))
755
 (PROGN
756
  (DEFVAR |Value-INDEX|)
757
  (DEFUN |Value| (ATN-PARSER::INDEX &AUX (|Array| NIL) (|Literal| NIL) (NAME NIL) (NUMBER NIL) (|Object| NIL) (STRING NIL))
758
    "Value ::= (Literal | Object | Array | NUMBER | STRING | NAME)
759
 (DE.SETF.JSON::|Array| DE.SETF.JSON::|Literal| DE.SETF.JSON::NAME NUMBER
760
                        DE.SETF.JSON::|Object| STRING)"
761
    (DECLARE (SPECIAL |Value-INDEX|))
762
    (DECLARE (TYPE FIXNUM ATN-PARSER::INDEX |Value-INDEX| ATN-PARSER:*ATN-LEVEL))
763
    (DECLARE (OPTIMIZE (SPEED 3) (SAFETY 0)))
764
    (IF (< |Value-INDEX| ATN-PARSER::INDEX)
765
        (LET ((|Value-INDEX| ATN-PARSER::INDEX)
766
              (ATN-PARSER:*ATN-LEVEL (1+ ATN-PARSER:*ATN-LEVEL))
767
              (ATN-PARSER:*ATN-STACK (CONS '|Value| ATN-PARSER:*ATN-STACK))
768
              (ATN-PARSER::ATN-STRUCTURE NIL))
769
          (DECLARE (SPECIAL |Value-INDEX|))
770
          (DECLARE (DYNAMIC-EXTENT ATN-PARSER:*ATN-STACK))
771
          (DECLARE (TYPE CONS ATN-PARSER:*ATN-STACK))
772
          (SYMBOL-MACROLET ((ATN-PARSER::|item| (INPUT-REFERENCE ATN-PARSER::INDEX)))
773
            (ATN-PARSER:%ATN-BLOCK |Value|
774
                                   (LABELS ((ATN-PARSER::SUCCEED (ATN-PARSER::INDEX ATN-PARSER::RESULT)
775
                                              (SETF ATN-PARSER:*ATN-TERM* '|Value|)
776
                                              (PUSH (CONS ATN-PARSER::RESULT ATN-PARSER::INDEX) ATN-PARSER::ATN-STRUCTURE))
777
                                            (ATN-PARSER::FAIL (ATN-PARSER::INDEX)
778
                                              ATN-PARSER::INDEX)
779
                                            (|Value.2| (ATN-PARSER::INDEX)
780
                                              (ATN-PARSER:%ATN-NODE-BLOCK |Value.2|
781
                                                                          (ATN-PARSER:%ATN-EDGE-BLOCK (POP |Value|)
782
                                                                                                      (WHEN T
783
                                                                                                        (SETF ATN-PARSER:*ATN-TERM*
784
                                                                                                                '|Value|)
785
                                                                                                        (ATN-PARSER:%ATN-TRACE
786
                                                                                                         " [***/~a @ ~s reduce structure: ~a"
787
                                                                                                         '|Value| ATN-PARSER::INDEX
788
                                                                                                         (LIST '|Array| |Array|
789
                                                                                                               '|Literal| |Literal|
790
                                                                                                               'NAME NAME 'NUMBER
791
                                                                                                               NUMBER '|Object|
792
                                                                                                               |Object| 'STRING
793
                                                                                                               STRING))
794
                                                                                                        (LET ((ATN-PARSER::RESULT-STRUCTURE
795
                                                                                                               (IF (EQ
796
                                                                                                                    ATN-PARSER:*ATN-REDUCE*
797
                                                                                                                    T)
798
                                                                                                                   (|Value-Constructor|
799
                                                                                                                    |Array|
800
                                                                                                                    |Literal| NAME
801
                                                                                                                    NUMBER |Object|
802
                                                                                                                    STRING)
803
                                                                                                                   (IF (EQ
804
                                                                                                                        ATN-PARSER:*ATN-REDUCE*
805
                                                                                                                        'CONS)
806
                                                                                                                       (CONS
807
                                                                                                                        '|Value|
808
                                                                                                                        (DELETE NIL
809
                                                                                                                                (LIST
810
                                                                                                                                 |Array|
811
                                                                                                                                 |Literal|
812
                                                                                                                                 NAME
813
                                                                                                                                 NUMBER
814
                                                                                                                                 |Object|
815
                                                                                                                                 STRING)))
816
                                                                                                                       '|Value|))))
817
                                                                                                          (ATN-PARSER::SUCCEED
818
                                                                                                           ATN-PARSER::INDEX
819
                                                                                                           ATN-PARSER::RESULT-STRUCTURE))))))
820
                                            (|Value/fail.3| (ATN-PARSER::INDEX)
821
                                              (ATN-PARSER:%ATN-NODE-BLOCK |Value/fail.3|
822
                                                                          (PROGN (ATN-PARSER::FAIL ATN-PARSER::INDEX))))
823
                                            (|Value/start.1| (ATN-PARSER::INDEX)
824
                                              (ATN-PARSER:%ATN-NODE-BLOCK |Value/start.1|
825
                                                                          (ATN-PARSER:%ATN-EDGE-BLOCK OR
826
                                                                                                      (PROGN
827
                                                                                                       (ATN-PARSER:%ATN-EDGE-BLOCK
828
                                                                                                        (ATN-PARSER::CAT |Literal|)
829
                                                                                                        (COND
830
                                                                                                         ((|IS-Literal|
831
                                                                                                           ATN-PARSER::|item|)
832
                                                                                                          (SETF ATN-PARSER:*ATN-TERM*
833
                                                                                                                  '|Literal|)
834
                                                                                                          (SETF |Literal|
835
                                                                                                                  (IF (EQ
836
                                                                                                                       ATN-PARSER:*ATN-REDUCE*
837
                                                                                                                       T)
838
                                                                                                                      (ATN-PARSER:ATN-REDUCE-ITEM
839
                                                                                                                       #'|Literal-Constructor|
840
                                                                                                                       ATN-PARSER::|item|)
841
                                                                                                                      (IF (EQ
842
                                                                                                                           ATN-PARSER:*ATN-REDUCE*
843
                                                                                                                           'CONS)
844
                                                                                                                          (LIST
845
                                                                                                                           '|Literal|
846
                                                                                                                           ATN-PARSER::|item|)
847
                                                                                                                          '|Literal|)))
848
                                                                                                          (|Value.2|
849
                                                                                                           (1+ ATN-PARSER::INDEX)))
850
                                                                                                         (T
851
                                                                                                          (SETF ATN-PARSER:*ATN-TERM*
852
                                                                                                                  '|Literal|)
853
                                                                                                          NIL)))
854
                                                                                                       (ATN-PARSER:%ATN-EDGE-BLOCK
855
                                                                                                        (PUSH |Object|)
856
                                                                                                        (MULTIPLE-VALUE-BIND
857
                                                                                                            (ATN-PARSER::RESULT
858
                                                                                                             ATN-PARSER::SUCCESS)
859
                                                                                                            (ATN-PARSER:ATN-PARSE-SUBSTRUCTURE*
860
                                                                                                             '|Object|
861
                                                                                                             ATN-PARSER::INDEX)
862
                                                                                                          (COND
863
                                                                                                           (ATN-PARSER::SUCCESS
864
                                                                                                            (SETF ATN-PARSER:*ATN-TERM*
865
                                                                                                                    '|Object|)
866
                                                                                                            (LET ((ORG.DATAGRAPH.SPOCQ.IMPLEMENTATION::|Object61|
867
                                                                                                                   |Object|))
868
                                                                                                              (DOLIST
869
                                                                                                                  (ATN-PARSER::RESULT-AND-INDEX
870
                                                                                                                   ATN-PARSER::RESULT)
871
                                                                                                                (DESTRUCTURING-BIND
872
                                                                                                                    (
873
                                                                                                                     ATN-PARSER::RESULT . ATN-PARSER::RESULT-INDEX)
874
                                                                                                                    ATN-PARSER::RESULT-AND-INDEX
875
                                                                                                                  (WHEN
876
                                                                                                                      ATN-PARSER::RESULT
877
                                                                                                                    (SETF |Object|
878
                                                                                                                            ATN-PARSER::RESULT))
879
                                                                                                                  (|Value.2|
880
                                                                                                                   ATN-PARSER::RESULT-INDEX))
881
                                                                                                                (SETF |Object|
882
                                                                                                                        ORG.DATAGRAPH.SPOCQ.IMPLEMENTATION::|Object61|))))
883
                                                                                                           (T
884
                                                                                                            (SETF ATN-PARSER:*ATN-TERM?*
885
                                                                                                                    '|Object|)
886
                                                                                                            NIL))))
887
                                                                                                       (ATN-PARSER:%ATN-EDGE-BLOCK
888
                                                                                                        (PUSH |Array|)
889
                                                                                                        (MULTIPLE-VALUE-BIND
890
                                                                                                            (ATN-PARSER::RESULT
891
                                                                                                             ATN-PARSER::SUCCESS)
892
                                                                                                            (ATN-PARSER:ATN-PARSE-SUBSTRUCTURE*
893
                                                                                                             '|Array|
894
                                                                                                             ATN-PARSER::INDEX)
895
                                                                                                          (COND
896
                                                                                                           (ATN-PARSER::SUCCESS
897
                                                                                                            (SETF ATN-PARSER:*ATN-TERM*
898
                                                                                                                    '|Array|)
899
                                                                                                            (LET ((ORG.DATAGRAPH.SPOCQ.IMPLEMENTATION::|Array62|
900
                                                                                                                   |Array|))
901
                                                                                                              (DOLIST
902
                                                                                                                  (ATN-PARSER::RESULT-AND-INDEX
903
                                                                                                                   ATN-PARSER::RESULT)
904
                                                                                                                (DESTRUCTURING-BIND
905
                                                                                                                    (
906
                                                                                                                     ATN-PARSER::RESULT . ATN-PARSER::RESULT-INDEX)
907
                                                                                                                    ATN-PARSER::RESULT-AND-INDEX
908
                                                                                                                  (WHEN
909
                                                                                                                      ATN-PARSER::RESULT
910
                                                                                                                    (SETF |Array|
911
                                                                                                                            ATN-PARSER::RESULT))
912
                                                                                                                  (|Value.2|
913
                                                                                                                   ATN-PARSER::RESULT-INDEX))
914
                                                                                                                (SETF |Array|
915
                                                                                                                        ORG.DATAGRAPH.SPOCQ.IMPLEMENTATION::|Array62|))))
916
                                                                                                           (T
917
                                                                                                            (SETF ATN-PARSER:*ATN-TERM?*
918
                                                                                                                    '|Array|)
919
                                                                                                            NIL))))
920
                                                                                                       (ATN-PARSER:%ATN-EDGE-BLOCK
921
                                                                                                        (DE.SETF.UTILITY.IMPLEMENTATION::TEST
922
                                                                                                         NUMBER)
923
                                                                                                        (COND
924
                                                                                                         ((IS-NUMBER
925
                                                                                                           ATN-PARSER::|item|)
926
                                                                                                          (SETF ATN-PARSER:*ATN-TERM*
927
                                                                                                                  'NUMBER)
928
                                                                                                          (SETF NUMBER
929
                                                                                                                  (IF (EQ
930
                                                                                                                       ATN-PARSER:*ATN-REDUCE*
931
                                                                                                                       T)
932
                                                                                                                      (ATN-PARSER:ATN-REDUCE-ITEM
933
                                                                                                                       #'|NUMBER-Constructor|
934
                                                                                                                       ATN-PARSER::|item|)
935
                                                                                                                      (IF (EQ
936
                                                                                                                           ATN-PARSER:*ATN-REDUCE*
937
                                                                                                                           'CONS)
938
                                                                                                                          (LIST
939
                                                                                                                           'NUMBER
940
                                                                                                                           ATN-PARSER::|item|)
941
                                                                                                                          'NUMBER)))
942
                                                                                                          (|Value.2|
943
                                                                                                           (1+ ATN-PARSER::INDEX)))
944
                                                                                                         (T
945
                                                                                                          (SETF ATN-PARSER:*ATN-TERM?*
946
                                                                                                                  'NUMBER)
947
                                                                                                          NIL)))
948
                                                                                                       (ATN-PARSER:%ATN-EDGE-BLOCK
949
                                                                                                        (DE.SETF.UTILITY.IMPLEMENTATION::TEST
950
                                                                                                         STRING)
951
                                                                                                        (COND
952
                                                                                                         ((IS-STRING
953
                                                                                                           ATN-PARSER::|item|)
954
                                                                                                          (SETF ATN-PARSER:*ATN-TERM*
955
                                                                                                                  'STRING)
956
                                                                                                          (SETF STRING
957
                                                                                                                  (IF (EQ
958
                                                                                                                       ATN-PARSER:*ATN-REDUCE*
959
                                                                                                                       T)
960
                                                                                                                      (ATN-PARSER:ATN-REDUCE-ITEM
961
                                                                                                                       #'|STRING-Constructor|
962
                                                                                                                       ATN-PARSER::|item|)
963
                                                                                                                      (IF (EQ
964
                                                                                                                           ATN-PARSER:*ATN-REDUCE*
965
                                                                                                                           'CONS)
966
                                                                                                                          (LIST
967
                                                                                                                           'STRING
968
                                                                                                                           ATN-PARSER::|item|)
969
                                                                                                                          'STRING)))
970
                                                                                                          (|Value.2|
971
                                                                                                           (1+ ATN-PARSER::INDEX)))
972
                                                                                                         (T
973
                                                                                                          (SETF ATN-PARSER:*ATN-TERM?*
974
                                                                                                                  'STRING)
975
                                                                                                          NIL)))
976
                                                                                                       (ATN-PARSER:%ATN-EDGE-BLOCK
977
                                                                                                        (DE.SETF.UTILITY.IMPLEMENTATION::TEST
978
                                                                                                         NAME)
979
                                                                                                        (COND
980
                                                                                                         ((IS-NAME
981
                                                                                                           ATN-PARSER::|item|)
982
                                                                                                          (SETF ATN-PARSER:*ATN-TERM*
983
                                                                                                                  'NAME)
984
                                                                                                          (SETF NAME
985
                                                                                                                  (IF (EQ
986
                                                                                                                       ATN-PARSER:*ATN-REDUCE*
987
                                                                                                                       T)
988
                                                                                                                      (ATN-PARSER:ATN-REDUCE-ITEM
989
                                                                                                                       #'|NAME-Constructor|
990
                                                                                                                       ATN-PARSER::|item|)
991
                                                                                                                      (IF (EQ
992
                                                                                                                           ATN-PARSER:*ATN-REDUCE*
993
                                                                                                                           'CONS)
994
                                                                                                                          (LIST
995
                                                                                                                           'NAME
996
                                                                                                                           ATN-PARSER::|item|)
997
                                                                                                                          'NAME)))
998
                                                                                                          (|Value.2|
999
                                                                                                           (1+ ATN-PARSER::INDEX)))
1000
                                                                                                         (T
1001
                                                                                                          (SETF ATN-PARSER:*ATN-TERM?*
1002
                                                                                                                  'NAME)
1003
                                                                                                          NIL)))
1004
                                                                                                       (|Value/fail.3|
1005
                                                                                                        ATN-PARSER::INDEX))))))
1006
                                     (|Value/start.1| ATN-PARSER::INDEX)
1007
                                     (SETF ATN-PARSER:*ATN-NODE NIL)
1008
                                     NIL
1009
                                     (IF ATN-PARSER::ATN-STRUCTURE
1010
                                         (VALUES ATN-PARSER::ATN-STRUCTURE T NIL)
1011
                                         (VALUES `((NIL . ,ATN-PARSER::INDEX)) NIL NIL))))))
1012
        (WARN "recursive grammar: ~s @ position ~s: ~s" '|Value| ATN-PARSER::INDEX ATN-PARSER:*ATN-STACK))))
1013
 (SETF (GET '|Json| :PRODUCTION) "
1014
      Json ::= (Object | Array)")
1015
 (SETF (GET '|Object| :PRODUCTION) "
1016
      Object ::= '{' (Member (',' Member)*)? '}'")
1017
 (SETF (GET '|Array| :PRODUCTION) "
1018
      Array ::= '[' ValueList? ']'")
1019
 (SETF (GET '|ValueList| :PRODUCTION) "
1020
      ValueList ::= Value (',' ValueList)?")
1021
 (SETF (GET '|Member| :PRODUCTION) "
1022
      Member ::= NAME ':' Value")
1023
 (SETF (GET '|Value| :PRODUCTION) "
1024
      Value ::= (Literal | Object | Array | NUMBER | STRING | NAME)")
1025
 (DEFUN |Json-Parser|
1026
        (ATN-PARSER::*ATN-INPUT
1027
         &KEY ((:TRACE ATN-PARSER:*ATN-TRACE*) ATN-PARSER:*ATN-TRACE*)
1028
         ((:TRACE-NETS ATN-PARSER:*ATN-TRACE-NETS*) ATN-PARSER:*ATN-TRACE-NETS*)
1029
         ((:START-NAME ATN-PARSER::*ATN-START-NAME) 'ORG.DATAGRAPH.SPOCQ.IMPLEMENTATION::|Json|)
1030
         ((:MODE ATN-PARSER::*ATN-MODE) :MULTIPLE) ((:REDUCE ATN-PARSER:*ATN-REDUCE*) T)
1031
         ((:REGISTER-WORDS ATN-PARSER:*ATN-REGISTER-WORDS) NIL)
1032
         (ATN-PARSER::ATN-WFST (MAKE-ARRAY 8 :ADJUSTABLE T :ELEMENT-TYPE 'LIST :INITIAL-ELEMENT NIL) ATN-PARSER::AW-S)
1033
         &ALLOW-OTHER-KEYS
1034
         &AUX)
1035
   "// generated 2019.09.10T18:50:57.
1036
 
1037
 Json    ::= Object | Array
1038
 Object  ::= '{' ( Member ( ',' Member )* )? '}'
1039
 Array   ::= '[' ValueList ? ']'
1040
 ValueList ::= Value ( ',' ValueList )?
1041
 Member  ::= NAME ':' Value
1042
 Value   ::= Literal | Object | Array | NUMBER | STRING | NAME
1043
 Literal ::= 'false' | 'null' | 'true'
1044
 
1045
 "
1046
   (DECLARE (SPECIAL ATN-PARSER:*ATN-REDUCE* ATN-PARSER::*ATN-MODE ATN-PARSER::*ATN-INPUT))
1047
   (WHEN ATN-PARSER::AW-S (ATN-PARSER:|wfst-initialize| ATN-PARSER::ATN-WFST))
1048
   (LET ((ATN-PARSER:*ATN-LEVEL 0)
1049
         (ATN-PARSER:*ATN-WFST ATN-PARSER::ATN-WFST)
1050
         (ATN-PARSER:*ATN-STACK '(|Json-Parser|))
1051
         (ATN-PARSER:*ATN-NODE NIL)
1052
         (ATN-PARSER:*ATN-PROPERTIES NIL)
1053
         (ATN-PARSER:*ATN-CLASS NIL)
1054
         (|Json-INDEX| -1)
1055
         (|Object-INDEX| -1)
1056
         (|Array-INDEX| -1)
1057
         (|ValueList-INDEX| -1)
1058
         (|Member-INDEX| -1)
1059
         (|Value-INDEX| -1)
1060
         (ATN-PARSER::ATN-NET-NAMES '(|Json| |Object| |Array| |ValueList| |Member| |Value|)))
1061
     (DECLARE (SPECIAL |Json-INDEX| |Object-INDEX| |Array-INDEX| |ValueList-INDEX| |Member-INDEX| |Value-INDEX|))
1062
     (UNLESS (FIND ATN-PARSER::*ATN-START-NAME ATN-PARSER::ATN-NET-NAMES)
1063
       (ERROR "production not defined in system: ~s: ~s." ATN-PARSER::*ATN-START-NAME '|Json-Parser|))
1064
     (UNLESS (FBOUNDP ATN-PARSER::*ATN-START-NAME)
1065
       (ERROR "parse function missing: ~s: ~s." ATN-PARSER::*ATN-START-NAME '|Json-Parser|))
1066
     (HANDLER-BIND ((ATN-PARSER:CONTINUABLE-PARSER-ERROR #'(LAMBDA (CONDITION) (SIGNAL CONDITION)))
1067
                    (ATN-PARSER:TERMINAL-PARSER-ERROR
1068
                     #'(LAMBDA (CONDITION &AUX (ATN-PARSER::ACTION (ATN-PARSER:CONDITION-ACTION CONDITION)))
1069
                         (ETYPECASE ATN-PARSER::ACTION
1070
                           (NULL)
1071
                           (KEYWORD
1072
                            (ECASE ATN-PARSER::ACTION
1073
                              (:ABORT
1074
                               (WHEN ATN-PARSER:*ATN-TRACE*
1075
                                 (WARN "terminating parse on condition: ~a: Context ~s." CONDITION ATN-PARSER::*ATN-INPUT))
1076
                               (RETURN-FROM |Json-Parser| (VALUES NIL CONDITION NIL)))
1077
                              (:CONTINUE
1078
                               (WHEN ATN-PARSER:*ATN-TRACE*
1079
                                 (WARN "continuing parse with condition: ~a: Context ~s." CONDITION ATN-PARSER::*ATN-INPUT))
1080
                               (CONTINUE CONDITION))
1081
                              (:SIGNAL
1082
                               (WHEN ATN-PARSER:*ATN-TRACE*
1083
                                 (WARN "signaling parse condition: ~a: Context ~s." CONDITION ATN-PARSER::*ATN-INPUT))
1084
                               (SIGNAL CONDITION)
1085
                               (WHEN ATN-PARSER:*ATN-TRACE*
1086
                                 (WARN "continuing parse with condition: ~a: Context ~s." CONDITION ATN-PARSER::*ATN-INPUT))
1087
                               (CONTINUE CONDITION))))
1088
                           (FUNCTION (FUNCALL ATN-PARSER::ACTION)))))
1089
                    (ERROR #'(LAMBDA (CONDITION) (WHEN ATN-PARSER:*ATN-TRACE* (WARN "parse raised condition: ~a." CONDITION)) NIL)))
1090
       (MULTIPLE-VALUE-BIND (ATN-PARSER::RESULT ATN-PARSER::SUCCESS)
1091
           (ATN-PARSER:ATN-PARSE-SUBSTRUCTURE* ATN-PARSER::*ATN-START-NAME 0)
1092
         (COND
1093
          (ATN-PARSER::SUCCESS
1094
           (RETURN-FROM |Json-Parser|
1095
             (PROGN
1096
              (WHEN (CDR ATN-PARSER::RESULT)
1097
                (WHEN ATN-PARSER:*ATN-TRACE* (WARN "ambiguous results for term: ~s." ATN-PARSER::*ATN-START-NAME))
1098
                (SETF ATN-PARSER::RESULT (SORT ATN-PARSER::RESULT #'> :KEY #'REST)))
1099
              (DESTRUCTURING-BIND
1100
                  (ATN-PARSER::RESULT . ATN-PARSER::INDEX)
1101
                  (FIRST ATN-PARSER::RESULT)
1102
                (VALUES ATN-PARSER::RESULT ATN-PARSER::INDEX (INPUT-EOF? ATN-PARSER::INDEX))))))
1103
          (T (RETURN-FROM |Json-Parser| (VALUES NIL (REDUCE #'MAX ATN-PARSER::RESULT :KEY #'REST :INITIAL-VALUE 0) NIL))))))))