3 ms·
I too was also about to say the same. I was literally just working on a project with TatSu[1] in Python which contains language elements that are conditional b
by sixdimensional 4y ago
I too was also about to say the same.
I was literally just working on a project with TatSu[1] in Python which contains language elements that are conditional based on patterns in the syntax. I found that the added RegEx matching to EBNF-like syntax was quite powerful.
My only issue was the generated parser appeared to parse the entire content into memory rather than stream parsing.
I haven’t read enough on ixml yet, but, while it seems like while it would unlock many existing toolkits (I never hated XML but went away from it as the industry did), it seems like parsing through an XML format should be done in a stream mapping fashion, and not persisting data, for the XML to be truly “invisible”.
Adding the overhead of XML back into the processing chain… hmm, honestly have to think if the value of accessing the data and XML toolchain is worth it.
I’d almost rather see something that can read any input as a stream with a grammar and produce a stream (that can be materialized) of more optimized, yet open format, that can be compressed but handle complex types.. like protobufs, or flatbuffers. I’m not sure that humans need to read raw data files so long as we have great and open tooling to view data in binary formats (iirc, the biggest argument against XML and the added overhead originally).
[1] https://tatsu.readthedocs.io/en/stable/index.html https://tatsu.readthedocs.io/en/stable/index.html