Niklas Ulvinge : > I have not really followed this discussion, but here is a tip: > http://bnfc.digitalgrammars.com/ > > It seams to support the following languages: > Haskell, Ocaml, Java, C, C++, > > Transforming code from a functional language to Scheme seams easier than > transforming from a non-functional language. > > I do not know if it does what you need though.
Thanks. The list of parser generators is huge, but I don't think this is what we want. I want to make sure that the language being defined can be implemented using a simple recursive descent parser. We can prove that by using a tool that supports LL(1). ANTLR can do that; I'm using ANTLR with k=1 to prove this (ANTLR can do more, but I don't want it to). Once we're confident it's LL(1), it's pretty easy to implement a parser by hand, or use a parser generator, whatever you want. In contrast, BNFC seems to support LALR. If I were doing LALR, I'd probably just use bison; I'm quite familiar with it, as are many other people. LALR supports some constructs more easily than LL, but since we're trying to ensure that the language is simple, intentionally choosing LL(1) will help us get there. --- David A. Wheeler ------------------------------------------------------------------------------ Master Visual Studio, SharePoint, SQL, ASP.NET, C# 2012, HTML5, CSS, MVC, Windows 8 Apps, JavaScript and much more. Keep your skills current with LearnDevNow - 3,200 step-by-step video tutorials by Microsoft MVPs and experts. ON SALE this month only -- learn more at: http://p.sf.net/sfu/learnmore_122712 _______________________________________________ Readable-discuss mailing list Readable-discuss@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/readable-discuss