From: Clark C . E. <cc...@cl...> - 2001-12-01 23:09:53
|
| ___first____: # [ { * & ! ' " | \ ? : , = - ^ @ % ] } | value ::= not [ { * & ! ' " | \ ^ @ % ] } | key ::= not # [ { * & ! ' " | \ ? : - ^ @ % ] } | series ::= not [ { * & ! ' " , ^ @ % ] } | keyed_key ::= not [ { * & ! ' " , = ^ @ % ] } | keyed_value ::= not [ { * & ! ' " , = ^ @ % ] } | | __internal__: # [ { * & ! ' " | \ ? : , = - ^ @ % ] } | value ::= not | key ::= not : | series ::= not , ] | keyed_key ::= not = } | keyed_value ::= not , } I don't quite grok what the chart above shows; in particular I'm confused about the distinction between "first" and "internal". To guess, interal is [inside here?] And in this case, since we wanted to allow matrixes, etc., I don't see why you need to specify a difference. example: [this, [ "is\nnested" ], {34:'!@#$%&*)('}, !time 12:20 ] | keyed: | this: 12:40 | that: [ 1=2, 1{3} ] | and: { 1,2 = 3=4, that = ugh! } I think this is ok. I think a few should be quoted: keyed: this: 12:40 that: [ '1=2', '1{3}' ] and: { '1,2' = '3,4', that = ugh! } | I suggest we do some serious simplification. What I'd like | to do is the following: | | ___first____: # [ { * & ! ' " | \ ? : , = - ^ @ % ] } | value/key ::= not # [ { * & ! ' " | \ ? N N ^ @ % ] } | in-line ::= not # [ { * & ! ' " | \ ? , = ^ @ % ] } | | __internal__: # [ { * & ! ' " | \ ? : , = - ^ @ % ] } | value/key ::= not N | in-line ::= not , = ] } | | (N)ote: I want to allow ':' and '-' everywhere as long as they are not | immediately followed by a white space character. This raises no ambiguity | and looks well in practice: I like making the mapping pair separator ": " and the sequence indicator "- ". That's cool. I still don't grok the difference bewtween first and internal. | keyed: | -12 : -12 | 12:40 : 12:40 | 12 : 40 | series: | - 12 | - -12 | - 12:40 | This works for me. Best, Clark |