Closed hbina closed 1 year ago
@hbina thanks for keeping this open for reference for so long! the code base has changed quite a bit since the last activity here so I'm going to close this but I still think ebnf would be a very cool thing to see implemented!
Implementation of ISO 14977 compliant EBNF parser
Prior to this PR, this crate only supports BNF parser. It also didn't use lingos that align with EBNF. I needed something more "official" and also more powerful since EBNF contains more operators than just
defining-separator-symbol
.Admittedly, I am quite sure that BNF can do everything that EBNF can do. It just requires a bit manual work.
Another functionality that I wanted is the ability to validate a given string and not just generate them. I will leave that to another PR.
Note
definition_list
in something like(5 * {"abcde"} - "xyz") | "fghi";
we will get the followingsingle_definition
=>(5 * {"abcde"} - "xyz")
(with the space included). This should have been detected by the implicit whitespaces...