cvs: php-lang / c-like-syntax-spec.txt

[email protected] ("Sascha Schumann")
Newsgroups php.lang
Message-ID <cvssas974506141@cvsserver>
sas		Fri Nov 17 16:09:01 2000 EDT

  Modified files:
    /php-lang	c-like-syntax-spec.txt 
  Log:
  Add scope-statement, fix switch-statement
  
  
Index: php-lang/c-like-syntax-spec.txt
diff -u php-lang/c-like-syntax-spec.txt:1.3 php-lang/c-like-syntax-spec.txt:1.4
--- php-lang/c-like-syntax-spec.txt:1.3	Fri Nov 17 15:40:50 2000
+++ php-lang/c-like-syntax-spec.txt	Fri Nov 17 16:09:00 2000
@@ -1,4 +1,4 @@
-# $Id: c-like-syntax-spec.txt,v 1.3 2000/11/17 23:40:50 sas Exp $
+# $Id: c-like-syntax-spec.txt,v 1.4 2000/11/18 00:09:00 sas Exp $
 #
 # See Language_Notation.txt for notation notes
 
@@ -15,6 +15,7 @@
     iteration-statement
     jump-statement
     output-statement
+    scope-statement
  
 labeled-statement:
     'case' constant ':' statement
@@ -34,7 +35,7 @@
   
 selection-statement:
     'if' '(' expression ')' if-statement
-    'switch' '(' expression ')' statement
+    'switch' '(' expression ')' switch-statement
 
 if-statement:
     statement [else-statement]
@@ -49,26 +50,31 @@
 elseif-list:
     elseif-statement
     elseif-list elseif-statement
-    
+
 elseif-statement:
     elseif '(' expression ')' statement
-    
+
 elseif: one of
     'elseif' 'else if'
-    
+
 iteration-statement:
     'for' '(' [expression] ';' [expression] ';' [expression] ')' for-statement
     'while' '(' expression ')' while-statement
 
 jump-statement:
-    'continue' ';'
-    'break' ';'
+    'continue' [expression] ';'
+    'break' [expression] ';'
     'return' [expression] ';'
 
 output-statement:
     'echo' expression-list ';'
     'print' expression ';'
-    
+
+scope-statement:
+    'global' variable-list ';'
+    'static' variable-list ';'
+    'unset' '(' variable-list ')' ';'
+
 for-statement:
     statement
     colon-statement-list 'endfor' ';'
@@ -80,8 +86,12 @@
 colon-statement-list:
     ':' statement-list
 
+labeled-statement-list:
+    labeled-statement
+    labeled-statement-list labeled-statement
+
 switch-statement:
-    '{' [labeled-statement] '}'
+    '{' [labeled-statement-list] '}'
 
 function-definition:
     'function' function-declarator compound-statement
@@ -119,6 +129,9 @@
     'var' variable ';'
     'var' variable '=' constant ';'
 
+variable-list:
+    variable
+    variable-list ',' variable
 
 expression-list:
     expression
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.