My code version is not complete, as the references changed when you include
the optional_type.
It shouldn't be hard to change though... like $$ = $3 and also hold $2
somewhere.

On Thu, Mar 31, 2016 at 2:09 PM, Zeev Suraski <z...@zend.com> wrote:

>
> > On 31 במרץ 2016, at 20:48, "guilhermebla...@gmail.com" <
> guilhermebla...@gmail.com> wrote:
> >
> > To me it's simply as that:
> >
> >
> > class_statement:
> >        variable_modifiers optional_type property_list ';' { $$ = $2;
> > $$->attr = $1 }
> >    |   ...
> >
> > property_list:
> >        property_list ',' property { $$ = zend_ast_list_add($1, $3); }
> >    |   property { $$ = zend_ast_create_list(1, ZEND_AST_PROP_DECL, $1); }
> > ;
> >
> >
> > I think this makes the concept more palatable compared to others and
> other
> > languages (single type declaration per statement).
> >
>
> Exactly (code version).
>
> >> Honestly I never even realized that you could put multiple declarations
> on
> >> a single line, have never done so, and would reject code from any of my
> >> projects that did so as poor style. :-)  That said, since it is legal I
> >> agree that it should be kept unambiguous and consistent.
> >>
> >> From what Zeev is saying, the following seems like a reasonable rule:
> You
> >> get ONE visibility modifier and ONE type statement per declaration, and
> >> both must come at the beginning, period.  That is, the following are
> legal:
> >>
> >> public int $a, $b;
> >> protected $a, $b;
> >> var int $a, $b;
> >>
> >> And always apply across the entire line, period.
> >>
> >> The following are all syntax errors:
> >>
> >> public int $a, string $b;
> >> var int $a, protected $b;
> >> private $a, float $b;
> >>
> >> That seems fairly easy for a reader to follow, reasonably consistent,
> and
> >> I presume straightforward to implement (not being a C developer I
> hand-wave
> >> that part...).  If you want to do something more complex... make it
> >> multiple statements.  That's why multiple statements exist.
> >>
> >> Zeev, is that an accurate summary of what you're arguing?
> >>
>
> Exactly (human version :)
>
> Zeev
>



-- 
Guilherme Blanco
MSN: guilhermebla...@hotmail.com
GTalk: guilhermeblanco
Toronto - ON/Canada

Reply via email to