nitpick, but:

> body returns [Object v] : i_expr
>   (same body1=body {$v = cons($i_expr.v, $body1.v);}
>    | dedent        {$v = list($i_expr.v);} ) ;

The "i_expr" there looks like it's hiding, so I suggest the maybe-clearer:

> body returns [Object v] :
>   i_expr
>   (same body1=body {$v = cons($i_expr.v, $body1.v);}
>    | dedent        {$v = list($i_expr.v);} ) ;

(if ANTLR allows it, anyway)

Sincerely,
AmkG

On 1/11/13, David A. Wheeler <dwhee...@dwheeler.com> wrote:
> For completeness, here's the current (and trivial) "body" production.
> Comments welcome, though I can't imagine what they'd be.
>
> This production collects child lines of a parent line until it sees the
> concluding dedent.  It's only triggered when there are child lines at all
> (i_expr doesn't call body unless there's an "indent").  Practically all the
> real work is done by its recursing back to i_expr.
>
> The "same" non-terminal doesn't really do anything, it's just a reminder
> that each child has to have the same indentation (which must, by definition,
> be longer than its parents').
>
>  --- David A. Wheeler
>
>
> ================================================
>
> // "body" handles the sequence of 1+ child lines in an i_expr
> // (e.g., after a "head"), each of which is itself an i_expr.
> // It returns the list of expressions in the body.
> // Note that an i-expr will consume any line comments or hspaces
> // before it returns back to the "body" production.
> // Non-tokenizing implementation notes:
> // Note that i_expr will consume any line comments (line comments after
> // content, as well as lines that just contain indents and comments).
> // Note also that i-expr may set the the current indent to a different
> value
> // than the indent used on entry to body; the latest indent is compared by
> // the special terminals DEDENT and BADDENT.
>
> body returns [Object v] : i_expr
>   (same body1=body {$v = cons($i_expr.v, $body1.v);}
>    | dedent        {$v = list($i_expr.v);} ) ;
>
>
> ------------------------------------------------------------------------------
> Master HTML5, CSS3, ASP.NET, MVC, AJAX, Knockout.js, Web API and
> much more. Get web development skills now with LearnDevNow -
> 350+ hours of step-by-step video tutorials by Microsoft MVPs and experts.
> SALE $99.99 this month only -- learn more at:
> http://p.sf.net/sfu/learnmore_122812
> _______________________________________________
> Readable-discuss mailing list
> Readable-discuss@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/readable-discuss
>

------------------------------------------------------------------------------
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. SALE $99.99 this month only -- learn more at:
http://p.sf.net/sfu/learnmore_122412
_______________________________________________
Readable-discuss mailing list
Readable-discuss@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/readable-discuss

Reply via email to