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

From: Date: Tue, 21 Nov 2000 22:18:29 +0000
Subject: cvs: php-lang / c-like-syntax-spec.txt
Groups: php.lang 
Request: Send a blank email to php-lang+get-76@lists.php.net to get a copy of this message
sas Tue Nov 21 14:18:29 2000 EDT Modified files: /php-lang c-like-syntax-spec.txt Log: Add flow statements (die, exit) Add operators Clean up primary-/postfix-expressions Add casts Index: php-lang/c-like-syntax-spec.txt diff -u php-lang/c-like-syntax-spec.txt:1.4 php-lang/c-like-syntax-spec.txt:1.5 --- php-lang/c-like-syntax-spec.txt:1.4 Fri Nov 17 16:09:00 2000 +++ php-lang/c-like-syntax-spec.txt Tue Nov 21 14:18:29 2000 @@ -1,4 +1,4 @@ -# $Id: c-like-syntax-spec.txt,v 1.4 2000/11/18 00:09:00 sas Exp $ +# $Id: c-like-syntax-spec.txt,v 1.5 2000/11/21 22:18:29 sas Exp $ # # See Language_Notation.txt for notation notes @@ -16,6 +16,7 @@ jump-statement output-statement scope-statement + flow-statement labeled-statement: 'case' constant ':' statement @@ -75,6 +76,13 @@ 'static' variable-list ';' 'unset' '(' variable-list ')' ';' +flow-statement: + 'exit' [exit-status] ';' + 'die' [exit-status] ';' + +exit-status: + '(' [expression] ')' + for-statement: statement colon-statement-list 'endfor' ';' @@ -145,20 +153,122 @@ string-constant interpolated-string -postfix-expression: +primary-expression: variable + constant + string-literal + '(' expression ')' + +postfix-expression: primary-expression postfix-expression '[' expression ']' postfix-expression '->' '{' expression '}' postfix-expression '->' identifier - identifier '(' [expression-list] ')' postfix-expression '.' expression + postfix-expression '++' + postfix-expression '--' + identifier '(' [expression-list] ')' -primary-expression: - constant - string-literal - '(' expression ')' +unary-expression: + postfix-expression + '++' unary-expression + '--' unary-expression + unary-operator cast-expression + +unary-operator: one of + '&' '*' '+' '-' '~' '!' + +cast-expression: + unary-expression + '(' type-name ')' expression + +# start of genoplist output + +multiplicative-expression: + cast-expression + multiplicative-expression '*' cast-expression + multiplicative-expression '/' cast-expression + multiplicative-expression '%' cast-expression + +concatenation-expression: + multiplicative-expression + concatenation-expression '.' multiplicative-expression + +additive-expression: + concatenation-expression + additive-expression '+' concatenation-expression + additive-expression '-' concatenation-expression + +shift-expression: + additive-expression + shift-expression '<<' additive-expression + shift-expression '>>' additive-expression + +relational-expression: + shift-expression + relational-expression '<' shift-expression + relational-expression '>' shift-expression + relational-expression '<=' shift-expression + relational-expression '>=' shift-expression + +identical-expression: + relational-expression + identical-expression '===' relational-expression + identical-expression '!==' relational-expression + +equality-expression: + identical-expression + equality-expression '==' identical-expression + equality-expression '!=' identical-expression + +and-expression: + equality-expression + and-expression '&' equality-expression + +exclusive-or-expression: + and-expression + exclusive-or-expression '^' and-expression + +inclusive-or-expression: + exclusive-or-expression + inclusive-or-expression '|' exclusive-or-expression + +boolean-and-expression: + inclusive-or-expression + boolean-and-expression '&&' inclusive-or-expression + +boolean-or-expression: + boolean-and-expression + boolean-or-expression '||' boolean-and-expression + +logical-and-expression: + boolean-or-expression + logical-and-expression 'AND' boolean-or-expression + +logical-exclusive-or-expression: + logical-and-expression + logical-exclusive-or-expression 'XOR' logical-and-expression + +logical-inclusive-or-expression: + logical-exclusive-or-expression + logical-inclusive-or-expression 'OR' logical-exclusive-or-expression + +# end + +type-name: one of + 'string' 'unset' 'array' 'object' + boolean-type-name double-type-name integer-type-name + +boolean-type-name: one of + 'bool' 'boolean' + +double-type-name: one of + 'real' 'double' 'float' + +integer-type-name: one of + 'int' 'integer' + constant: integer-constant floating-constant

« previous php.lang (#76) next »