I've been looking at parser generators recently in an effort to begin writing my own simple interpreted language.<p>My end goal is a self hosted language.<p>My first attempt was writing a recursive descent parser by hand: <a href="https://gist.github.com/cmcarey/eee1571721141c356d4f61b453a600f0" rel="nofollow">https://gist.github.com/cmcarey/eee1571721141c356d4f61b453a6...</a><p>This didn't work so well (badly structured as well as finding out my grammar was ambiguous after I'd written 600 lines of parser code).<p>Looking into alternative ways to write a parser, I've seen the usual yacc/bison/ANTLR type tools and relevant discussions here on HN.<p>Owl looks fantastic and probably exactly what I'm looking for. Fantastic interactive page where you enter the grammar and code and it shows a visual representation of the parse tree: <a href="https://ianh.github.io/owl/try/#example" rel="nofollow">https://ianh.github.io/owl/try/#example</a>
Unfortunate naming. This is not to be confused with OWL or OWL2:<p><a href="https://en.wikipedia.org/wiki/Web_Ontology_Language" rel="nofollow">https://en.wikipedia.org/wiki/Web_Ontology_Language</a>