| Kind | Covered | All | % |
| expression | 576 | 1089 | 52.9 |
| branch | 28 | 86 | 32.6 |
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-FORM7 (AND ATN-PARSER::ITEM (OR (EQ ATN-PARSER::ITEM ':|false|) (EQ ATN-PARSER::ITEM ':|null|) (EQ ATN-PARSER::ITEM ':|true|)))))8 (PROGN9 (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 T35 (SETF ATN-PARSER:*ATN-TERM*36 '|Json|)37 (ATN-PARSER:%ATN-TRACE38 " [***/~a @ ~s reduce structure: ~a"39 '|Json| ATN-PARSER::INDEX40 (LIST '|Array| |Array|41 '|Object| |Object|))42 (LET ((ATN-PARSER::RESULT-STRUCTURE43 (IF (EQ44 ATN-PARSER:*ATN-REDUCE*45 T)46 (|Json-Constructor|47 |Array|48 |Object|)49 (IF (EQ50 ATN-PARSER:*ATN-REDUCE*51 'CONS)52 (CONS '|Json|53 (DELETE54 NIL55 (LIST56 |Array|57 |Object|)))58 '|Json|))))59 (ATN-PARSER::SUCCEED60 ATN-PARSER::INDEX61 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 OR68 (PROGN69 (ATN-PARSER:%ATN-EDGE-BLOCK70 (PUSH |Object|)71 (MULTIPLE-VALUE-BIND72 (ATN-PARSER::RESULT73 ATN-PARSER::SUCCESS)74 (ATN-PARSER:ATN-PARSE-SUBSTRUCTURE*75 '|Object|76 ATN-PARSER::INDEX)77 (COND78 (ATN-PARSER::SUCCESS79 (SETF ATN-PARSER:*ATN-TERM*80 '|Object|)81 (LET ((ORG.DATAGRAPH.SPOCQ.IMPLEMENTATION::|Object52|82 |Object|))83 (DOLIST84 (ATN-PARSER::RESULT-AND-INDEX85 ATN-PARSER::RESULT)86 (DESTRUCTURING-BIND87 (88 ATN-PARSER::RESULT . ATN-PARSER::RESULT-INDEX)89 ATN-PARSER::RESULT-AND-INDEX90 (WHEN91 ATN-PARSER::RESULT92 (SETF |Object|93 ATN-PARSER::RESULT))94 (|Json.2|95 ATN-PARSER::RESULT-INDEX))96 (SETF |Object|97 ORG.DATAGRAPH.SPOCQ.IMPLEMENTATION::|Object52|))))98 (T99 (SETF ATN-PARSER:*ATN-TERM?*100 '|Object|)101 NIL))))102 (ATN-PARSER:%ATN-EDGE-BLOCK103 (PUSH |Array|)104 (MULTIPLE-VALUE-BIND105 (ATN-PARSER::RESULT106 ATN-PARSER::SUCCESS)107 (ATN-PARSER:ATN-PARSE-SUBSTRUCTURE*108 '|Array|109 ATN-PARSER::INDEX)110 (COND111 (ATN-PARSER::SUCCESS112 (SETF ATN-PARSER:*ATN-TERM*113 '|Array|)114 (LET ((ORG.DATAGRAPH.SPOCQ.IMPLEMENTATION::|Array53|115 |Array|))116 (DOLIST117 (ATN-PARSER::RESULT-AND-INDEX118 ATN-PARSER::RESULT)119 (DESTRUCTURING-BIND120 (121 ATN-PARSER::RESULT . ATN-PARSER::RESULT-INDEX)122 ATN-PARSER::RESULT-AND-INDEX123 (WHEN124 ATN-PARSER::RESULT125 (SETF |Array|126 ATN-PARSER::RESULT))127 (|Json.2|128 ATN-PARSER::RESULT-INDEX))129 (SETF |Array|130 ORG.DATAGRAPH.SPOCQ.IMPLEMENTATION::|Array53|))))131 (T132 (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 NIL140 (IF ATN-PARSER::ATN-STRUCTURE141 (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 (PROGN145 (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 T171 (SETF ATN-PARSER:*ATN-TERM*172 '|Object|)173 (ATN-PARSER:%ATN-TRACE174 " [***/~a @ ~s reduce structure: ~a"175 '|Object| ATN-PARSER::INDEX176 (LIST '|Member| |Member|))177 (LET ((ATN-PARSER::RESULT-STRUCTURE178 (IF (EQ179 ATN-PARSER:*ATN-REDUCE*180 T)181 (|Object-Constructor|182 |Member|)183 (IF (EQ184 ATN-PARSER:*ATN-REDUCE*185 'CONS)186 (CONS187 '|Object|188 (DELETE NIL189 (LIST190 |Member|)))191 '|Object|))))192 (ATN-PARSER::SUCCEED193 ATN-PARSER::INDEX194 ATN-PARSER::RESULT-STRUCTURE))))))195 (|Object.8| (ATN-PARSER::INDEX)196 (ATN-PARSER:%ATN-NODE-BLOCK |Object.8|197 (ATN-PARSER:%ATN-EDGE-BLOCK198 (ATN-PARSER::JUMP |Object/Object.8.9|)199 (|Object/Object.8.9| ATN-PARSER::INDEX))200 (ATN-PARSER:%ATN-EDGE-BLOCK201 (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-BLOCK209 (ATN-PARSER::JUMP |Object/Object/Object.2.5.6|)210 (|Object/Object/Object.2.5.6| ATN-PARSER::INDEX))211 (ATN-PARSER:%ATN-EDGE-BLOCK212 (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 (COND218 ((EQ ATN-PARSER::|item| ':})219 (SETF ATN-PARSER:*ATN-TERM*220 ':})221 (|Object.2|222 (1+ ATN-PARSER::INDEX)))223 (T224 (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-BIND232 (ATN-PARSER::RESULT233 ATN-PARSER::SUCCESS)234 (ATN-PARSER:ATN-PARSE-SUBSTRUCTURE*235 '|Member|236 ATN-PARSER::INDEX)237 (COND238 (ATN-PARSER::SUCCESS239 (SETF ATN-PARSER:*ATN-TERM*240 '|Member|)241 (LET ((ORG.DATAGRAPH.SPOCQ.IMPLEMENTATION::|Member55|242 |Member|))243 (DOLIST244 (ATN-PARSER::RESULT-AND-INDEX245 ATN-PARSER::RESULT)246 (DESTRUCTURING-BIND247 (248 ATN-PARSER::RESULT . ATN-PARSER::RESULT-INDEX)249 ATN-PARSER::RESULT-AND-INDEX250 (WHEN251 ATN-PARSER::RESULT252 (SETF |Member|253 (CONS254 ATN-PARSER::RESULT255 |Member|)))256 (|Object.8|257 ATN-PARSER::RESULT-INDEX))258 (SETF |Member|259 ORG.DATAGRAPH.SPOCQ.IMPLEMENTATION::|Member55|))))260 (T261 (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 (COND268 ((EQ ATN-PARSER::|item|269 ':|,|)270 (SETF ATN-PARSER:*ATN-TERM*271 ':|,|)272 (|Object/Object.8.10|273 (1+ ATN-PARSER::INDEX)))274 (T275 (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-BIND282 (ATN-PARSER::RESULT283 ATN-PARSER::SUCCESS)284 (ATN-PARSER:ATN-PARSE-SUBSTRUCTURE*285 '|Member|286 ATN-PARSER::INDEX)287 (COND288 (ATN-PARSER::SUCCESS289 (SETF ATN-PARSER:*ATN-TERM*290 '|Member|)291 (LET ((ORG.DATAGRAPH.SPOCQ.IMPLEMENTATION::|Member56|292 |Member|))293 (DOLIST294 (ATN-PARSER::RESULT-AND-INDEX295 ATN-PARSER::RESULT)296 (DESTRUCTURING-BIND297 (298 ATN-PARSER::RESULT . ATN-PARSER::RESULT-INDEX)299 ATN-PARSER::RESULT-AND-INDEX300 (WHEN301 ATN-PARSER::RESULT302 (SETF |Member|303 (CONS304 ATN-PARSER::RESULT305 |Member|)))306 (|Object/Object/Object.2.5.7|307 ATN-PARSER::RESULT-INDEX))308 (SETF |Member|309 ORG.DATAGRAPH.SPOCQ.IMPLEMENTATION::|Member56|))))310 (T311 (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-BLOCK317 (ATN-PARSER::JUMP |Object/Object.8.9|)318 (|Object/Object.8.9| ATN-PARSER::INDEX))319 (ATN-PARSER:%ATN-EDGE-BLOCK320 (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 (COND326 ((EQ ATN-PARSER::|item| ':{)327 (SETF ATN-PARSER:*ATN-TERM*328 ':{)329 (|Object/Object.2.4|330 (1+ ATN-PARSER::INDEX)))331 (T332 (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 NIL339 (IF ATN-PARSER::ATN-STRUCTURE340 (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 (PROGN344 (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 T370 (SETF ATN-PARSER:*ATN-TERM*371 '|Array|)372 (ATN-PARSER:%ATN-TRACE373 " [***/~a @ ~s reduce structure: ~a"374 '|Array| ATN-PARSER::INDEX375 (LIST '|ValueList|376 |ValueList|))377 (LET ((ATN-PARSER::RESULT-STRUCTURE378 (IF (EQ379 ATN-PARSER:*ATN-REDUCE*380 T)381 (|Array-Constructor|382 |ValueList|)383 (IF (EQ384 ATN-PARSER:*ATN-REDUCE*385 'CONS)386 (CONS387 '|Array|388 (DELETE NIL389 (LIST390 |ValueList|)))391 '|Array|))))392 (ATN-PARSER::SUCCEED393 ATN-PARSER::INDEX394 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-BIND399 (ATN-PARSER::RESULT400 ATN-PARSER::SUCCESS)401 (ATN-PARSER:ATN-PARSE-SUBSTRUCTURE*402 '|ValueList|403 ATN-PARSER::INDEX)404 (COND405 (ATN-PARSER::SUCCESS406 (SETF ATN-PARSER:*ATN-TERM*407 '|ValueList|)408 (LET ((ORG.DATAGRAPH.SPOCQ.IMPLEMENTATION::|ValueList57|409 |ValueList|))410 (DOLIST411 (ATN-PARSER::RESULT-AND-INDEX412 ATN-PARSER::RESULT)413 (DESTRUCTURING-BIND414 (415 ATN-PARSER::RESULT . ATN-PARSER::RESULT-INDEX)416 ATN-PARSER::RESULT-AND-INDEX417 (WHEN418 ATN-PARSER::RESULT419 (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 (T426 (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 (COND434 ((EQ ATN-PARSER::|item| ':])435 (SETF ATN-PARSER:*ATN-TERM*436 ':])437 (|Array.2|438 (1+ ATN-PARSER::INDEX)))439 (T440 (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 (COND451 ((EQ ATN-PARSER::|item| ':[)452 (SETF ATN-PARSER:*ATN-TERM*453 ':[)454 (|Array/Array.2.4|455 (1+ ATN-PARSER::INDEX)))456 (T457 (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 NIL464 (IF ATN-PARSER::ATN-STRUCTURE465 (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 (PROGN469 (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 T495 (SETF ATN-PARSER:*ATN-TERM*496 '|ValueList|)497 (ATN-PARSER:%ATN-TRACE498 " [***/~a @ ~s reduce structure: ~a"499 '|ValueList|500 ATN-PARSER::INDEX501 (LIST '|Value| |Value|502 '|ValueList|503 |ValueList|))504 (LET ((ATN-PARSER::RESULT-STRUCTURE505 (IF (EQ506 ATN-PARSER:*ATN-REDUCE*507 T)508 (|ValueList-Constructor|509 |Value|510 |ValueList|)511 (IF (EQ512 ATN-PARSER:*ATN-REDUCE*513 'CONS)514 (CONS515 '|ValueList|516 (DELETE NIL517 (LIST518 |Value|519 |ValueList|)))520 '|ValueList|))))521 (ATN-PARSER::SUCCEED522 ATN-PARSER::INDEX523 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-BIND531 (ATN-PARSER::RESULT532 ATN-PARSER::SUCCESS)533 (ATN-PARSER:ATN-PARSE-SUBSTRUCTURE*534 '|Value|535 ATN-PARSER::INDEX)536 (COND537 (ATN-PARSER::SUCCESS538 (SETF ATN-PARSER:*ATN-TERM*539 '|Value|)540 (LET ((ORG.DATAGRAPH.SPOCQ.IMPLEMENTATION::|Value59|541 |Value|))542 (DOLIST543 (ATN-PARSER::RESULT-AND-INDEX544 ATN-PARSER::RESULT)545 (DESTRUCTURING-BIND546 (547 ATN-PARSER::RESULT . ATN-PARSER::RESULT-INDEX)548 ATN-PARSER::RESULT-AND-INDEX549 (WHEN550 ATN-PARSER::RESULT551 (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 (T558 (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-BLOCK565 (ATN-PARSER::JUMP |ValueList/ValueList.2.5|)566 (|ValueList/ValueList.2.5| ATN-PARSER::INDEX))567 (ATN-PARSER:%ATN-EDGE-BLOCK568 (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 (COND574 ((EQ ATN-PARSER::|item|575 ':|,|)576 (SETF ATN-PARSER:*ATN-TERM*577 ':|,|)578 (|ValueList/ValueList.2.6|579 (1+ ATN-PARSER::INDEX)))580 (T581 (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-BIND588 (ATN-PARSER::RESULT589 ATN-PARSER::SUCCESS)590 (ATN-PARSER:ATN-PARSE-SUBSTRUCTURE*591 '|ValueList|592 ATN-PARSER::INDEX)593 (COND594 (ATN-PARSER::SUCCESS595 (SETF ATN-PARSER:*ATN-TERM*596 '|ValueList|)597 (LET ((ORG.DATAGRAPH.SPOCQ.IMPLEMENTATION::|ValueList58|598 |ValueList|))599 (DOLIST600 (ATN-PARSER::RESULT-AND-INDEX601 ATN-PARSER::RESULT)602 (DESTRUCTURING-BIND603 (604 ATN-PARSER::RESULT . ATN-PARSER::RESULT-INDEX)605 ATN-PARSER::RESULT-AND-INDEX606 (WHEN607 ATN-PARSER::RESULT608 (SETF |ValueList|609 ATN-PARSER::RESULT))610 (|ValueList.2|611 ATN-PARSER::RESULT-INDEX))612 (SETF |ValueList|613 ORG.DATAGRAPH.SPOCQ.IMPLEMENTATION::|ValueList58|))))614 (T615 (SETF ATN-PARSER:*ATN-TERM?*616 '|ValueList|)617 NIL)))))))618 (|ValueList/start.1| ATN-PARSER::INDEX)619 (SETF ATN-PARSER:*ATN-NODE NIL)620 NIL621 (IF ATN-PARSER::ATN-STRUCTURE622 (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 (PROGN626 (DEFVAR |Member-INDEX|)627 (DEFUN |Member| (ATN-PARSER::INDEX &AUX (NAME NIL) (|Value| NIL))628 "Member ::= NAME ':' Value629 (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 T652 (SETF ATN-PARSER:*ATN-TERM*653 '|Member|)654 (ATN-PARSER:%ATN-TRACE655 " [***/~a @ ~s reduce structure: ~a"656 '|Member| ATN-PARSER::INDEX657 (LIST 'NAME NAME '|Value|658 |Value|))659 (LET ((ATN-PARSER::RESULT-STRUCTURE660 (IF (EQ661 ATN-PARSER:*ATN-REDUCE*662 T)663 (|Member-Constructor|664 NAME |Value|)665 (IF (EQ666 ATN-PARSER:*ATN-REDUCE*667 'CONS)668 (CONS669 '|Member|670 (DELETE NIL671 (LIST672 NAME673 |Value|)))674 '|Member|))))675 (ATN-PARSER::SUCCEED676 ATN-PARSER::INDEX677 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 (COND685 ((EQ ATN-PARSER::|item|686 ':|:|)687 (SETF ATN-PARSER:*ATN-TERM*688 ':|:|)689 (|Member/Member.2.5|690 (1+ ATN-PARSER::INDEX)))691 (T692 (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-BIND700 (ATN-PARSER::RESULT701 ATN-PARSER::SUCCESS)702 (ATN-PARSER:ATN-PARSE-SUBSTRUCTURE*703 '|Value|704 ATN-PARSER::INDEX)705 (COND706 (ATN-PARSER::SUCCESS707 (SETF ATN-PARSER:*ATN-TERM*708 '|Value|)709 (LET ((ORG.DATAGRAPH.SPOCQ.IMPLEMENTATION::|Value60|710 |Value|))711 (DOLIST712 (ATN-PARSER::RESULT-AND-INDEX713 ATN-PARSER::RESULT)714 (DESTRUCTURING-BIND715 (716 ATN-PARSER::RESULT . ATN-PARSER::RESULT-INDEX)717 ATN-PARSER::RESULT-AND-INDEX718 (WHEN719 ATN-PARSER::RESULT720 (SETF |Value|721 ATN-PARSER::RESULT))722 (|Member.2|723 ATN-PARSER::RESULT-INDEX))724 (SETF |Value|725 ORG.DATAGRAPH.SPOCQ.IMPLEMENTATION::|Value60|))))726 (T727 (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-BLOCK734 (DE.SETF.UTILITY.IMPLEMENTATION::TEST NAME)735 (COND736 ((IS-NAME ATN-PARSER::|item|)737 (SETF ATN-PARSER:*ATN-TERM* 'NAME)738 (SETF NAME739 (IF (EQ ATN-PARSER:*ATN-REDUCE* T)740 (ATN-PARSER:ATN-REDUCE-ITEM741 #'|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 NIL751 (IF ATN-PARSER::ATN-STRUCTURE752 (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 (PROGN756 (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 NUMBER760 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 T783 (SETF ATN-PARSER:*ATN-TERM*784 '|Value|)785 (ATN-PARSER:%ATN-TRACE786 " [***/~a @ ~s reduce structure: ~a"787 '|Value| ATN-PARSER::INDEX788 (LIST '|Array| |Array|789 '|Literal| |Literal|790 'NAME NAME 'NUMBER791 NUMBER '|Object|792 |Object| 'STRING793 STRING))794 (LET ((ATN-PARSER::RESULT-STRUCTURE795 (IF (EQ796 ATN-PARSER:*ATN-REDUCE*797 T)798 (|Value-Constructor|799 |Array|800 |Literal| NAME801 NUMBER |Object|802 STRING)803 (IF (EQ804 ATN-PARSER:*ATN-REDUCE*805 'CONS)806 (CONS807 '|Value|808 (DELETE NIL809 (LIST810 |Array|811 |Literal|812 NAME813 NUMBER814 |Object|815 STRING)))816 '|Value|))))817 (ATN-PARSER::SUCCEED818 ATN-PARSER::INDEX819 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 OR826 (PROGN827 (ATN-PARSER:%ATN-EDGE-BLOCK828 (ATN-PARSER::CAT |Literal|)829 (COND830 ((|IS-Literal|831 ATN-PARSER::|item|)832 (SETF ATN-PARSER:*ATN-TERM*833 '|Literal|)834 (SETF |Literal|835 (IF (EQ836 ATN-PARSER:*ATN-REDUCE*837 T)838 (ATN-PARSER:ATN-REDUCE-ITEM839 #'|Literal-Constructor|840 ATN-PARSER::|item|)841 (IF (EQ842 ATN-PARSER:*ATN-REDUCE*843 'CONS)844 (LIST845 '|Literal|846 ATN-PARSER::|item|)847 '|Literal|)))848 (|Value.2|849 (1+ ATN-PARSER::INDEX)))850 (T851 (SETF ATN-PARSER:*ATN-TERM*852 '|Literal|)853 NIL)))854 (ATN-PARSER:%ATN-EDGE-BLOCK855 (PUSH |Object|)856 (MULTIPLE-VALUE-BIND857 (ATN-PARSER::RESULT858 ATN-PARSER::SUCCESS)859 (ATN-PARSER:ATN-PARSE-SUBSTRUCTURE*860 '|Object|861 ATN-PARSER::INDEX)862 (COND863 (ATN-PARSER::SUCCESS864 (SETF ATN-PARSER:*ATN-TERM*865 '|Object|)866 (LET ((ORG.DATAGRAPH.SPOCQ.IMPLEMENTATION::|Object61|867 |Object|))868 (DOLIST869 (ATN-PARSER::RESULT-AND-INDEX870 ATN-PARSER::RESULT)871 (DESTRUCTURING-BIND872 (873 ATN-PARSER::RESULT . ATN-PARSER::RESULT-INDEX)874 ATN-PARSER::RESULT-AND-INDEX875 (WHEN876 ATN-PARSER::RESULT877 (SETF |Object|878 ATN-PARSER::RESULT))879 (|Value.2|880 ATN-PARSER::RESULT-INDEX))881 (SETF |Object|882 ORG.DATAGRAPH.SPOCQ.IMPLEMENTATION::|Object61|))))883 (T884 (SETF ATN-PARSER:*ATN-TERM?*885 '|Object|)886 NIL))))887 (ATN-PARSER:%ATN-EDGE-BLOCK888 (PUSH |Array|)889 (MULTIPLE-VALUE-BIND890 (ATN-PARSER::RESULT891 ATN-PARSER::SUCCESS)892 (ATN-PARSER:ATN-PARSE-SUBSTRUCTURE*893 '|Array|894 ATN-PARSER::INDEX)895 (COND896 (ATN-PARSER::SUCCESS897 (SETF ATN-PARSER:*ATN-TERM*898 '|Array|)899 (LET ((ORG.DATAGRAPH.SPOCQ.IMPLEMENTATION::|Array62|900 |Array|))901 (DOLIST902 (ATN-PARSER::RESULT-AND-INDEX903 ATN-PARSER::RESULT)904 (DESTRUCTURING-BIND905 (906 ATN-PARSER::RESULT . ATN-PARSER::RESULT-INDEX)907 ATN-PARSER::RESULT-AND-INDEX908 (WHEN909 ATN-PARSER::RESULT910 (SETF |Array|911 ATN-PARSER::RESULT))912 (|Value.2|913 ATN-PARSER::RESULT-INDEX))914 (SETF |Array|915 ORG.DATAGRAPH.SPOCQ.IMPLEMENTATION::|Array62|))))916 (T917 (SETF ATN-PARSER:*ATN-TERM?*918 '|Array|)919 NIL))))920 (ATN-PARSER:%ATN-EDGE-BLOCK921 (DE.SETF.UTILITY.IMPLEMENTATION::TEST922 NUMBER)923 (COND924 ((IS-NUMBER925 ATN-PARSER::|item|)926 (SETF ATN-PARSER:*ATN-TERM*927 'NUMBER)928 (SETF NUMBER929 (IF (EQ930 ATN-PARSER:*ATN-REDUCE*931 T)932 (ATN-PARSER:ATN-REDUCE-ITEM933 #'|NUMBER-Constructor|934 ATN-PARSER::|item|)935 (IF (EQ936 ATN-PARSER:*ATN-REDUCE*937 'CONS)938 (LIST939 'NUMBER940 ATN-PARSER::|item|)941 'NUMBER)))942 (|Value.2|943 (1+ ATN-PARSER::INDEX)))944 (T945 (SETF ATN-PARSER:*ATN-TERM?*946 'NUMBER)947 NIL)))948 (ATN-PARSER:%ATN-EDGE-BLOCK949 (DE.SETF.UTILITY.IMPLEMENTATION::TEST950 STRING)951 (COND952 ((IS-STRING953 ATN-PARSER::|item|)954 (SETF ATN-PARSER:*ATN-TERM*955 'STRING)956 (SETF STRING957 (IF (EQ958 ATN-PARSER:*ATN-REDUCE*959 T)960 (ATN-PARSER:ATN-REDUCE-ITEM961 #'|STRING-Constructor|962 ATN-PARSER::|item|)963 (IF (EQ964 ATN-PARSER:*ATN-REDUCE*965 'CONS)966 (LIST967 'STRING968 ATN-PARSER::|item|)969 'STRING)))970 (|Value.2|971 (1+ ATN-PARSER::INDEX)))972 (T973 (SETF ATN-PARSER:*ATN-TERM?*974 'STRING)975 NIL)))976 (ATN-PARSER:%ATN-EDGE-BLOCK977 (DE.SETF.UTILITY.IMPLEMENTATION::TEST978 NAME)979 (COND980 ((IS-NAME981 ATN-PARSER::|item|)982 (SETF ATN-PARSER:*ATN-TERM*983 'NAME)984 (SETF NAME985 (IF (EQ986 ATN-PARSER:*ATN-REDUCE*987 T)988 (ATN-PARSER:ATN-REDUCE-ITEM989 #'|NAME-Constructor|990 ATN-PARSER::|item|)991 (IF (EQ992 ATN-PARSER:*ATN-REDUCE*993 'CONS)994 (LIST995 'NAME996 ATN-PARSER::|item|)997 'NAME)))998 (|Value.2|999 (1+ ATN-PARSER::INDEX)))1000 (T1001 (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 NIL1009 (IF ATN-PARSER::ATN-STRUCTURE1010 (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-INPUT1027 &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-KEYS1034 &AUX)1035 "// generated 2019.09.10T18:50:57.1036 1037 Json ::= Object | Array1038 Object ::= '{' ( Member ( ',' Member )* )? '}'1039 Array ::= '[' ValueList ? ']'1040 ValueList ::= Value ( ',' ValueList )?1041 Member ::= NAME ':' Value1042 Value ::= Literal | Object | Array | NUMBER | STRING | NAME1043 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-ERROR1068 #'(LAMBDA (CONDITION &AUX (ATN-PARSER::ACTION (ATN-PARSER:CONDITION-ACTION CONDITION)))1069 (ETYPECASE ATN-PARSER::ACTION1070 (NULL)1071 (KEYWORD1072 (ECASE ATN-PARSER::ACTION1073 (:ABORT1074 (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 (:CONTINUE1078 (WHEN ATN-PARSER:*ATN-TRACE*1079 (WARN "continuing parse with condition: ~a: Context ~s." CONDITION ATN-PARSER::*ATN-INPUT))1080 (CONTINUE CONDITION))1081 (:SIGNAL1082 (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 (COND1093 (ATN-PARSER::SUCCESS1094 (RETURN-FROM |Json-Parser|1095 (PROGN1096 (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-BIND1100 (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))))))))