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

From: Date: Fri, 17 Nov 2000 23:02:12 +0000
Subject: cvs: php-lang / c-like-syntax-spec.txt
Groups: php.lang 
Request: Send a blank email to php-lang+get-14@lists.php.net to get a copy of this message
sas Fri Nov 17 15:02:12 2000 EDT Added files: /php-lang c-like-syntax-spec.txt Log: This is a very rough draft of how the syntax specification could look like. It is completely incomplete. Operators, precedence, everything is missing. And I'm prepared to throw it away. ;-) Index: php-lang/c-like-syntax-spec.txt +++ php-lang/c-like-syntax-spec.txt # $Id: c-like-syntax-spec.txt,v 1.1 2000/11/17 23:02:12 sas Exp $ # # See Language_Notation.txt for notation notes statement-list: statement statement-list statement statement: labeled-statement expression-statement inclusion-statement compound-statement selection-statement iteration-statement jump-statement output-statement labeled-statement: 'case' constant ':' statement 'default' ':' statement expression-statement: [expression] ';' inclusion-statement: 'include' expression ';' 'include_once' expression ';' 'require' constant ';' 'require_once' constant ';' compound-statement: '{' [statement-list] '}' selection-statement: 'if' '(' expression ')' statement 'if' '(' expression ')' statement 'else' statement 'switch' '(' expression ')' statement iteration-statement: 'for' '(' [expression] ';' [expression] ';' [expression] ')' for-statement 'while' '(' expression ')' while-statement jump-statement: 'continue' ';' 'break' ';' 'return' [expression] ';' output-statement: 'echo' expression-list ';' 'print' expression ';' for-statement: statement ':' statement-list 'endfor' ';' while-statement: statement ':' statement-list 'endwhile' ';' switch-statement: '{' [labeled-statement] '}' function-definition: 'function' function-declarator compound-statement function-declarator: identifier '(' [parameter-list] ')' parameter-list: parameter-declaration parameter-list ',' parameter-declaration parameter-declaration: variable variable '=' constant class-definition: 'class' class-declarator class-body class-declarator: identifier identifier 'extends' identifier class-body: '{' [class-element-list] '}' class-element-list: class-element class-element-list class-element class-element: class-property function-definition class-property: 'var' variable ';' 'var' variable '=' constant ';' expression-list: expression expression-list ',' expression variable: '$' identifier expression: postfix-expression string-constant interpolated-string postfix-expression: variable primary-expression postfix-expression '[' expression ']' postfix-expression '->' '{' expression '}' postfix-expression '->' identifier identifier '(' [expression-list] ')' postfix-expression '.' expression primary-expression: constant string-literal '(' expression ')' constant: integer-constant floating-constant character-constant integer-constant: decimal-constant octal-constant hexadecimal-constant decimal-constant: nonzero-digit decimal-constant digit octal-constant: '0' octal-constant octal-digit hexadecimal-constant: hexadecimal-prefix hexadecimal-digit hexadecimal-constant hexadecimal-digit hexadecimal-prefix: one of '0x' '0X' floating-constant: fractional-constant [exponent-part] digit-sequence [exponent-part] fractional-constant: [digit-sequence] '.' digit-sequence digit-sequence '.' exponent-part: 'e' [sign] digit-sequence 'E' [sign] digit-sequence sign: one of '+' '-' digit-sequence: digit digit-sequence digit interpolated-string: '"' [i-char-sequence] '"' character-constant: '"' [s-char-sequence] '"' ''' [c-char-sequence] ''' i-char-sequence: i-char i-char-sequence i-char s-char-sequence: s-char s-char-sequence s-char c-char-sequence: c-char c-char-sequence c-char i-char: any member of the source character set except the double-quote, backslash, or the new-line character. escape-sequence s-char: any member of the source character set except the double-quote, backslash, new-line character, or the dollar-sign. escape-sequence c-char: any member of the source character set except the single-quote, backslash, or the new-line character. escape-sequence escape-sequence: simple-escape-sequence octal-escape-sequence hexadecimal-escape-sequence simple-escape-esquence: one of '\'' '\"' '\?' '\\' '\a' '\b' '\f' '\n' '\r' '\t' '\v' octal-escape-sequence: '\' octal-digit [octal-digit] [octal-digit] hexadecimal-escape-sequence: '\x' hexadecimal-digit hexadecimal-escape-sequence hexadecimal-digit hexadecimal-digit: matching 0-9a-fA-F octal-digit: matching 0-7 identifier: nondigit identifier nondigit identifier digit nondigit: matching _a-zA-Z nonzero-digit: matching 1-9 digit: matching 0-9

« previous php.lang (#14) next »