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