On 1 Jan 2015, at 23:15, Runhang Li <marklrh@xxxxxxxxx> wrote:
Hi, guys
If I were permitted, can I get more details on this project? Is there any guideline on how we should start working on this project? What preparation work should I do? (maybe knowledge of ppx?)
Hi Mark,
This is an interesting but challenging project, since it requires thinking about both the nature of the parser you want to build (e.g. a combinator based one) and also the code generation technique used. It would also be very useful to speed up several parsing-intensive libraries such as Cohttp or DNS.
One possible way to prototype this quickly is to use staging in MetaOCaml to experiment with the code generation aspects without having to learn ppx/camlp4 and other such code generation tools. Jeremy Yallop recently showed me an implementation he did of a regular _expression_ compiler written in MetaOCaml that stages the automata compilation, and would be a good guideline to a parser generator as well. Jeremy: is this on GitHub anywhere?
See also the recent thread on the Caml list about IMAP parsing. Nicolas Ojeda Bar is still on vacation I believe, but when he's back soon he might have some opinions on good approaches for this project.
cheers Anil |