<PRIVATE
+! FIXME: key = 1234abcd # should error!
+
TUPLE: table name array? entries ;
TUPLE: entry key value ;
"[" token hide ,
whitespace hide ,
value-parser
- whitespace hide "," token whitespace hide 3seq list-of ,
+ whitespace "," token whitespace pack list-of ,
whitespace hide ,
"]" token hide ,
] seq* [ first { } like ] action ;
"{" token hide ,
whitespace hide ,
key-value-parser
- whitespace hide "," token whitespace hide 3seq list-of ,
+ whitespace "," token whitespace pack list-of ,
whitespace hide ,
"}" token hide ,
] seq* [ first >hashtable ] action ;
float-parser ,
integer-parser ,
string-parser ,
- [ array-parser ] box ,
- [ inline-table-parser ] box ,
+ array-parser ,
+ inline-table-parser ,
] choice*
] delay ;
: comment-parser ( -- parser )
[
- space ,
+ space hide ,
"#" token ,
[ CHAR: \n = not ] satisfy repeat0 ,
] seq* [ drop f ] action ;
begin token hide ,
space hide ,
name-parser
- space hide "." token space hide 3seq list-of
+ space "." token space pack list-of
[ { } like ] action ,
space hide ,
end token hide ,