[x] PROT[mod:Fe[III]]EOFORM
Nested brackets need to considered for the fairly common case that they are within descriptors.
Unclosed brackets
[x] PROT[info:jk :] lol]EOFORM
I don't think handling unclosed brackets is worth it, so I'd suggest throwing parsing and writing errors if the number of [ doesn't match that of ].
Back-to-back unclosed brackets
[ ] PROT[info:jk :] [: lol]EOFORM
[ ] PROT[info:unclosed][brackets]EOFORM
[ ] PROT[info:Unclosed]B[rackets]EOFORM
These are wacky, considering back-to-back unclosed brackets within descriptors. These will lead to unexpected behavior because we assume closed brackets are tags. We should consider making a writer exception if the user tries to write these types of unclosed brackets in descriptors.
Nested brackets
PROT[mod:Fe[III]]EOFORM
Nested brackets need to considered for the fairly common case that they are within descriptors.Unclosed brackets
PROT[info:jk :] lol]EOFORM
I don't think handling unclosed brackets is worth it, so I'd suggest throwing parsing and writing errors if the number of[
doesn't match that of]
.Back-to-back unclosed brackets
PROT[info:jk :] [: lol]EOFORM
PROT[info:unclosed][brackets]EOFORM
PROT[info:Unclosed]B[rackets]EOFORM
These are wacky, considering back-to-back unclosed brackets within descriptors. These will lead to unexpected behavior because we assume closed brackets are tags. We should consider making a writer exception if the user tries to write these types of unclosed brackets in descriptors.