My re-implementation of sweet-expressions is getting closer to something 
useful.  It now passes the sweet-expression test suite; you can just run:
  SWEETNEW=new make check

To be fair, it manages that because I removed some of the tests :-).  In 
particular:
* I removed tests for lone abbreviations (like ') on a line, and lone period on 
a line just means a period.  (Whether or not that SHOULD be true is another 
question; please reply to the other thread on that topic.)
* I also removed support for "g(h)f(a)(c d)". That isn't a correctly-formed 
n-expression, and I think that should be detected as an error (because the "f" 
is not a valid n-expression tail). If you have 2 n-expressions, they should be 
separated by something (e.g., whitespace).

The re-implementation regenerates the code from "sweeten.sscm" without issue, 
too.  It *does* have a bug when processing letterfall, though. letterfall has a 
construct in main.sscm that (simplified) is:
car $ gettimeofday()

Pretty simple and straightforward.  Current unsweeten correctly implements this 
as:
  (car (gettimeofday))

But "SWEETNEW=new ./unsweeten" incorrectly implements that as:
  (car gettimeofday)

Sigh.  It turns out this is a bug in the BNF :-(, so the code is correctly 
implementing a bad spec.  I need to track down what's gone wrong.

 --- 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