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

Reply via email to