Is the sweet-expression BNF done?

I've posted an updated "sweet.g" file in the "develop" branch that looks pretty 
good to me.  It contains an executable BNF, as well as various support 
definitions.  ANTLR gives it a clean bill of health in LL(1) mode, which I 
think is valuable because it gives us a nice rigorous check.

A few points:
* Restart lists turn out to be really easy to spec and implement... it just 
took a little while to get there :-).  I strongly believe we should include 
them, because they cleanly solve two use cases I'm concerned about (long 
library definitions and short let variable statements), and they only require a 
few lines to implement.  In particular, the BNF requires only a few lines, and 
the support routines don't require much more (in fact, in a recursive descent 
parser the support routines are trivial).  I realize that's not an opinion 
universally held, but I hope that everyone else can live with their inclusion 
(if you CAN'T let us know!).  And if there's a better way, let us know that too.
* But should the *name* "restart list" continue?  Is "superlist" better?  Or 
something else?
* This recurses to t_expr if given just #!something on a line, as I posted 
before.  That should provide "least surprise".
* How should we handle FF/VT?  I'm currently claiming that lines with only 
FF/VT should be handled like ;-only lines, that is, completely ignored.  
Thoughts?

Any other thoughts?  Anything else I've forgotten?

 --- 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/learnnow-d2d
_______________________________________________
Readable-discuss mailing list
Readable-discuss@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/readable-discuss

Reply via email to