Working on my SPF library, I ran into a problem. I needed to validate a specific element, and the python code is a little hairy (it splits based on a large regexp, and it's tricky to convert to C).
So, I asked, and was told, maybe you should start from the RFC's grammar.
Ok. I am not much into grammars and parsers, but what the heck. So I check it. It's a ABNF grammar.
So, I look for the obvious thing: a ABNF parser generator.
There are very few of those, and none of them seems very solid, which is scary, because almost all the RFC's define everything in terms of ABNF (except for some that do worse, and define in prose. Did you know there is no formal, verifiable definition of what an Ipv6 address looks like?).
So, after hours of googling...
Anyone knows a good ABNF parser generator? I am trying with abnf2c but it's not strict enough (I am getting a parser that doesn't work).
Anyone knows why those very important documents that rule how most of us make a living/work/have fun are so ... hazy?