On Mon, Jan 04, 2010 at 08:25:06 -0500, Jamie McCracken wrote:
> On Mon, 2010-01-04 at 02:07 -0500, Arc Riley wrote:
> > A syntax quirk that I found a bit obnoxious:
> > 
> >   const entries : array of OptionEntry = { \
> >     { "config", 'c', OptionFlags.IN_MAIN, \
> >       OptionArg.FILENAME, ref config, \
> >       "Use alternative configuration", "FILE" }, \
> >     { "license", 'L', OptionFlags.IN_MAIN, \
> >       OptionArg.NONE, ref license, \
> >       "Print software license and exit", null }, \
> >     { "version", 'V', OptionFlags.IN_MAIN, \
> >       OptionArg.NONE, ref version, \
> >       "Print version information and exit", null }, \
> >     {null} }
> > 
> > The \ shouldn't be needed inside {}, but valac reports an error of
> > unexpected indentation(etc) without it.  Is there a way to do this without
> > escaping the line breaks or can we get this improved for the next valac
> > release?
> 
> Im working on improving that as it really is fugly like that - I hope to
> have something committed this week
> 
> most likely we will allow lines ending in comma or open curly brace to
> act as line continuations 

The python way is to ignore all line-breaks when any kind of parenthesis ((),
[] or {}) is open. IMO it would be the sanest one and cover most cases.

Alternatively, you the Lua way is IIRC ignoring newlines when they are not in
the follow set, i.e. whenever they are not expected by the parser and would
cause an error otherwise. That automatically covers the open parenthesis case
(since a statement can't end with imbalanced parenthesis) as well as ending
with a binary operator. The disadvantage is obviously that making the parser
leaner makes it detect errors later and thus harder to understand.

-- 
                                                 Jan 'Bulb' Hudec <[email protected]>
_______________________________________________
Vala-list mailing list
[email protected]
http://mail.gnome.org/mailman/listinfo/vala-list

Reply via email to