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
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.