40 lines
947 B
Text
40 lines
947 B
Text
==========================================
|
|
recovers from top-level errors
|
|
==========================================
|
|
[}
|
|
---
|
|
(value (ERROR <EOF>) (ERROR '}'))
|
|
|
|
==========================================
|
|
recovers from unexpected tokens
|
|
==========================================
|
|
barf
|
|
---
|
|
(ERROR 'b')
|
|
|
|
==========================================
|
|
recovers from errors inside arrays
|
|
==========================================
|
|
[1, , 2]
|
|
---
|
|
(array
|
|
(number)
|
|
(ERROR <EOF>)
|
|
(number))
|
|
|
|
==========================================
|
|
recovers from errors inside objects
|
|
==========================================
|
|
{ "key1": 1, oops }
|
|
---
|
|
(object (string) (number) (ERROR 'o'))
|
|
|
|
==========================================
|
|
recovers from errors inside nested objects
|
|
==========================================
|
|
{ "key1": { "key2": 1, 2 }, [, "key3": 3 }
|
|
---
|
|
(object
|
|
(string) (object (string) (number) (ERROR '2'))
|
|
(ERROR '[')
|
|
(string) (number))
|