cvs: php-lang / c-like-syntax-spec.txt
[email protected] ("Sascha Schumann")
| Newsgroups | php.lang |
|---|---|
| Message-ID | <cvssas974908436@cvsserver> |
sas Wed Nov 22 07:53:56 2000 EDT
Modified files:
/php-lang c-like-syntax-spec.txt
Log:
Added define statement
Expanded colon-statement-list in place
Added foreach statement
Added endswitch construct to switch-statement
Added variable references to parameter-declaration
Index: php-lang/c-like-syntax-spec.txt
diff -u php-lang/c-like-syntax-spec.txt:1.5 php-lang/c-like-syntax-spec.txt:1.6
--- php-lang/c-like-syntax-spec.txt:1.5 Tue Nov 21 14:18:29 2000
+++ php-lang/c-like-syntax-spec.txt Wed Nov 22 07:53:56 2000
@@ -1,4 +1,4 @@
-# $Id: c-like-syntax-spec.txt,v 1.5 2000/11/21 22:18:29 sas Exp $
+# $Id: c-like-syntax-spec.txt,v 1.6 2000/11/22 15:53:56 sas Exp $
#
# See Language_Notation.txt for notation notes
@@ -17,6 +17,7 @@
output-statement
scope-statement
flow-statement
+ definition-statement
labeled-statement:
'case' constant ':' statement
@@ -46,7 +47,7 @@
'else' statement
else-colon-statement:
- 'else' colon-statement-list
+ 'else' ':' statement-list
elseif-list:
elseif-statement
@@ -61,6 +62,8 @@
iteration-statement:
'for' '(' [expression] ';' [expression] ';' [expression] ')' for-statement
'while' '(' expression ')' while-statement
+ 'foreach' '(' expression 'as' variable ')' foreach-statement
+ 'foreach' '(' expression 'as' variable '=>' variable ')' foreach-statement
jump-statement:
'continue' [expression] ';'
@@ -80,26 +83,31 @@
'exit' [exit-status] ';'
'die' [exit-status] ';'
+definition-statement:
+ 'define' '(' constant ',' constant ')' ';'
+
exit-status:
'(' [expression] ')'
for-statement:
statement
- colon-statement-list 'endfor' ';'
+ ':' statement-list 'endfor' ';'
while-statement:
statement
- colon-statement-list 'endwhile' ';'
-
-colon-statement-list:
- ':' statement-list
+ ':' statement-list 'endwhile' ';'
+foreach-statement:
+ statement
+ ':' statement-list 'endforeach' ';'
+
labeled-statement-list:
labeled-statement
labeled-statement-list labeled-statement
switch-statement:
'{' [labeled-statement-list] '}'
+ ':' [labeled-statement-list] 'endswitch' ';'
function-definition:
'function' function-declarator compound-statement
@@ -113,6 +121,7 @@
parameter-declaration:
variable
+ variable-reference
variable '=' constant
class-definition:
@@ -153,6 +162,9 @@
string-constant
interpolated-string
+variable-reference:
+ '&' variable
+
primary-expression:
variable
constant