A nom-based ABNF parser.
Not thoroughly tested, but "works for me" (and with arguably complex ABNFs)
There are some experimental branches. The with_generic_node
branch uses an enum...
enum Node {
Alternation(Vec<Node>>),
Concatenation(Vec<Node>>),
...
}
...which may be more suitable when implementing transformations.
The master
branch is a direct transformation of RFC 5234 to code.