DOC@[0; 40) ENTRY@[0; 6) KEY@[0; 1) BARE_KEY@[0; 1) "a" WHITESPACE@[1; 2) EQ@[2; 3) "=" WHITESPACE@[3; 4) VALUE@[4; 6) DICT@[4; 6) L_CURLY@[4; 5) "{" R_CURLY@[5; 6) "}" WHITESPACE@[6; 7) ENTRY@[7; 18) KEY@[7; 8) BARE_KEY@[7; 8) "b" WHITESPACE@[8; 9) EQ@[9; 10) "=" WHITESPACE@[10; 11) VALUE@[11; 18) DICT@[11; 18) L_CURLY@[11; 12) "{" ENTRY@[12; 17) KEY@[12; 15) BARE_KEY@[12; 15) "foo" EQ@[15; 16) "=" VALUE@[16; 17) NUMBER@[16; 17) "1" R_CURLY@[17; 18) "}" WHITESPACE@[18; 19) ENTRY@[19; 31) KEY@[19; 20) BARE_KEY@[19; 20) "c" WHITESPACE@[20; 21) EQ@[21; 22) "=" WHITESPACE@[22; 23) VALUE@[23; 31) DICT@[23; 31) L_CURLY@[23; 24) "{" ENTRY@[24; 29) KEY@[24; 27) BARE_KEY@[24; 27) "foo" EQ@[27; 28) "=" VALUE@[28; 29) NUMBER@[28; 29) "1" COMMA@[29; 30) "," R_CURLY@[30; 31) "}" WHITESPACE@[31; 32) ENTRY@[32; 40) KEY@[32; 33) BARE_KEY@[32; 33) "d" WHITESPACE@[33; 34) EQ@[34; 35) "=" WHITESPACE@[35; 36) VALUE@[36; 40) DICT@[36; 40) L_CURLY@[36; 37) "{" ENTRY@[37; 40) KEY@[37; 38) ERROR@[37; 38) COMMA@[37; 38) "," ERROR@[38; 39) R_CURLY@[38; 39) "}" WHITESPACE@[39; 40) KEY@[40; 40) VALUE@[40; 40) error@[37; 38) ",": expected a key error@[38; 39) "}": expected `.` error@[39; 40) "\n": expected a key error@[39; 40) "\n": expected `=` error@[39; 40) "\n": expected a value error@[39; 40) "\n": expected `,` error@[39; 40) "\n": expected `}` error@[37; 40) ",}\n": newlines are forbidden in entries