com php-langspec: Restrict LHS of assignments to variable: spec/10-expressions.md spec/19-grammar.md

[email protected] (Nikita Popov) Tue, 15 Nov 2016 21:29:10 +0000
Newsgroups php.standards.cvs
Message-ID <[email protected]>
Commit:    9c1e9d1aa1de4f1f82498ab210095d3a76e2521d=0AAuthor:    Nikita Pop=
ov <[email protected]>         Tue, 15 Nov 2016 22:29:10 +0100=0AParents:   4bc=
7c825be72d52b3b4ecace46828d16c69ce7b1=0ABranches:  master=0A=0ALink:       =
http://git.php.net/?p=3Dphp-langspec.git;a=3Dcommitdiff;h=3D9c1e9d1aa1de4f1=
f82498ab210095d3a76e2521d=0A=0ALog:=0ARestrict LHS of assignments to variab=
le=0A=0AChanged paths:=0A  M  spec/10-expressions.md=0A  M  spec/19-grammar=
.md=0A=0A=0ADiff:=0Adiff --git a/spec/10-expressions.md b/spec/10-expressio=
ns.md=0Aindex bd022a4..55891de 100644=0A--- a/spec/10-expressions.md=0A+++ =
b/spec/10-expressions.md=0A@@ -2882,12 +2882,14 @@ These operators associat=
e right-to-left.=0A =0A <pre>=0A   <i>simple-assignment-expression:</i>=0A-=
    <i>unary-expression</i>  =3D  <i>assignment-expression</i>=0A+    <i>va=
riable</i>  =3D  <i>assignment-expression</i>=0A+    <i>list-intrinsic</i> =
 =3D  <i>assignment-expression</i>=0A </pre>=0A =0A **Defined elsewhere**=
=0A =0A-* [*unary-expression*](#general-4)=0A+* [*variable*](#variables)=0A=
+* [*list-intrinsic*](#list)=0A * [*assignment-expression*](#general-5)=0A =
=0A **Constraints**=0A@@ -2950,18 +2952,16 @@ $a =3D new C; // make $a poin=
t to the allocated object=0A =0A <pre>=0A   <i>byref-assignment-expression:=
</i>=0A-    <i>unary-expression</i>  =3D  &  <i>assignment-expression</i>=
=0A+    <i>variable</i>  =3D  &  <i>assignment-expression</i>=0A </pre>=0A =
=0A **Defined elsewhere**=0A =0A-* [*unary-expression*](#general-4)=0A+* [*=
variable*](#variables)=0A * [*assignment-expression*](#general-5)=0A =0A **=
Constraints**=0A =0A-*unary-expression* must designate a variable.=0A-=0A *=
assignment-expression* must be an lvalue or a call to a function that=0A re=
turns a value byRef.=0A =0A@@ -2994,7 +2994,7 @@ $b =3D& g2();     // make =
$b an alias to "xxx"=0A =0A <pre>=0A   <i>compound-assignment-expression:</=
i>=0A-    <i>unary-expression   compound-assignment-operator   assignment-e=
xpression</i>=0A+    <i>variable   compound-assignment-operator   assignmen=
t-expression</i>=0A =0A   <i>compound-assignment-operator: one of</i>=0A   =
  **=3D  *=3D  /=3D  %=3D  +=3D  -=3D  .=3D  <<=3D  >>=3D  &=3D  ^=3D  |=3D=
=0A@@ -3002,7 +3002,7 @@ $b =3D& g2();     // make $b an alias to "xxx"=0A =
=0A **Defined elsewhere**=0A =0A-* [*unary-expression*](#general-4)=0A+* [*=
variable*](#variables)=0A * [*assignment-expression*](#general-5)=0A =0A **=
Constraints**=0Adiff --git a/spec/19-grammar.md b/spec/19-grammar.md=0Ainde=
x 493f364..beb6cf5 100644=0A--- a/spec/19-grammar.md=0A+++ b/spec/19-gramma=
r.md=0A@@ -673,13 +673,14 @@ The grammar notation is described in [Grammars=
 section](09-lexical-structure.md#=0A     <i>compound-assignment-expression=
</i>=0A =0A   <i>simple-assignment-expression:</i>=0A-    <i>unary-expressi=
on</i>  =3D  <i>assignment-expression</i>=0A+    <i>variable</i>  =3D  <i>a=
ssignment-expression</i>=0A+    <i>list-intrinsic</i>  =3D  <i>assignment-e=
xpression</i>=0A =0A   <i>byref-assignment-expression:</i>=0A-    <i>unary-=
expression</i>  =3D  &  <i>assignment-expression</i>=0A+    <i>variable</i>=
  =3D  &  <i>assignment-expression</i>=0A =0A   <i>compound-assignment-expr=
ession:</i>=0A-    <i>unary-expression   compound-assignment-operator   ass=
ignment-expression</i>=0A+    <i>variable   compound-assignment-operator   =
assignment-expression</i>=0A =0A   <i>compound-assignment-operator: one of<=
/i>=0A     **=3D  *=3D  /=3D  %=3D  +=3D  -=3D  .=3D  <<=3D  >>=3D  &=3D  ^=
=3D  |=3D=0A