You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I came from the DNS server blog post, which mentions that you use ocamlyacc as a parser, and that pull requests to improve the parser are welcome.
I wonder if you considered using Menhir as a parser? (Is there a blocker related to adding extra dependencies?) In my experience Menhir results in more readable parsers (thanks in particular to the ability to name symbols instead of using $n), and I could send a conversion PR.
The text was updated successfully, but these errors were encountered:
yes, I've heard good things about menhir (including the possibility of nicer error messages). In terms of dependencies, I think it is fine. The current parser (in the zone subdirectory) was inherited from the original ocaml-dns (from 2005), and changing it to menhir would be great. Our dhcp server uses menhir as well, thus it will work in a MirageOS environment. Thanks.
EDIT Disclaimer: I usually find working on text-based parsers tiring and tedious, thus I avoid it.
Menhir gives the possibility of nicer error messages, but currently it takes work from the grammar author to achieve this, it is not a consequence of the switch. (I would say that it take an hour of work for a small grammar, and several hours to a day for a medium-complexity grammar. We don't know how to make the current approach scale to larger grammars.)
I came from the DNS server blog post, which mentions that you use ocamlyacc as a parser, and that pull requests to improve the parser are welcome.
I wonder if you considered using Menhir as a parser? (Is there a blocker related to adding extra dependencies?) In my experience Menhir results in more readable parsers (thanks in particular to the ability to name symbols instead of using
$n
), and I could send a conversion PR.The text was updated successfully, but these errors were encountered: