- This simplifies a number of definitions.
- This removes support for "#!" followed by newline, but there
was no real pressing need for it since #|...|# works portably.
- Create a new "ignorable" production that combines
scomment and DATUM_COMMENTW handling, for use in rules that
process lines after the initial head expression.
- This simplifies rules like "rest".
- This fixes a problem with post_period, which previously
didn't allow DATUM_COMMENTW in some later positions.
Now it can handle stuff like:
a7 b7 #; ignore1 . #; ignore2 c7 #; ignore3
- The way the grammar works, DATUM_COMMENTW can only be generated
outside (...), but that means we must directly handle it in a few
grammar rules (e.g., "rest" and "post_period").
- This version creates a whole new production to deal with
the rules after ".". This should make the head and rest
production handling of "." more consistent.
- Revert compromise "Beni-lite" experimental implementation, which
allowed partial dedents to close "$" but only when "$" was at the
end of the line.
- Clearly forbid "$" at the end of the line. This makes it clear that
they are forbidden. This will also make it easier to add Beni-lite
or the full Beni formulation later, since these are specifically
not allowed in the current formulation.
- The BNF had a subtle bug that hit when the right-hand-side
was a singleton list. When given:
car $ gettimeofday()
It incorrectly gave:
(car gettimeofday)
But it was supposed to give:
(car (gettimeofday))
The problem was an excess "monify" in the spec, now fixed.
- Now FF/VT must be on their own line, and they will terminate
any open it-expression, per a recommendation by John Cowan on the
readable-discuss mailing list dated Tue, 22 Jan 2013 11:37:08 -0500.
- A few other cleanups related to end-of-line to clarify things
- This version recurses to t_expr, instead of it_expr.
This means, for example, that initial indents work "as expected"
after special comments like #!sweet.
- Per discussion on the readable-discuss mailing list, remove
SUBLIST comment_eol (where SUBLIST is "$"). There's no significant
use case for it, and the consistency argument for it no longer applies.
Removing it makes the i_expr production simpler, and it also
provides an opportunity for some future functionality if one is
found later.